Enhance Control Panel Integración
Visión general
Enhance es un panel de control moderno que ofrece potentes capacidades de automatización y gestión de hosting. Esta integración permite la sincronización automática de dominios y la gestión de certificados SSL entre Ultimate Multisite y Enhance Control Panel.
Discusión relacionada: Ver GitHub Discussion #265 para consejos de la comunidad e información adicional.
Características
- Sincronización automática de dominios cuando se asignan dominios en Ultimate Multisite
- Provisionamiento automático de certificados SSL vía LetsEncrypt cuando el DNS se resuelve
- Soporte de subdominios para redes que operan en modo subdominio
- Eliminación de dominio cuando se borran las asignaciones
- Prueba de conexión para verificar credenciales API
Requisitos
Requisitos del sistema
- Panel de control Enhance instalado y accesible
- Instalación de WordPress Multisite alojada o conectada a un servidor Enhance
- Servidor web Apache (Enhance actualmente soporta configuraciones Apache; LiteSpeed Enterprise está disponible a costo reducido)
Acceso a la API
Debes tener acceso de administrador al Panel de control Enhance para crear tokens API.
Obtención de tus credenciales API
1. Crear un token API
- Inicia sesión en tu Panel de control Enhance como administrador
- Haz clic en Configuración en el menú de navegación
- Navega a Tokens de acceso
- Haz clic en Crear token
- Asigna al token un nombre descriptivo (p. ej., "Ultimate Multisite Integration")
- Asigna el rol Administrador del sistema
- Para la fecha de expiración:
- Deja vacío si deseas que el token nunca expire
- O establece una fecha de expiración específica por motivos de seguridad
- Haz clic en Crear
Después de la creación, se mostrarán tu Access Token y Organization ID. Guárdalos inmediatamente ya que el token solo se mostrará una vez.
2. Obtener tu ID de organización
El ID de organización se muestra en la página de Tokens de acceso en un cuadro de información azul etiquetado "Org ID: {your_id}".
El ID de organización es un UUID con formato como: d8554b6d-5d0d-6719-009b-fec1189aa8f3
También puedes encontrar el ID de organización de un cliente de la siguiente manera:
- Ir a la página Clientes
- Haz clic en Gestionar cliente para el cliente relevante
- Observa la URL - el ID de organización son los caracteres alfanuméricos después de
/customers/
3. Obtener tu ID de servidor
Para encontrar tu ID de servidor (requerido para operaciones de dominio):
- En el Panel de control Enhance, navega a Servidores
- Haz clic en el servidor donde se ejecuta tu instalación de WordPress
- El ID de servidor (formato UUID) será visible en la URL o en los detalles del servidor
- Alternativamente, puedes usar la API para listar servidores:
curl -s -X GET https://your-enhance-panel.com/api/servers \
-H "Accept: application/json" \
-H "Authorization: Bearer YOUR_TOKEN" | jq
El ID de servidor sigue el formato UUID: 00000000-0000-0000-0000-000000000000
4. Obtener tu URL API
Tu URL API es la URL de tu Panel de control Enhance con /api/ añadido:
https://your-enhance-panel.com/api/
Importante: La ruta /api/ es obligatoria. Los errores comunes incluyen:
- Usar solo el dominio sin
/api/ - Usar HTTP en lugar de HTTPS (HTTPS es obligatorio por seguridad)
Configuración
Constantes requeridas
Añade las siguientes constantes a tu archivo 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');
Configuración mediante el Asistente de Integración
- En tu administrador de WordPress, ve a Ultimate Multisite > Settings
- Navega a la pestaña Integrations
- Busca Enhance Control Panel Integration y haz clic en Configuración
- El asistente te guiará a través de la configuración:
- Paso 1: Introducción y descripción de características
- Paso 2: Ingresa tus credenciales API (Token, URL API, ID de servidor)
- Paso 3: Prueba la conexión
- Paso 4: Revisa y activa
Puedes elegir:
- Permitir que el asistente inyecte las constantes en tu archivo
wp-config.phpautomáticamente - Copiar las definiciones de constantes y agregarlas manualmente
Configuración adicional de WordPress
Según los comentarios de la comunidad (Discussion #265), es posible que necesites configurar estos ajustes adicionales:
Configuración de .htaccess
Si experimentas problemas con el mapeo de dominios:
- Elimina el archivo
.htaccessoriginal de Enhance - Sustituye con el archivo estándar
.htaccessde WordPress Multisite
Constantes de cookie
Añade estas constantes a wp-config.php para asegurar un manejo correcto de las cookies en dominios mapeados:
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIEPATH', '/');
define('ADMIN_COOKIE_PATH', '/');
Cómo funciona
Cuando se mapea un dominio
- Un usuario mapea un dominio personalizado en Ultimate Multisite (o se crea un nuevo sitio en modo subdominio)
- La integración envía una solicitud POST a la API de Enhance:
/servers/{server_id}/domains - Enhance agrega el dominio a la configuración de tu servidor
- Cuando el DNS se resuelve a tu servidor, Enhance provisiona automáticamente un certificado SSL vía LetsEncrypt
- El dominio se vuelve activo con HTTPS
Cuando se elimina un dominio
- Se elimina una asignación de dominio en Ultimate Multisite
- La integración consulta a Enhance para encontrar el ID del dominio
- Se envía una solicitud DELETE a:
/servers/{server_id}/domains/{domain_id} - Enhance elimina el dominio de la configuración de tu servidor
Verificación de DNS y SSL
Ultimate Multisite incluye verificación de DNS y SSL incorporada:
- Puedes configurar el intervalo de verificación en Configuración de mapeo de dominio (predeterminado: 300 segundos/5 minutos)
- El sistema verificará la propagación de DNS antes de marcar un dominio como activo
- La validez del certificado SSL se verifica automáticamente
- Enhance gestiona la provisión de SSL automáticamente, por lo que no se requiere configuración manual de SSL
Verificación de la configuración
Prueba de conexión
- En el Asistente de Integración, utiliza el paso Prueba de conexión
- El plugin intentará listar dominios en tu servidor
- Un mensaje de éxito confirma:
- Las credenciales API son correctas
- La URL API es accesible
- El ID de servidor es válido
- Los permisos están configurados correctamente
Después de mapear un dominio
- Mapea un dominio de prueba en Ultimate Multisite
- Revisa los registros de Ultimate Multisite (Ultimate Multisite > Logs > integration-enhance)
- Verifica en el Panel de control Enhance que el dominio fue añadido:
- Ve a Servidores > Tu Servidor > Dominios
- El nuevo dominio debería aparecer en la lista
- Una vez que el DNS se propague, verifica que el SSL se haya provisionado automáticamente
Solución de problemas
Problemas de conexión API
Error: "Failed to connect to Enhance API"
Verifica que WU_ENHANCE_API_URL incluya /api/ al final
- Aseg úrate de usar HTTPS, no HTTP
- Verifica que el panel Enhance sea accesible desde tu servidor WordPress
- Verifica que no haya reglas de firewall bloqueando la conexión
Error: "Enhance API Token not found"
- Asegúrate de que
WU_ENHANCE_API_TOKENesté definido enwp-config.php - Verifica que el token no haya sido eliminado o expirado en Enhance
- Verifica si hay errores tipográficos en el valor del token
Error: "Server ID is not configured"
- Verifica que
WU_ENHANCE_SERVER_IDesté definido enwp-config.php - Asegúrate de que el ID de servidor sea un formato UUID válido
- Confirma que el servidor exista en tu panel Enhance
Dominio no añadido
Revisa los registros:
- Ve a Ultimate Multisite > Logs
- Filtra por integration-enhance
- Busca mensajes de error que indiquen el problema
Causas comunes:
- Formato de nombre de dominio inválido
- El dominio ya existe en Enhance
- Permisos API insuficientes (asegúrate de que el token tenga el rol Administrador del sistema)
- El ID de servidor no coincide con el servidor real en Enhance
Problemas con el certificado SSL
SSL no se provisiona:
- Verifica que el DNS apunte a la dirección IP de tu servidor
- Verifica que el dominio se resuelva correctamente:
nslookup yourdomain.com - Enhance requiere que el DNS se resuelva antes de poder provisionar SSL
- La provisión de SSL suele tardar de 5 a 10 minutos después de la propagación del DNS
- Verifica los registros del Panel de control Enhance para errores específicos de SSL
Solución de problemas manual de SSL en Enhance:
- Ve a Servidores > Tu Servidor > Dominios
- Busca tu dominio y verifica su estado SSL
- Puedes activar manualmente la provisión de SSL si es necesario
Intervalo de verificación DNS
Si los dominios o certificados SSL tardan demasiado en activarse:
- Ve a Ultimate Multisite > Settings > Mapeo de dominio
- Busca la configuración Intervalo de verificación DNS
- Ajusta desde el valor predeterminado de 300 segundos a un valor menor (mínimo: 10 segundos)
- Nota: Los intervalos más cortos significan verificaciones más frecuentes pero mayor carga del servidor
Errores de autenticación
Errores HTTP 401/403:
- Regenera tu token API en Enhance
- Verifica que el token tenga el rol Administrador del sistema
- Verifica que el token no haya expirado
- Asegúrate de usar el ID de organización correcto (aunque normalmente no es necesario en la URL)
Análisis de registros
Habilita el registro detallado:
// Add to wp-config.php for enhanced debugging
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
Luego revisa los registros en:
- Registros de Ultimate Multisite: Ultimate Multisite > Logs
- Registro de depuración de WordPress:
wp-content/debug.log - Registros del panel Enhance: disponibles en la interfaz de administración de Enhance
Referencia API
Autenticación
Todas las solicitudes API utilizan autenticación con token Bearer:
Authorization: Bearer YOUR_TOKEN_HERE
Endpoints comunes utilizados
Listar servidores:
GET /servers
Listar dominios en un servidor:
GET /servers/{server_id}/domains
Agregar un dominio:
POST /servers/{server_id}/domains
Body: {"domain": "example.com"}
Eliminar un dominio:
DELETE /servers/{server_id}/domains/{domain_id}
Documentación completa de la API
Documentación completa de la API: https://apidocs.enhance.com
Mejores prácticas
Seguridad
- Nunca commits tokens API al control de versiones
- Almacena tokens en
wp-config.php, que debe excluirse de Git - Usa tokens con permisos adecuados (Administrador del sistema para la integración completa)
- Establece fechas de expiración de tokens para entornos de producción
- Rota tokens periódicamente
Rendimiento
- Usa el intervalo de verificación DNS predeterminado (300 segundos) para evitar llamadas API excesivas
- Monitorea recursos del servidor Enhance al ejecutar operaciones de dominio a gran escala
- Considera distribuir las adiciones de dominio si mapeas muchos dominios a la vez
Monitoreo
- Revisa regularmente los registros de Ultimate Multisite para errores de integración
- Configura monitoreo para adiciones de dominio fallidas
- Verifica que los certificados SSL se provisionen correctamente
- Mantén un ojo en la capacidad del servidor Enhance y los límites de dominio
Recursos adicionales
- Documentación oficial de Enhance: https://enhance.com/docs
- Documentación API de Enhance: https://apidocs.enhance.com
- Foro comunitario de Enhance: https://community.enhance.com
- Discusión de GitHub: Issue #265 - Enhance Integration Tips
- Guía de mapeo de dominios de Ultimate Multisite: Ver la página wiki "How to Configure Domain Mapping v2"
Soporte
Si encuentras problemas:
- Revisa la sección de Solución de problemas anterior
- Revisa los registros de Ultimate Multisite
- Consulta las GitHub Discussions
- Contacta al soporte de Enhance para problemas específicos del panel
- Crea una nueva discusión con registros de error detallados para asistencia comunitaria
Notas
- Esta integración maneja solo alias de dominio; Enhance gestiona SSL automáticamente
- La integración soporta tanto mapeos de dominios personalizados como sitios basados en subdominio
- La creación automática de subdominio www puede configurarse en la configuración de mapeo de dominio
- Enhance actualmente soporta configuraciones Apache (LiteSpeed Enterprise disponible)
- La eliminación de dominio desde Ultimate Multisite eliminará el dominio de Enhance pero puede que no elimine los certificados SSL asociados de inmediato