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-server

Luego 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.service

Establece 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-release

Importa la clave GPG de EPEL:

rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

y luego ejecuta:

yum update

Después, podemos instalar Lighttpd de esta manera:

yum -y install lighttpd

Luego 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.service

Si 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.service

Lighttpd 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/htdocs

Ahora dirígete a tu navegador a http://192.168.1.100, y deberías ver la siguiente página:

Página de inicio de lighttpd

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-fastcgi

PHP-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.service
Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.