Перейти к основному содержимому

Интеграция с панелью управления 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

  1. Войдите в панель управления Enhance как администратор
  2. Нажмите Settings в меню навигации
  3. Перейдите в Access Tokens
  4. Нажмите Create Token
  5. Укажите описательное имя токена (например, "Ultimate Multisite Integration")
  6. Назначьте роль System Administrator
  7. Для даты истечения срока действия:
    • Оставьте пустым, если хотите, чтобы токен никогда не истекал
    • Или установите конкретную дату истечения срока для целей безопасности
  8. Нажмите 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 клиента, выполнив:

  1. Перейдите на страницу Customers
  2. Нажмите Manage customer для соответствующего клиента
  3. Посмотрите URL — Organization ID — это буквенно-цифровые символы после /customers/

3. Получение вашего Server ID

Чтобы найти ваш Server ID (необходимый для операций с доменами):

  1. В панели управления Enhance перейдите в Servers
  2. Нажмите на сервер, где запущена ваша установка WordPress
  3. Server ID (в формате UUID) будет виден в URL или в деталях сервера
  4. В качестве альтернативы вы можете использовать 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');

Настройка через мастер интеграции

  1. В админке WordPress перейдите в Ultimate Multisite > Settings
  2. Перейдите на вкладку Integrations
  3. Найдите Enhance Control Panel Integration и нажмите Configuration
  4. Мастер проведет вас через настройку:
    • Шаг 1: Введение и обзор функций
    • Шаг 2: Введите ваши учетные данные API (Token, API URL, Server ID)
    • Шаг 3: Проверьте соединение
    • Шаг 4: Проверьте и активируйте

Вы можете выбрать:

  • Позволить мастеру автоматически добавить константы в ваш файл wp-config.php
  • Скопировать определения констант и добавить их вручную

Дополнительная конфигурация WordPress

На основе отзывов сообщества (Discussion #265), возможно, вам понадобится настроить следующие дополнительные параметры:

Конфигурация .htaccess

Если вы столкнулись с проблемами привязки доменов:

  1. Удалите оригинальный файл .htaccess Enhance
  2. Замените его стандартным файлом .htaccess WordPress Multisite

Добавьте эти константы в wp-config.php, чтобы обеспечить правильную работу cookie на привязанных доменах:

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');

Как это работает

Когда домен привязан

  1. Пользователь привязывает пользовательский домен в Ultimate Multisite (или создается новый сайт в режиме поддоменов)
  2. Интеграция отправляет POST-запрос к API Enhance: /servers/{server_id}/domains
  3. Enhance добавляет домен в конфигурацию вашего сервера
  4. Когда DNS указывает на ваш сервер, Enhance автоматически выдаёт сертификат SSL через LetsEncrypt
  5. Домен становится активным с HTTPS

Когда домен удаляется

  1. Привязка домена удалена в Ultimate Multisite
  2. Интеграция запрашивает Enhance, чтобы найти ID домена
  3. Отправляется DELETE-запрос: /servers/{server_id}/domains/{domain_id}
  4. Enhance удаляет домен из конфигурации вашего сервера

Проверка DNS и SSL

Ultimate Multisite включает встроенную проверку DNS и SSL:

  • Вы можете настроить интервал проверки в Domain Mapping Settings (по умолчанию: 300 секунд/5 минут)
  • Система проверит распространение DNS перед тем, как пометить домен как активный
  • Проверка действительности сертификата SSL выполняется автоматически
  • Enhance автоматически обрабатывает выдачу SSL, поэтому ручная настройка SSL не требуется

Проверка настройки

Тестирование соединения

  1. В мастере интеграции используйте шаг Test Connection
  2. Плагин попытается получить список доменов на вашем сервере
  3. Успешное сообщение подтверждает:
    • Учетные данные API корректны
    • API URL доступен
    • Server ID действителен
    • Разрешения правильно установлены

После привязки домена

  1. Привяжите тестовый домен в Ultimate Multisite
  2. Проверьте журналы Ultimate Multisite (Ultimate Multisite > Logs > integration-enhance)
  3. Проверьте в панели управления Enhance, что домен был добавлен:
    • Перейдите в Servers > Your Server > Domains
    • Новый домен должен появиться в списке
  4. После распространения 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

Домен не добавлен

Проверьте журналы:

  1. Перейдите в Ultimate Multisite > Logs
  2. Отфильтруйте по integration-enhance
  3. Найдите сообщения об ошибках, указывающие на проблему

Распространённые причины:

  • Неверный формат имени домена
  • Домен уже существует в 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:

  1. Перейдите в Servers > Your Server > Domains
  2. Найдите ваш домен и проверьте его статус SSL
  3. При необходимости вы можете вручную инициировать выдачу SSL

Интервал проверки DNS

Если домены или сертификаты SSL активируются слишком медленно:

  1. Перейдите в Ultimate Multisite > Settings > Domain Mapping
  2. Найдите настройку DNS Check Interval
  3. Уменьшите значение от 300 секунд до более низкого (минимум: 10 секунд)
  4. Примечание: Более короткие интервалы означают более частые проверки, но повышают нагрузку на сервер

Ошибки аутентификации

Ошибки 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 и лимитами доменов

Дополнительные ресурсы

Поддержка

Если вы столкнулись с проблемами:

  1. Проверьте раздел Устранение неполадок выше
  2. Проверьте журналы Ultimate Multisite
  3. Обратитесь к GitHub Discussions
  4. Свяжитесь со службой поддержки Enhance для вопросов, связанных с панелью
  5. Создайте новое обсуждение с подробными журналами ошибок для помощи сообщества

Примечания

  • Эта интеграция обрабатывает только псевдонимы доменов; Enhance автоматически управляет SSL
  • Интеграция поддерживает как привязку пользовательских доменов, так и сайты на основе поддоменов
  • Автоматическое создание поддомена www можно настроить в настройках привязки доменов
  • Enhance в настоящее время поддерживает конфигурации Apache (LiteSpeed Enterprise доступен)
  • Удаление домена из Ultimate Multisite удалит домен из Enhance, но может не удалить связанные сертификаты SSL немедленно