Интеграция с Cloudways
Обзор
Cloudways — это управляемая платформа хостинга в облаке, которая позволяет вам развертывать сайты на WordPress на различных облачных провайдерах, таких как DigitalOcean, AWS, Google Cloud и других. Эта интеграция обеспечивает автоматическую синхронизацию доменов и управление SSL-сертификатами между Ultimate Multisite и Cloudways.
Возможности
- Автоматическая синхронизация доменов
- Управление SSL-сертификатами
- Поддержка дополнительных доменов
- Валидация DNS для SSL-сертификатов
Требования
Следующие константы должны быть определены в вашем файле wp-config.php:
define('WU_CLOUDWAYS_EMAIL', 'your_cloudways_email');
define('WU_CLOUDWAYS_API_KEY', 'your_api_key');
define('WU_CLOUDWAYS_SERVER_ID', 'your_server_id');
define('WU_CLOUDWAYS_APP_ID', 'your_app_id');
Опционально вы также можете определить:
define('WU_CLOUDWAYS_EXTRA_DOMAINS', 'список доменов, разделенный запятыми');
Инструкции по настройке
1. Получите учетные данные API Cloudways
- Войдите в панель управления Cloudways
- Перейдите в "Account" (Учетная запись) > "API Keys" (API-ключи)
- Сгенерируйте API-ключ, если у вас его еще нет
- Скопируйте свой email и API-ключ
2. Получите ID вашего сервера и приложения
- В панели управления Cloudways перейдите в "Servers" (Серверы)
- Выберите сервер, на котором размещен ваш мультисайт WordPress
- Server ID можно увидеть в URL:
https://platform.cloudways.com/server/{SERVER_ID} - Перейдите в "Applications" (Приложения) и выберите ваше приложение WordPress
- App ID можно увидеть в URL:
https://platform.cloudways.com/server/{SERVER_ID}/application/{APP_ID}
3. Добавьте константы в wp-config.php
Добавьте следующие константы в ваш файл wp-config.php:
define('WU_CLOUDWAYS_EMAIL', 'your_cloudways_email');
define('WU_CLOUDWAYS_API_KEY', 'your_api_key');
define('WU_CLOUDWAYS_SERVER_ID', 'your_server_id');
define('WU_CLOUDWAYS_APP_ID', 'your_app_id');
Если у вас есть дополнительные внешние домены (за пределами вашей сети мультисайта), которые всегда должны оставаться в списке псевдонимов Cloudways:
define('WU_CLOUDWAYS_EXTRA_DOMAINS', 'extradomain1.com,extradomain2.com');
Не добавляйте *.your-network.com (или любой другой шаблон поддомена вашей сети) в
WU_CLOUDWAYS_EXTRA_DOMAINS. Посмотрите Важно — ловушка с SSL-сертификатами для каждого арендатора ниже, чтобы понять, почему это мешает выдаче SSL-сертификатов для каждого отдельного арендатора.
4. Включите интеграцию
- В админке WordPress перейдите в Ultimate Multisite > Settings (Настройки)
- Перейдите на вкладку "Domain Mapping" (Сопоставление доменов)
- Прокрутите вниз до раздела "Host Integrations" (Интеграции хостов)
- Включите интеграцию Cloudways
- Нажмите "Save Changes" (Сохранить изменения)
Как это работает
Синхронизация доменов
Когда домен сопоставляется в Ultimate Multisite:
- Интеграция получает все текущие сопоставленные домены
- Она добавляет новый домен в список (вместе с версией www, если применимо)
- Она отправляет по лный список в Cloudways через API
- Cloudways обновляет псевдонимы доменов для вашего приложения
Обратите внимание: API Cloudways требует отправлять полный список доменов каждый раз, а не просто добавлять или удалять отдельные домены.
Управление SSL-сертификатами
После синхронизации доменов:
- Интеграция проверяет, какие домены имеют действительные DNS-записи, указывающие на ваш сервер
- Она отправляет запрос в Cloudways для установки SSL-сертификатов Let's Encrypt для этих доменов
- Cloudways занимается выдачей и установкой SSL-сертификатов
Интеграция всегда запрашивает стандартные (не подзаменяемые) сертификаты Let's Encrypt от Cloudways. Если в WU_CLOUDWAYS_EXTRA_DOMAINS указан шаблон с диким символом (*.), то ведущий *. удаляется перед запросом SSL — сам дикий символ никогда не устанавливается этой интеграцией. Чтобы использовать сертификат с диким символом на Cloudways, вам придется установить его вручную, но это блокирует выдачу Let's Encrypt для каждого домена в сопоставленных пользовательских доменах (см. подводный камень ниже).
Дополнительные домены
Константа WU_CLOUDWAYS_EXTRA_DOMAINS позволяет указать дополнительные внешние домены, которые всегда должны оставаться в списке псевдонимов приложения Cloudways. Используйте ее для:
- Внешних доменов, которыми не управляет Ultimate Multisite (например, отдельный маркетинговый сайт, использующий то же приложение Cloudways).
- Доменов, находящихся в режиме паркинга или стейджинга, которые вы хотите оставить в списке псевдонимов приложения.
Не используйте эту константу для поддоменного дикого символа вашей собственной сети (например, *.your-network.com). См. подводный камень с SSL-сертификатами с диким символом ниже.
Важно — Подводный к амень с сертификатами SSL с диким символом
Частая ошибка при следовании настройкам по умолчанию в Cloudways заключается в добавлении такого шаблона, как *.your-network.com, в WU_CLOUDWAYS_EXTRA_DOMAINS, или ручной установке сертификата SSL с диким символом Cloudways для этого шаблона.
Если вы это сделаете, Cloudways откажется выдавать сертификаты Let's Encrypt для пользовательских доменов каждого арендатора, которые сопоставляет Ultimate Multisite. Cloudways заменяет активный SSL-сертификат на приложении каждый раз, и уже существующий сертификат с диким символом на приложении блокирует выдачу Let's Encrypt для каждого домена, на которое полагается интеграция.
Рекомендуемая настройка SSL в Cloudways для сети Ultimate Multisite
- Дар вкладка SSL Certificate дар додани иловаси Let's Encrypt standart certificate-ро тасвир кунед, ки танҳо
your-network.comваwww.your-network.com-ро кабуд мегирад — на як wildcard (мавҷудоти мувофиқ). *.your-network.com(ёё ҳар ягон намунаи поддоминии шабакаи худ) -ро дарWU_CLOUDWAYS_EXTRA_DOMAINSнагузоред. Ин константаро танҳо барои шабакаҳои беруна пешникӣ кунед.- Поддоминиҳои wildcard-ро барои ҳар як муваққати (tenant) танҳо дар сатҳи DNS сохтаред (record-и
Aбарои*.your-network.com, ки ба IP-и сервер Cloudways-и шумо нишон дорад), то поддоминиҳо ҳалли шавӣ кунанд. Шахсиятҳои SSL барои доменоҳои махсуси муайяншуда (mapped custom domains) бо таври автоматик аз ҷониби интегратсия тавассути Let's Encrypt илова карда мешаванд.
Агар доменҳои махсуси муваққатии корбарони шумо бе SSL мондаанд, вкладка Cloudways-ро барои SSL бадиққат кунед. Агар дар он сертификати wildcard фаъол бошад, онро бартарӣ кунед, сертификати стандарт Let's Encrypt-ро танҳо барои домени асосии шабака илова ка рде ва ҳар як воридшавии wildcard аз WU_CLOUDWAYS_EXTRA_DOMAINS-ро бартарӣ кунед. Пас аз ин, тасвири мувофиқ (domain mapping) -ро дигар бошаред (ё интизори дигари онро кунед) ва интегратсия боз оғоз мекунад, ки сертификатҳои ҳар як доменро илова карда шаванд.
Ҳалли мушкилот (Troubleshooting)
Мушкилоти пайвастшавии API
- Тасдиқ кунед, ки почтаи электронӣ ва API key-и шумо дурустанд.
- Барои он тасдиқ кунед, ки ID-и сервер ва иловаси (application IDs) шумо дурустанд.
- Иштиҳсоли онро таъмин кунед, ки ҳисоби Cloudways-и шумо иҷозатҳои зарурӣ дорад.
Masalalari SSL Certificate
- Cloudways талаб дорад, ки аввал сертификатҳоро медиманд DNS номҳои вали настӣ ба сервери шумо нишон диҳанд.
- Интеграт DNS номҳоро пеш аз дархости сертификатҳо тасдиқ мекунад.
- Агар сертификатҳо медиманд, санҷед, ки доменҳои шумо дуруст ба арсали IP адрес сервери шумо нишон дода шудаанд.
- Доменҳои хоси ҳар як корманди (Per-tenant custom domains) боиси мушкилот аз SSL нест? Ба таббии Certificate-и Cloudways мурафиат кунед. Агар сертификати wildcard (ки ба таври рушд намоён шудааст, ё
*.your-network.com-ро дар бар мегирад) фаъол бошад, Cloudways барои доменҳои хоси алоҳида нишон додашуда Let's Encrypt сертификатҳо медиманд. Онро ба сертификати стандарт Let's Encrypt мувофиқ кунед, ки танҳо домени асосии шабака (your-network.com,www.your-network.com) -ро дар бар мегирад ва ҳар як номи wildcard азWU_CLOUDWAYS_EXTRA_DOMAINSбартараф кунед. Пас аз ин, тасдиқи домен (domain mapping) -ро такрор кунед (ё барои онҳо интизори навбатиии дигарро кунед) ва интеграт сертификатҳои ҳар як доменро дархост мекунад.
Домен Нагоҳидашуда Нангӣ
- Логҳои Ultimate Multisite-ро барои ҳама гуна хатоҳо санҷед.
- Тасдиқ намоед, ки домен аз Cloudways ба таври пешман ном дода нашудааст.
- Иттимод кунед, ки бахши (plan) Cloudways аз шумораи доменҳое, ки медонед илова мекунед, дастгирӣ мекунад.