Перейти до основного вмісту

Інтеграція з Enhance Control Panel

Огляд

Enhance — це сучасна панель керування, яка надає потужні можливості для автоматизації хостингу та управління серверами. Ця інтеграція забезпечує автоматичну синхронізацію доменів та керування SSL-сертифікатами між Ultimate Multisite та Enhance Control Panel.

Пов'язане обговорення: Перегляньте GitHub Discussion #265, щоб дізнатися поради спільноти та отримати додаткову інформацію.

Можливості

  • Автоматична синхронізація доменів при їх прив'язці в Ultimate Multisite
  • Автоматичне отримання SSL-сертифікатів через LetsEncrypt після розпізнавання DNS
  • Підтримка субдоменів для мереж, що працюють у режимі субдоменів
  • Видалення доменів при скасуванні прив'язки
  • Тестування з'єднання для перевірки облікових даних API

Вимоги

Системні вимоги

  • Встановлена та доступна Enhance Control Panel
  • WordPress Multisite, розміщений на сервері Enhance або підключений до нього
  • Веб-сервер Apache (Enhance наразі підтримує конфігурації Apache; LiteSpeed Enterprise доступний за зниженою ціною)

Доступ до API

Для створення токенів API необхідно мати права адміністратора в Enhance Control Panel.

Отримання облікових даних API

1. Створення токена API

  1. Увійдіть до Enhance Control Panel як адміністратор
  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 Control Panel перейдіть до 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. Отримання URL API

URL вашого API — це URL вашої Enhance Control Panel з додаванням /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

Константи для cookies

Додайте ці константи до wp-config.php для коректної роботи cookies на прив'язаних доменах:

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 коректні
    • URL API доступний
    • Server ID дійсний
    • Права доступу налаштовані правильно

Після прив'язки домену

  1. Прив'яжіть тестовий домен в Ultimate Multisite
  2. Перевірте логи Ultimate Multisite (Ultimate Multisite > Logs > integration-enhance)
  3. Переконайтеся в Enhance Control Panel, що домен було додано:
    • Перейдіть до Servers > Your Server > Domains
    • Новий домен має з'явитися в списку
  4. Після поширення DNS переконайтеся, що SSL отримано автоматично

Вирішення проблем

Проблеми з підключенням до API

Помилка: "Failed to connect to 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 Control Panel на наявність помилок, пов'язаних з 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)

Аналіз логів

Увімкніть детальне логування:

// Додайте до wp-config.php для розширеного відлагодження
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 можна налаштувати в параметрах Domain Mapping
  • Enhance наразі підтримує конфігурації Apache (LiteSpeed Enterprise доступний)
  • Видалення домену з Ultimate Multisite призведе до видалення домену з Enhance, але пов'язані SSL-сертифікати можуть бути видалені не одразу