OpenLitesSpeed Modulo para Plesk
Al fin tenemos una versión que podemos ir probando ya en GitHub. No es la gran cosa, pero cumple el objetivo: no rompe Plesk.
En pocas palabras, tras probar el módulo, verás que hace varias cosas que permiten ponerlo en producción perfectamente:
- Instala OpenLiteSpeed.
- Configura LSCache.
- Permite configurar parámetros de LSAPI desde el propio módulo.
- Mantiene Apache intacto.
- Mantiene NGINX funcionando.
La única forma que encontré de no romper Plesk y que no afecte a las actualizaciones del panel fue añadir OpenLiteSpeed como un tercer servidor. ¿Qué quiere decir esto?
Básicamente, funciona como Apache detrás de NGINX, pero utilizando LSAPI y LSCache.
Como bien es sabido, OpenLiteSpeed no soporta del todo las directivas de un .htaccess (aunque sí soporta las reglas de Rewrite). Por lo tanto, sería una locura instalar OLS y que todo el servidor empezara a usarlo por defecto.
Así que el módulo lo que hace es añadir una opción extra en un panel centralizado para seleccionar a qué webs aplicarlo. En futuras versiones se intentará expandir para que el cliente final pueda seleccionarlo, pero por ahora el módulo está pensado para que un administrador lo active en alguna web pesada que requiera OLS + LSAPI + LSCache.
Por lo tanto, con el módulo podemos combinar y tener webs en los siguientes modos:
NGINX + PHP-FPMNGINX + Apache + PHP-FPMNGINX + Apache + FastCGINGINX + OLS + LSAPINGINX + OLS + LSAPI + LSCache
Sí, podríamos tener 5 webs en cada uno de esos modos dentro del mismo servidor; no tenemos por qué usar OLS si nuestra web necesita un .htaccess muy complicado.
El módulo intenta dar compatibilidad total, no romper Plesk e instalar el mínimo de paquetes posibles. De hecho, no necesita instalar paquetes lsphp* externos ya que reutilizamos el propio PHP que añade Plesk. En futuras versiones añadiré opciones para seleccionar la ruta del binario lsphp manualmente.
Cómo funciona el entorno híbrido
Al situar OpenLiteSpeed por debajo de NGINX pero conviviendo con Apache, el módulo hereda el flujo nativo de Plesk sin alterar su base de datos ni romper herramientas esenciales como plesk repair web. Esto garantiza que las actualizaciones oficiales de Plesk sigan funcionando sin dar fallos de dependencias.
- Los sitios que dependan de configuraciones complejas de Apache se quedan como están.
- Activas la aceleración de forma quirúrgica solo en los sitios web más pesados.
- Se aprovecha al máximo el rendimiento de LSAPI y la caché a nivel de servidor de LSCache.
- No se ensucia el sistema operativo instalando paquetes o repositorios innecesarios.
Filosofía del sistema
Priorizar siempre la estabilidad del servidor. Los cambios se aplican de forma aislada y controlada por dominio.
Skamasle-OLS-Agent (El agente en segundo plano)
Este agente independiente suple una limitación de diseño de OpenLiteSpeed: tener que hacer un reload manual cada vez que cambias algo en el .htaccess (si OLS leyera el archivo en cada visita del usuario como hace Apache, perdería toda su ventaja de velocidad).
Para solucionar esto de forma eficiente, el agente usa inotify a nivel de kernel para escuchar las escrituras y cambios en los archivos .htaccess en tiempo real, aplicando recargas seguras a OLS de manera automática.
skamasle-ols-agent[5823]: Detected .htaccess change: /var/www/vhosts/wpols.skamasle.com/httpdocs/.htaccess [RENAME]
skamasle-ols-agent[5823]: Detected .htaccess change: /var/www/vhosts/wpols.skamasle.com/httpdocs/.htaccess [CREATE]
skamasle-ols-agent[5823]: Detected .htaccess change: /var/www/vhosts/wpols.skamasle.com/httpdocs/.htaccess [WRITE]
skamasle-ols-agent[5823]: Detected .htaccess change: /var/www/vhosts/wpols.skamasle.com/httpdocs/.htaccess [WRITE]
skamasle-ols-agent[5823]: Reload requested for wpols.skamasle.com after htaccess-change (reloads: 2)Instrucciones de instalación y pruebas
- Descarga el paquete compilado de la extensión directamente desde GitHub usando el botón de arriba.
- Sube e instala el archivo ZIP dentro de la sección de Extensiones en tu panel Plesk.
- Configura o levanta el servicio del agente independiente (Skamasle OLS Agent) para automatizar los reloads.
- Accede al módulo centralizado, selecciona el dominio de pruebas que quieras acelerar y actívale el modo
NGINX + OLS + LSAPI + LSCache.