Instalación de servidor · 7 min read · Dec 18, 2025
Instalando Lighttpd con PHP5 (PHP-FPM) y MySQL en Debian 8 (Jessie)
Lighttpd es un servidor web seguro, rápido y compatible con estándares, diseñado para entornos críticos en cuanto a velocidad. Este tutorial muestra cómo puedes instalar Lighttpd en un servidor Debian 8 (Jessie) 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.
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. Usa un servidor Debian mínimo como base para esta instalación, esto puede ser una imagen mínima de tu centro de datos o puedes instalar uno desde cero utilizando nuestro tutorial de servidor Debian mínimo.
2 Instalando MySQL / MariaDB
Debian 8 viene con 2 bases de datos compatibles con MySQL, la tradicional base de datos MySQL y MariaDB, un fork de MySQL mantenido por el inventor original de MySQL, Monty Widenius. MariaDB está liderando en cuanto a velocidad de base de datos y actividad de desarrollo en este momento, así que la elegiré para mi servidor.
A continuación, describiré la instalación de MariaDB (Capítulo 2.1) y MySQL (Capítulo 2.2) para que puedas elegir la base de datos que prefieras. Solo asegúrate de seguir el capítulo 2.1 o 2.2, pero no ambos.
2.1 Instalar MariaDB
Para instalar MariaDB, ejecuta este comando.
apt-get install mariadb-server mariadb-client
Se te pedirá que proporciones una contraseña para el usuario root de MariaDB - esta contraseña es válida para el usuario root@localhost así como para [email protected], así que no tenemos que especificar una contraseña de root de MariaDB manualmente más adelante:
Nueva contraseña para el usuario "root" de MariaDB: <-- tucontraseñadesqlroot Repetir contraseña para el usuario "root" de MariaDB: <-- tucontraseñadesqlroot
2.2 Instalar MySQL
Instalamos MySQL 5 de la siguiente manera:
apt-get install mysql-server mysql-client
Se te pedirá que proporciones una contraseña para el usuario root de MySQL - esta contraseña es válida para el usuario root@localhost así como para [email protected], así que no tenemos que especificar una contraseña de root de MySQL manualmente más adelante:
Nueva contraseña para el usuario “root” de MySQL: <– tucontraseñadesqlroot
Repetir contraseña para el usuario “root” de MySQL: <– tucontraseñadesqlroot
3 Instalando Lighttpd
Lighttpd está disponible como un paquete de Debian, por lo tanto, podemos instalarlo de la siguiente manera:
apt-get install lighttpd
Ahora dirígete a tu navegador a http://192.168.1.100/, y deberías ver la página de marcador de posición de Lighttpd:

El directorio raíz del documento por defecto de Lighttpd es /var/www en Debian, y el archivo de configuración es /etc/lighttpd/lighttpd.conf.
Configuraciones adicionales se almacenan en archivos en el directorio /etc/lighttpd/conf-available - estas configuraciones pueden ser habilitadas con el comando lighttpd-enable-mod que crea un symlink desde el directorio /etc/lighttpd/conf-enabled al archivo de configuración apropiado en /etc/lighttpd/conf-available. Puedes deshabilitar configuraciones con el comando lighttpd-disable-mod.
4 Instalando PHP5
Podemos hacer que PHP5 funcione en Lighttpd a través de PHP-FPM que instalamos de la siguiente manera:
apt-get install php5-fpm php5
PHP-FPM es un proceso daemon (con el script de inicio /etc/init.d/php5-fpm) que ejecuta un servidor FastCGI en el socket /var/run/php5-fpm.sock.
5 Configurando Lighttpd y PHP5
Para habilitar PHP5 en Lighttpd, debemos modificar /etc/php5/fpm/php.ini y descomentar la línea cgi.fix_pathinfo=1:
nano /etc/php5/fpm/php.ini
[...] ; cgi.fix_pathinfo proporciona soporte *real* para PATH_INFO/PATH_TRANSLATED para CGI. PHP's ; el comportamiento anterior era establecer PATH_TRANSLATED a SCRIPT_FILENAME, y no entender ; qué es PATH_INFO. Para más información sobre PATH_INFO, consulta las especificaciones de cgi. Establecer ; esto a 1 hará que PHP CGI corrija sus rutas para conformarse 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://php.net/cgi.fix-pathinfo cgi.fix_pathinfo=1 [...]
Y reinicia el servicio php5-fpm para aplicar el cambio de configuración:
systemctl restart php5-fpm.service
El archivo de configuración de Lighttpd para PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf es adecuado para usar con spawn-fcgi, sin embargo, queremos usar PHP-FPM, por lo tanto, creamos una copia de seguridad del archivo (nombrado 15-fastcgi-php-spawnfcgi.conf) y modificamos 15-fastcgi-php.conf de la siguiente manera:
cd /etc/lighttpd/conf-available/ cp 15-fastcgi-php.conf 15-fastcgi-php-spawnfcgi.conf nano 15-fastcgi-php.conf
# -*- depends: fastcgi -*- # /usr/share/doc/lighttpd/fastcgi.txt.gz # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi ## Iniciar un servidor FastCGI para php (necesita el paquete php5-cgi) fastcgi.server += ( ".php" => (( "socket" => "/var/run/php5-fpm.sock", "broken-scriptfilename" => "enable" )) )
Para habilitar la configuración fastcgi, ejecuta los siguientes comandos:
lighttpd-enable-mod fastcgi lighttpd-enable-mod fastcgi-php
Esto crea los symlinks /etc/lighttpd/conf-enabled/10-fastcgi.conf que apunta a /etc/lighttpd/conf-available/10-fastcgi.conf y /etc/lighttpd/conf-enabled/15-fastcgi-php.conf que apunta a /etc/lighttpd/conf-available/15-fastcgi-php.conf:
ls -l /etc/lighttpd/conf-enabled
root@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled total 0 lrwxrwxrwx 1 root root 33 Aug 11 08:20 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf lrwxrwxrwx 1 root root 37 Aug 11 08:20 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf
Luego recargamos Lighttpd:
systemctl force-reload lighttpd.service
6 Probando PHP5 / Obteniendo Detalles Sobre Tu Instalación de PHP5
El directorio raíz del documento del sitio web por defecto es /var/www. Ahora crearemos un pequeño archivo PHP (info.php) en ese directorio y lo llamaremos en un navegador. El archivo mostrará muchos detalles útiles sobre nuestra instalación de PHP, como la versión de PHP instalada.
nano /var/www/html/info.php
Ahora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.1.100/info.php):

Como ves, PHP5 está funcionando, y está funcionando a través de FPM/FastCGI, como se muestra en la línea Server API. Si desplazas hacia abajo, verás todos los módulos que ya están habilitados en PHP5. MySQL no está listado allí lo que significa que aún no tenemos soporte para MySQL en PHP5.
7 Obteniendo Soporte para MySQL en PHP5
Para obtener soporte para MySQL en PHP, podemos instalar el paquete php5-mysqlnd. Ese es un nuevo controlador de base de datos que es compatible con MySQL y MariaDB. Es una buena idea instalar algunos otros módulos de PHP5 también, ya que podrías necesitarlos para tus aplicaciones. Puedes buscar módulos de PHP5 disponibles de la siguiente manera:
apt-cache search php5
Elige los que necesites e instálalos de la siguiente manera:
apt-get install php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-sqlite php5-tidy php5-xmlrpc php5-xsl
Xcache es un caché de opcodes PHP gratuito y de código abierto para almacenar en caché y optimizar el código intermedio de PHP. Es similar a otros cachés de opcodes PHP, como eAccelerator y APC. Se recomienda encarecidamente tener uno de estos instalados para acelerar tu página PHP.
Xcache se puede instalar de la siguiente manera:
apt-get install php5-xcache
Ahora recarga PHP-FPM:
systemctl restart php5-fpm.service
Ahora recarga http://192.168.1.100/info.php en tu navegador y desplázate hacia abajo a la sección de módulos nuevamente. Ahora deberías encontrar muchos nuevos módulos allí, incluido el módulo de MySQL:

8 phpMyAdmin
phpMyAdmin es una interfaz web a través de la cual puedes gestionar tus bases de datos MySQL. Es una buena idea instalarlo:
apt-get install phpmyadmin
Verás las siguientes preguntas:
Servidor web para reconfigurar automáticamente: <– lighttpd

¿Configurar la base de datos para phpmyadmin con dbconfig-common? <-- Sí Contraseña del usuario administrativo de la base de datos: <-- tucontraseñadesqlroot Contraseña de aplicación MySQL para phpmyadmin: <-- Presiona
Después, puedes acceder a phpMyAdmin en http://192.168.1.100/phpmyadmin/:

9 Haciendo que PHP-FPM Use una Conexión TCP
Por defecto, PHP-FPM está escuchando en el socket /var/run/php5-fpm.sock. También es posible hacer que PHP-FPM use una conexión TCP. Para hacer esto, abre /etc/php5/fpm/pool.d/www.conf…
nano /etc/php5/fpm/pool.d/www.conf
… y haz que la línea listen se vea como sigue:
[...] ;listen = /var/run/php5-fpm.sock listen = 127.0.0.1:9000 [...]
Esto hará que PHP-FPM escuche en el puerto 9000 en la IP 127.0.0.1 (localhost). Asegúrate de usar un puerto que no esté en uso en tu sistema.
Luego recarga PHP-FPM:
systemctl restart php5-fpm.service
A continuación, abre el archivo de configuración de PHP de Lighttpd /etc/lighttpd/conf-available/15-fastcgi-php.conf y reemplaza la línea del socket con líneas de host y puerto:
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
# -*- depends: fastcgi -*- # /usr/share/doc/lighttpd/fastcgi.txt.gz # http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi ## Iniciar un servidor FastCGI para php (necesita el paquete php5-cgi) fastcgi.server += ( ".php" => (( "host" => "127.0.0.1", "port" => "9000", "broken-scriptfilename" => "enable" )) )
Finalmente recarga Lighttpd:
systemctl force-reload lighttpd.service
10 Enlaces
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Debian: http://www.debian.org/
- phpMyAdmin: http://www.phpmyadmin.net/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.