Интеграция с панелью управления Enhance
Обзор
Enhance — это современная панель управления, которая обеспечивает мощную автоматизацию хостинга и возможности управления. Эта интеграция позволяет автоматически синхронизировать домены и управлять сертификатами SSL между Ultimate Multisite и панел ью управления Enhance.
Связанный обсуждение: См. GitHub Discussion #265 для советов сообщества и дополнительной информации.
Возможности
- Автоматическая синхронизация доменов при их привязке в Ultimate Multisite
- Автоматическое выдавание сертификатов SSL через LetsEncrypt при разрешении DNS
- Поддержка поддоменов для сетей, работающих в режиме поддоменов
- Удаление домена при удалении привязки
- Тестирование соединения для проверки учетных данных API
Требования
Системные требования
- Установлена и доступна панель управления Enhance
- Установка WordPress Multisite размещена на сервере Enhance или подключена к нему
- Веб-сервер Apache (Enhance в настоящее время поддерживает конфигурации Apache; LiteSpeed Enterprise доступен по сниженной цене)
Доступ к API
Вы должны иметь административный доступ к панели управления Enhance, чтобы создавать токены API.
Получение ваших учетных данных API
1. Создание токена API
- Войдите в панель управления Enhance как администратор
- Нажмите Settings в меню навигации
- Перейдите в Access Tokens
- Нажмите Create Token
- Укажите описательное имя токена (например, "Ultimate Multisite Integration")
- Назначьте роль System Administrator
- Для даты истечения срока действия:
- Оставьте пустым, если хотите, чтобы токен никогда не истекал
- Или установите конкретную дату истечения срока для целей безопасности
- Нажмите Create
После создания в вашем интерфейсе отобразятся Access Token и Organization ID. Сохраните их сразу, так как токен будет показан только один раз.
2. Получение вашего Organization ID
Organization ID отображается на странице Access Tokens в синем информационном блоке с надписью "Org ID: {your_id}".
Organization ID — это UUID, отформатированный как: d8554b6d-5d0d-6719-009b-fec1189aa8f3
Вы также можете найти Organization ID клиента, выполнив:
- Перейдите на страницу Customers
- Нажмите Manage customer для соответствующего клиента
- Посмотрите URL — Organization ID — это буквенно-цифровые символы после
/customers/
3. Получение вашего Server ID
Чтобы найти ваш Server ID (необходимый для операций с доменами):
- В панели управления Enhance перейдите в Servers
- Нажмите на сервер, где запущена ваша установка WordPress
- Server ID (в формате UUID) будет виден в URL или в деталях сервера
- В качестве альтернативы вы можете использовать API для получения списка серверов:
curl -s -X GET https://your-enhance-panel.com/api/servers \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" | jq
Server ID имеет формат UUID: 00000000-0000-0000-0000-000000000000
4. Получение вашего API URL
Ваш API URL — это URL панели управления Enhance с добавленным /api/:
https://your-enhance-panel.com/api/
Важно: Путь /api/ обязателен. Распространенные ошибки:
- Использование только домена без
/api/ - Использование HTTP вместо HTTPS (HTTPS требуется для безопасности)
Конфигурация
Необходимые константы
Добавьте следующие константы в файл wp-config.php:
// Enhance Control Panel Integration
define('WU_ENHANCE_API_TOKEN', 'your-bearer-token-here');
define('WU_ENHANCE_API_URL', 'https://your-enhance-panel.com/api/');
define('WU_ENHANCE_SERVER_ID', 'your-server-uuid-here');
Настройка через мастер интеграции
- В админке WordPress перейдите в Ultimate Multisite > Settings
- Перейдите на вкладку Integrations
- Найдите Enhance Control Panel Integration и нажмите Configuration
- Мастер проведет вас через настройку:
- Шаг 1: Введение и обзор функций
- Шаг 2: Введите ваши учетные данные API (Token, API URL, Server ID)
- Шаг 3: Проверьте соединение
- Шаг 4: Проверьте и активируйте
Вы можете выбрать:
- Позволить мастеру автоматически добавить константы в ваш файл
wp-config.php - Скопировать определения констант и добавить их вручную
Дополнительная конфигурация WordPress
На основе отзывов сообщества (Discussion #265), возможно, вам понадобится настроить сле дующие дополнительные параметры:
Конфигурация .htaccess
Если вы столкнулись с проблемами привязки доменов:
- Удалите оригинальный файл
.htaccessEnhance - Замените его стандартным файлом
.htaccessWordPress Multisite
Константы cookie
Добавьте эти константы в wp-config.php, чтобы обеспечить правильную работу cookie на привязанных доменах:
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');
Как это работает
Когда домен привязан
- Пользователь привязывает пользовательский домен в Ultimate Multisite (или создается новый сайт в режиме поддоменов)
- Интеграция отправляет POST-запрос к API Enhance:
/servers/{server_id}/domains - Enhance добавляет домен в конфигурацию вашего сервера
- Когда DNS указывает на ваш сервер, Enhance автоматически выдаёт сертификат SSL через LetsEncrypt
- Домен становится активным с HTTPS
Когда домен удаляется
- Привязка домена удалена в Ultimate Multisite
- Интеграция запрашивает Enhance, чтобы найти ID домена
- Отправляется DELETE-запрос:
/servers/{server_id}/domains/{domain_id} - Enhance удаляет домен из конфигурации вашего сервера
Проверка DNS и SSL
Ultimate Multisite включает встроенную проверку DNS и SSL:
- Вы можете настроить интервал проверки в Domain Mapping Settings (по умолчанию: 300 секунд/5 минут)
- Система проверит распространение DNS перед тем, как пометить домен как активный
- Проверка действительности сертификата SSL выполняется автоматически
- Enhance автоматически обрабатывает выдачу SSL, поэтому ручная настройка SSL не требуется
Проверка настройки
Тестирование соединения
- В мастере интеграции используйте шаг Test Connection
- Плагин попытается получить список доменов на вашем сервере
- Успешное сообщение подтверждает:
- Учетные данные API корректны
- API URL доступен
- Server ID действителен
- Разрешения правильно установлены
После привязки домена
- Привяжите тестовый домен в Ultimate Multisite
- Проверьте журналы Ultimate Multisite (Ultimate Multisite > Logs > integration-enhance)
- Проверьте в панели управления Enhance, что домен был добавлен:
- Перейдите в Servers > Your Server > Domains
- Новый домен должен появиться в списке
- После распространения DNS проверьте, что SSL автоматически выдан
Устранение неполадок
Проблемы с подключением к API
Ошибка: "Не удалось подключиться к Enhance API"
- Убедитесь, что
WU_ENHANCE_API_URLсодержит/api/в конце - Убедитесь, что вы используете HTTPS, а не HTTP
- Проверьте, что панель Enhance доступна с вашего сервера WordPress
- Убедитесь, что нет правил брандмауэра, блокирующих соединение
Ошибка: "Enhance API Token not found"
- Убедитесь, что
WU_ENHANCE_API_TOKENопределён вwp-config.php - Убедитесь, что токен не удалён и не истёк в Enhance
- Проверьте наличие опечаток в значении токена
Ошибка: "Server ID is not configured"
- Убедитесь, что
WU_ENHANCE_SERVER_IDопределён вwp-config.php - Убедитесь, что Server ID имеет корректный формат UUID
- Убедитесь, что сервер существует в вашей панели Enhance
Домен не добавлен
Проверьте журналы:
- Перейдите в Ultimate Multisite > Logs
- Отфильтруйте по integration-enhance
- Найдите сообщения об ошибках, указывающие на проблему
Распространённые причины:
- Неверный формат имени домена
- Домен уже существует в Enhance
- Недостаточные права API (убедитесь, что токен имеет роль System Administrator)
- Server ID не совпадает с реальным сервером в Enhance
Проблемы с сертификатом SSL
SSL не выдается:
- Убедитесь, что DNS указывает на IP-адрес вашего сервера
- Проверьте, что домен корректно разрешается:
nslookup yourdomain.com - Enhance требует, чтобы DNS разрешался, прежде чем выдавать SSL
- Выдача SSL обычно занимает 5-10 минут после распространения DNS
- Проверьте журналы панели Enhance для ошибок, связанных с SSL
Ручное устранение неполадок SSL в Enhance:
- Перейдите в Servers > Your Server > Domains
- Найдите ваш домен и проверьте его статус SSL
- При необходимости вы можете вручную инициировать выдачу SSL
Интервал проверки DNS
Если домены или сертификаты SSL активируются слишком медленно:
- Перейдите в Ultimate Multisite > Settings > Domain Mapping
- Найдите настройку DNS Check Interval
- Уменьшите значение от 300 секунд до более низкого (минимум: 10 секунд)
- Примечание: Более короткие интервалы означают более частые проверки, но повышают нагрузку на сервер
Ошибки аутентификации
Ошибки HTTP 401/403:
- Сгенерируйте новый токен API в Enhance
- Убедитесь, что токен имеет роль System Administrator
- Убедитесь, что токен не истёк
- Убедитесь, что вы используете правильный Organization ID (хотя обычно он не требуется в URL)
Анализ журналов
Включите подробное логирование:
// Add to wp-config.php for enhanced debugging
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Затем проверьте журналы в:
- Журналы Ultimate Multisite: Ultimate Multisite > Logs
- Журнал отладки WordPress:
wp-content/debug.log - Журналы панели Enhance: доступны в админском интерфейсе Enhance
Справка API
Аутентификация
Все запросы к API используют аутентификацию Bearer токеном:
Authorization: Bearer YOUR_TOKEN_HERE
Часто используемые конечные точки
Список серверов:
GET /servers
Список доменов на сервере:
GET /servers/{server_id}/domains
Добавление домена:
POST /servers/{server_id}/domains
Body: {"domain": "example.com"}
Удаление домена:
DELETE /servers/{server_id}/domains/{domain_id}
Полная документация API
Полная документация API: https://apidocs.enhance.com
Лучшие практики
Безопасность
- Никогда не сохраняйте токены API в системе контроля версий
- Храните токены в
wp-config.php, который должен быть исключён из Git - Используйте токены с соответствующими правами (System Administrator для полной интеграции)
- Установите даты истечения токенов для продакшн-сред
- Периодически меняйте токены
Производительность
- Используйте интервал проверки DNS по умолчанию (300 секунд), чтобы избежать чрезмерных запросов к API
- Мониторьте ресурсы сервера Enhance при выполнении масштабных операций с доменами
- Рассмотрите возможность поочередного добавления доменов, если привязываете много доменов одновременно
Мониторинг
- Регулярно проверяйте журналы Ultimate Multisite на наличие ошибок интеграции
- Настройте мониторинг неудачных добавлений доменов
- Убедитесь, что сертификаты SSL выдаются корректно
- Следите за ёмкостью сервера Enhance и лимитами доменов
Дополнительные ресурсы
- Официальная документация Enhance: https://enhance.com/docs
- Документация API Enhance: https://apidocs.enhance.com
- Форум сообщества Enhance: https://community.enhance.com
- GitHub Discussion: Issue #265 - Enhance Integration Tips
- Ultimate Multisite Domain Mapping Guide: См. страницу wiki "How to Configure Domain Mapping v2"
Поддержка
Если вы столкнулись с проблемами:
- Проверьте раздел Устранение неполадок выше
- Проверьте журналы Ultimate Multisite
- Обратитесь к GitHub Discussions
- Свяжитесь со службой поддержки Enhance для вопросов, связанных с панелью
- Создайте новое обсуждение с подробными журналами ошибок для помощи сообщества
Примечания
- Эта интеграция обрабатывает только псевдонимы доменов; Enhance автоматически управляет SSL
- Интеграция поддерживает как привязку пользовательских доменов, так и сайты на основе поддоменов
- Автоматическое создание поддомена www можно настроить в настройках привязки доменов
- Enhance в настоящее время поддерживает конфигурации Apache (LiteSpeed Enterprise доступен)
- Удаление домена из Ultimate Multisite удалит домен из Enhance, но может не удалить связанные сертификаты SSL немедленно