Instalar OpenLiteSpeed, MariaDB y PHP 7.4 en CentOS 8

OpenLiteSpeed es un servidor HTTP de código abierto desarrollado por LiteSpeed Technologies. Es ligero, de alto rendimiento y cuenta con una interfaz web para administración.
Este servidor puede gestionar un gran número de conexiones simultáneas manteniendo un consumo reducido de recursos (CPU y RAM). Soporta sistemas operativos como Linux, macOS, FreeBSD y Solaris. Permite ejecutar scripts web escritos en PHP, Ruby, Perl y Java.
En esta guía instalaremos OpenLiteSpeed con la base de datos MariaDB y PHP 7.4 (LSAPI) en un servidor CentOS 8.
Importante: antes de empezar, asegúrate de tener backups y acceso root o sudo en el servidor. Si el servidor está en producción, prueba en una máquina o snapshot independiente.
Requisitos previos
- CentOS 8 (actualizado) con acceso root o sudo.
- Recomendado: 2 GB de RAM, 25 GB de espacio libre en disco y 2 CPUs. Estos son valores mínimos prácticos; ajusta según la carga esperada.
- Conexión a Internet para descargar repositorios y paquetes.
Notas: en entornos con SELinux activo es posible que haya pasos adicionales para permitir la ejecución de sockets y puertos. Se detallan más abajo.
Qué haremos
- Instalar OpenLiteSpeed
- Añadir PHP 7.4 (lsphp) compatible con OpenLiteSpeed
- Instalar MariaDB y asegurar la instalación
- Configurar autenticación del panel de administración
- Conectar OpenLiteSpeed con PHP 7.4
- Ejecutar OpenLiteSpeed en el puerto 80
- Probar la instalación y solucionar fallos comunes
Paso 1 - Añadir el repositorio e instalar OpenLiteSpeed
Añade el repositorio oficial de OpenLiteSpeed para CentOS 8 y posteriormente instala el paquete.
rpm -Uvh http://rpms.litespeedtech.com/centos/litespeed-repo-1.1-1.el8.noarch.rpm
Lista los repositorios disponibles para verificar que se añadió correctamente:
dnf repolist
Ejemplo de comprobación: deberías ver el repositorio litespeed en la lista de repositorios.
Instala OpenLiteSpeed:
sudo dnf install openlitespeed
Arranca el servicio y activa el inicio automático:
systemctl start lsws
systemctl enable lsws
Comprueba el estado del servicio:
systemctl status lsws
Si todo está correcto, OpenLiteSpeed estará en ejecución. Por defecto el panel de administración escucha en el puerto 7080 y el servidor web en 8088.
Paso 2 - Instalar PHP 7.4 (LSPHP)
OpenLiteSpeed usa LSPHP (LSAPI) para ejecutar PHP. Añade EPEL si no está presente y luego instala lsphp74 y las extensiones comunes.
sudo dnf install epel-release
sudo dnf install lsphp74 lsphp74-mysqlnd lsphp74-process lsphp74-mbstring lsphp74-mcrypt lsphp74-gd lsphp74-opcache lsphp74-bcmath lsphp74-pdo lsphp74-common lsphp74-xml
Verifica que el sock de lsphp se está creando (usa netstat o ss):
netstat -pl | grep lsphp
o, si netstat no está disponible:
ss -pl | grep lsphp
Si aparece una entrada con lsphp74 o un socket tipo uds://tmp/lshttpd/lsphp.sock, la instalación de PHP 7.4 para OpenLiteSpeed está activa.
Paso 3 - Instalar MariaDB y asegurar la instalación
Instala MariaDB server y cliente:
sudo dnf install mariadb mariadb-server
Arranca el servicio y actívalo permanentemente:
systemctl start mariadb
systemctl enable mariadb
Asegura la instalación ejecutando el script interactivo que configura la contraseña root y elimina cuentas/BD de prueba:
mysql_secure_installation
Responde a las preguntas según tus políticas (generalmente: establecer contraseña root, eliminar usuarios anónimos, eliminar base de datos test y recargar tablas de privilegios).
Conéctate a la consola para comprobar usuarios:
mysql -u root -p
Type Your Root Password:
select User, Host from mysql.user;
Crea usuarios de base de datos adicionales con permisos limitados para cada aplicación en vez de usar root desde las aplicaciones.
Paso 4 - Configurar autenticación del panel de administración
OpenLiteSpeed ofrece un panel web en HTTPS en el puerto 7080. Abre ese puerto en firewalld:
firewall-cmd --add-port=7080/tcp --permanent
firewall-cmd --reload
Genera la cuenta de administrador (script admpass.sh):
cd /usr/local/lsws/admin/misc
sh admpass.sh
Sigue las indicaciones para definir usuario y contraseña.
Accede desde el navegador a: https://
Consejo de seguridad: limita el acceso al puerto 7080 por IP (firewalld rich rules) o utiliza una VPN/ssh-tunnel si el servidor está en Internet.
Paso 5 - Conectar OpenLiteSpeed con PHP 7.4 desde la interfaz
- En el panel, vaya a Server Configuration y abra la pestaña External App.
- Pulse + para añadir una nueva app.
- Seleccione LiteSpeed SAPI App.
Rellene los campos con estos valores de ejemplo:
Name: lsphp74
Address: uds://tmp/lshttpd/lsphp.sock
Notes: lsphp74 for OpenLiteSpeed
Max Connections: 35
Initial Request Timeout (secs): 60
Retry Timeout (secs): 0
Command: $SERVER_ROOT/lsphp74/bin/lsphp
Guarde la configuración.
Luego, en Server Configuration vaya a Script Handler y edite la entrada PHP para usar el handler lsphp74 que añadió. Guarde y aplique los cambios.
Tras aplicar la configuración, reinicie el servidor desde la interfaz o con systemctl:
systemctl restart lsws
Paso 6 - Ejecutar OpenLiteSpeed en el puerto 80
Por defecto OpenLiteSpeed escucha en 8088. Para servir en el puerto HTTP estándar 80, abra los servicios HTTP/HTTPS en firewalld:
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
En el panel, vaya a Listener, edite el listener Default y cambie el puerto a 80 en Address Settings. Guarde y reinicie el servidor.
Si SELinux está habilitado y el proceso no puede enlazar al puerto 80, revisa los logs y considera permitirlo con semanage. Ejemplo (si semanage está disponible):
semanage port -a -t http_port_t -p tcp 80
Reinicia lsws si hace falta.
Paso 7 - Pruebas y verificación
Abre en el navegador http://
Prueba PHP desde el panel o creando un archivo phpinfo.php en el directorio raíz del virtual host con:
Accede a esa URL y comprueba que la salida corresponde a PHP 7.4 y que el SAPI es lsapi.
Si todo funciona, ya tienes OpenLiteSpeed con MariaDB y PHP 7.4 operativo en CentOS 8.
Comprobaciones adicionales y mejores prácticas
- No uses root para las conexiones de aplicaciones a MariaDB; crea usuarios con permisos mínimos.
- Habilita TLS/HTTPS para los virtual hosts en producción y renueva certificados con Certbot o tu CA preferida.
- Limita el acceso al panel 7080 por IP o utiliza autenticación adicional.
- Supervisa recursos (top, htop, free -m) y ajusta límites del worker si la carga crece.
- Mantén actualizado el sistema y aplica parches de seguridad.
Solución de problemas comunes
- El servicio lsws no arranca: revisa /usr/local/lsws/logs/error.log y journalctl -u lsws.
- PHP no responde o no aparece el socket: comprueba que lsphp74 esté instalado y que el path del Command apunte a $SERVER_ROOT/lsphp74/bin/lsphp. Usa ss -pl | grep lsphp.
- MariaDB no arranca: revisa /var/log/mariadb o journalctl -u mariadb.
- Panel 7080 inaccesible: comprueba firewall-cmd –list-all y que el puerto 7080 esté abierto; valida SELinux.
Lista rápida de comprobaciones:
- systemctl status lsws
- ss -pl | grep lsphp
- systemctl status mariadb
- firewall-cmd –list-ports
- tail -n 100 /usr/local/lsws/logs/error.log
Flujo de diagnóstico para problemas con PHP
flowchart TD
A[Inicio: PHP falla o 502] --> B{¿Socket de lsphp existe?}
B -- Sí --> C{¿Permisos del socket correctos?}
B -- No --> D[Reinstalar/arrancar lsphp y revisar logs]
C -- Sí --> E{¿OpenLiteSpeed usa el handler correcto?}
C -- No --> F[Ajustar permisos de socket y SELinux]
E -- Sí --> G[Revisar logs de aplicación y rutas]
E -- No --> H[Actualizar Script Handler a lsphp74 y reiniciar]
Seguridad y endurecimiento
- Cambia el puerto del panel administrativo y limita IPs.
- Usa cuentas de SO restringidas para procesos que lo permitan.
- Aplica encabezados HTTP de seguridad (Content-Security-Policy, X-Frame-Options, X-Content-Type-Options, Strict-Transport-Security).
- Protege la base de datos con contraseñas fuertes y acceso por IP.
- Revise y actualice permisos de ficheros en el DocumentRoot.
Listas de verificación por rol
Administrador de sistemas:
- Verificar actualizaciones de paquetes y dependencias.
- Configurar backups de /usr/local/lsws y bases de datos.
- Añadir reglas de firewall y políticas SELinux si corresponde.
- Habilitar monitorización y alertas.
Desarrollador:
- Probar phpinfo y endpoints críticos.
- Asegurar que extensiones PHP necesarias están instaladas.
- Probar sesiones, subida de ficheros y límites de ejecución.
Equipo de seguridad:
- Revisar acceso a 7080 y 22.
- Forzar HTTPS y revisar certificados.
- Ejecutar escaneos de vulnerabilidades y revisiones de configuración.
Criterios de aceptación
- OpenLiteSpeed en ejecución y escuchando en puerto 80.
- phpinfo muestra PHP 7.4 con SAPI lsapi.
- MariaDB acepta conexiones con un usuario administrativo y un usuario limitado para la aplicación.
- Panel administrativo accesible y protegido por credenciales.
Plantillas rápidas de comandos
Crear usuario MariaDB para aplicación:
mysql -u root -p
CREATE DATABASE app_db CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON app_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Reiniciar OpenLiteSpeed desde consola:
systemctl restart lsws
Ver logs en vivo:
tail -f /usr/local/lsws/logs/error.log
Alternativas y cuándo elegirlas
- Si necesitas compatibilidad nativa con .htaccess, considera usar Apache + mod_php o Apache + PHP-FPM.
- Para entornos con alta concurrencia y menor memoria, OpenLiteSpeed con LSAPI suele ser más eficiente que Apache con mod_php.
- Si prefieres gestión más sencilla de virtualhosts y módulos, Nginx + PHP-FPM es una alternativa madura.
Resumen
OpenLiteSpeed proporciona un servidor HTTP ligero con panel gráfico y buen rendimiento. Combinado con MariaDB y PHP 7.4 (LSPHP) en CentOS 8 ofrece una pila válida para aplicaciones web modernas. Sigue las comprobaciones y recomendaciones de seguridad, y crea usuarios de base de datos con permisos mínimos.
Importante: realiza pruebas en un entorno controlado antes de migrar sitios en producción.
Referencias
Materiales similares

Pérdida de paquetes en Unturned: guía completa

Equilibrio del tiempo de pantalla en niños
Solución al error wireless adapter or access point

Recuperar mensajes borrados en iPhone, Android y Windows

Georreferenciar fotos en Fotos de Apple
