Instalación Servidor · 5 min read · Jan 27, 2026
Instalando Lighttpd Con Soporte PHP5 (PHP-FPM) Y MySQL En Fedora 19
Instalando Lighttpd Con Soporte PHP5 (PHP-FPM) Y MySQL En Fedora 19
Versión 1.0
Autor: Falko Timme
Sígueme en Twitter
Lighttpd es un servidor web seguro, rápido y conforme a estándares, diseñado para entornos críticos en velocidad. Este tutorial muestra cómo puedes instalar Lighttpd en un servidor Fedora 19 con soporte para PHP5 (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.
¡No emito ninguna garantía de que esto funcionará para ti!
1 Nota Preliminar
En este tutorial utilizo el nombre de host server1.example.com con la dirección IP 192.168.0.100. Estas configuraciones pueden diferir para ti, así que debes reemplazarlas donde sea apropiado.
2 Instalando MySQL/MariaDB 5
Primero instalamos MySQL 5 de esta manera:
yum install mysql mysql-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 mysqld.service systemctl start mysqld.service
Crea una contraseña para el usuario root de MySQL (reemplaza yourrootsqlpassword con la contraseña que deseas usar):
mysql_secure_installation
[root@server1 ~]# mysql_secure_installation
/usr/bin/mysql_secure_installation: línea 379: find_mysql_client: comando no encontrado
NOTA: ¡SE RECOMIENDA EJECUTAR TODAS LAS PARTES DE ESTE SCRIPT PARA TODOS LOS SERVIDORES MariaDB EN USO EN 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í.
Ingresa la contraseña actual para root (presiona enter para ninguno): <– ENTER
OK, se utilizó la contraseña correctamente, 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] <– ENTER
Nueva contraseña: <– yourrootsqlpassword
Reingresa la nueva contraseña: <– yourrootsqlpassword
¡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 tener que tener una cuenta de usuario creada para ellos. Esto está destinado solo para pruebas, y para hacer 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] <– ENTER
… ¡É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] <– ENTER
… ¡Éxito!
Por defecto, MariaDB viene con una base de datos llamada ‘test’ 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 base de datos de prueba y acceso a ella? [Y/n] <– ENTER
- 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 tendrán efecto inmediato.
¿Recargar tablas de privilegios ahora? [Y/n] <– ENTER
… ¡É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!
[root@server1 ~]#
3 Instalando Lighttpd
Lighttpd está disponible como un paquete de Fedora, por lo tanto, podemos instalarlo de esta manera:
yum 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 restart lighttpd.service
Ahora dirige tu navegador a http://192.168.0.100, y deberías ver la página de marcador de posición de Lighttpd:

La raíz del documento predeterminada de Lighttpd es /var/www/lighttpd en Fedora, y el archivo de configuración es /etc/lighttpd/lighttpd.conf.
4 Instalando PHP5
Podemos hacer que PHP5 funcione en Lighttpd a través de PHP-FPM que instalamos de esta manera:
yum install php-fpm lighttpd-fastcgi
PHP-FPM es un proceso daemon que ejecuta un servidor FastCGI en el puerto 9000.
Crea los enlaces de inicio del sistema para PHP-FPM y lo inicias:
systemctl enable php-fpm.service systemctl start php-fpm.service
5 Configurando Lighttpd Y PHP5
Para habilitar PHP5 en Lighttpd, debemos modificar dos archivos, /etc/php.ini y /etc/lighttpd/lighttpd.conf. Primero abrimos /etc/php.ini y descomentamos la línea cgi.fix_pathinfo=1:
vi /etc/php.ini
| [...] ; cgi.fix_pathinfo proporciona soporte *real* para PATH_INFO/PATH_TRANSLATED para CGI. PHP's ; el comportamiento anterior era establecer PATH_TRANSLATED en SCRIPT_FILENAME, y no entender ; qué es PATH_INFO. Para más información sobre PATH_INFO, consulta las especificaciones de cgi. Establecer ; esto en 1 hará que PHP CGI corrija sus rutas para ajustarse a la especificación. Un ajuste ; de cero hace que PHP se comporte como antes. El valor predeterminado es 1. Debes corregir tus scripts ; para usar SCRIPT_FILENAME en lugar de PATH_TRANSLATED. ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
Luego abrimos /etc/lighttpd/conf.d/fastcgi.conf y nos aseguramos de que “mod_fastcgi” esté habilitado:
vi /etc/lighttpd/conf.d/fastcgi.conf
| [...] server.modules += ( "mod_fastcgi" ) [...] |
Luego, más abajo en el archivo, hay un bloque fastcgi.server - déjalo comentado y agrega tu propio bloque fastcgi.server de la siguiente manera:
| [...] ## ## Ejemplo de PHP ## Para PHP no olvides establecer cgi.fix_pathinfo = 1 en el php.ini. ## ## El número de procesos php que obtendrás se puede calcular fácilmente: ## ## num-procs = max-procs * ( 1 + PHP_FCGI_CHILDREN ) ## ## para el ejemplo php-num-procs significa que obtendrás 17*5 = 85 php ## procesos. siempre deberías necesitar este alto número para tus muy ## sitios concurridos. Y si tienes mucha RAM. :) ## fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) ) #fastcgi.server = ( ".php" => # ( "php-local" => # ( # "socket" => socket_dir + "/php-fastcgi-1.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "max-procs" => 1, # "broken-scriptfilename" => "enable", # ) # ), # ( "php-tcp" => # ( # "host" => "127.0.0.1", # "port" => 9999, # "check-local" => "disable", # "broken-scriptfilename" => "enable", # ) # ), # # ( "php-num-procs" => # ( # "socket" => socket_dir + "/php-fastcgi-2.socket", # "bin-path" => server_root + "/cgi-bin/php5", # "bin-environment" => ( # "PHP_FCGI_CHILDREN" => "16", # "PHP_FCGI_MAX_REQUESTS" => "10000", # ), # "max-procs" => 5, # "broken-scriptfilename" => "enable", # ) # ), # ) ), [...] |
Abre /etc/lighttpd/modules.conf…
vi /etc/lighttpd/modules.conf
… y activa el archivo /etc/lighttpd/conf.d/fastcgi.conf:
| [...] ## ## FastCGI (mod_fastcgi) ## include "conf.d/fastcgi.conf" [...] |
Luego reiniciamos Lighttpd:
systemctl restart lighttpd.service
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.