Instalación de servidor · 4 min read · Dec 23, 2025
Cómo instalar Lighttpd con PHP-FPM y MariaDB en CentOS 7
Lighttpd es un servidor web seguro, rápido y conforme a estándares, diseñado para entornos críticos en cuanto a velocidad. Este tutorial muestra cómo puedes instalar Lighttpd en un servidor CentOS 7 con soporte para PHP (a través de PHP-FPM) y soporte para MySQL. PHP-FPM (FastCGI Process Manager) es una implementación alternativa de PHP FastCGI con algunas características adicionales útiles para sitios de cualquier tamaño, especialmente para sitios más concurridos. Utilizo PHP-FPM en este tutorial en lugar de spawn-fcgi de Lighttpd.
1 Nota Preliminar
En este tutorial, utilizo el nombre de host server1.example.com con la dirección IP 192.168.1.100. Estas configuraciones pueden diferir para ti, así que debes reemplazarlas donde sea apropiado.
2 Instalando MariaDB como reemplazo de MySQL
Primero, instalamos MySQL de esta manera:
yum -y install mariadb mariadb-serverLuego creamos los enlaces de inicio del sistema para MySQL (para que MySQL se inicie automáticamente cada vez que el sistema arranca) y comenzamos el servidor MySQL:
systemctl enable mariadb.service
systemctl start mariadb.serviceEstablece contraseñas para la cuenta root de MarisDB:
mysql_secure_installation[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation:NOTA: ¡SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MariaDB EN USO DE PRODUCCIÓN! ¡LEA CADA PASO CUIDADOSAMENTE!Para iniciar sesión en MariaDB y asegurarla, necesitaremos la contraseña actual para el usuario root. Si acabas de instalar MariaDB, y no has establecido la contraseña de root aún, la contraseña estará en blanco, así que solo debes presionar enter aquí.Introduce la contraseña actual para root (presiona enter para ninguno): <-- presiona enter
OK, contraseña utilizada con éxito, continuando...Establecer la contraseña de root asegura que nadie pueda iniciar sesión en el usuario root de MariaDB sin la autorización adecuada.¿Establecer contraseña de root? [Y/n] <-- y
Nueva contraseña: <-- ingresa nueva contraseña
Reingresa nueva contraseña: <-- ingresa nueva contraseña
¡Contraseña actualizada con éxito!
Recargando tablas de privilegios..
... ¡Éxito!Por defecto, una instalación de MariaDB tiene un usuario anónimo, permitiendo que cualquiera inicie sesión en MariaDB sin necesidad de tener una cuenta de usuario creada para ellos. Esto está destinado solo para pruebas, y para que la instalación sea un poco más fluida. Debes eliminarlos antes de pasar a un entorno de producción.¿Eliminar usuarios anónimos? [Y/n] <-- y
... ¡Éxito!Normalmente, solo se debería permitir que root se conecte desde 'localhost'. Esto asegura que alguien no pueda adivinar la contraseña de root desde la red.¿Deshabilitar inicio de sesión remoto para root? [Y/n] <-- y
... ¡Éxito!Por defecto, MariaDB viene con una base de datos llamada 'test' a la que cualquiera puede acceder. Esto también está destinado solo para pruebas, y debe ser eliminado antes de pasar a un entorno de producción.¿Eliminar la base de datos de prueba y el acceso a ella? [Y/n] <-- y
- Eliminando base de datos de prueba...
... ¡Éxito!
- Eliminando privilegios en la base de datos de prueba...
... ¡Éxito!Recargar las tablas de privilegios asegurará que todos los cambios realizados hasta ahora surtan efecto de inmediato.¿Recargar tablas de privilegios ahora? [Y/n] <-- y
... ¡Éxito!Limpiando...¡Todo listo! Si has completado todos los pasos anteriores, tu instalación de MariaDB debería estar ahora segura.¡Gracias por usar MariaDB!3 Instalando Lighttpd
Debido a que Lighttpd y PHP-FPM no están disponibles en los repositorios oficiales de CentOS, necesitamos habilitar el repositorio EPEL:
yum -y install epel-releaseImporta la clave GPG de EPEL:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7y luego ejecuta:
yum updateDespués, podemos instalar Lighttpd de esta manera:
yum -y install lighttpdLuego creamos los enlaces de inicio del sistema para Lighttpd (para que Lighttpd se inicie automáticamente cada vez que el sistema arranca) y lo iniciamos:
systemctl enable lighttpd.service
systemctl start lighttpd.serviceSi Lighttpd no se inicia con el siguiente mensaje de error…
(network.c.203) socket failed: Address family not supported by protocol… abre /etc/lighttpd/lighttpd.conf…
nano /etc/lighttpd/lighttpd.conf… y cambia server.use-ipv6 de enable a disable:
[...]
##
## ¿Usar IPv6?
##
server.use-ipv6 = "disable"
[...] Luego intenta iniciar Lighttpd nuevamente - ahora debería funcionar sin ningún problema:
systemctl start lighttpd.serviceLighttpd tiene su raíz de documentos en /var/www/ htdocs (directorio base /var/www más htdocs como subdirectorio según el archivo lighttpd.conf) pero instala los archivos predeterminados en /var/www/ lighttpd. Eso es inconsistente, así que tenemos que renombrar el directorio de esta manera.
mv /var/www/lighttpd /var/www/htdocsAhora dirígete a tu navegador a http://192.168.1.100, y deberías ver la siguiente página:

La raíz de documentos predeterminada de Lighttpd es /var/www/htdocs/ en CentOS 7, y el archivo de configuración es /etc/lighttpd/lighttpd.conf.
4 Instalando PHP
Podemos hacer que PHP funcione en Lighttpd a través de PHP-FPM que instalamos de esta manera:
yum -y install php-fpm lighttpd-fastcgiPHP-FPM es un proceso daemon que ejecuta un servidor FastCGI en el puerto 9000.
Abre /etc/php-fpm.d/www.conf…
nano /etc/php-fpm.d/www.conf… y establece el usuario y el grupo a lighttpd:
[...]
; Usuario/grupo Unix de los procesos
; Nota: El usuario es obligatorio. Si el grupo no está establecido, se utilizará el grupo del usuario por defecto
; será utilizado.
; RPM: apache Elegido para poder acceder a algunos dir como httpd
user = lighttpd
; RPM: Mantener un grupo permitido para escribir en el dir de logs.
group = lighttpd
[...] Crea los enlaces de inicio del sistema para PHP-FPM y inícialo:
systemctl enable php-fpm.service
systemctl start php-fpm.serviceRecibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.