Instalación de Servidores · 5 min read · Dec 18, 2025

Instalando Lighttpd Con Soporte PHP5 (PHP-FPM) Y MySQL En Debian Wheezy

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 Debian Wheezy 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 funcione 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 5

Primero 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], por lo 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ñarootsql Repetir contraseña para el usuario “root” de MySQL: <– tucontraseñarootsql

3 Instalando Lighttpd

Lighttpd está disponible como un paquete de Debian, por lo que podemos instalarlo de la siguiente manera:

apt-get install lighttpd

Ahora dirige tu navegador a http://192.168.0.100/index.lighttpd.html, y deberías ver la página de marcador de posición de Lighttpd:

El directorio raíz de documentos predeterminado de Lighttpd es /var/www en Debian, y el archivo de configuración es /etc/lighttpd/lighttpd.conf. Las 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:

vi /etc/php5/fpm/php.ini

| [...] ; cgi.fix_pathinfo proporciona soporte *real* para PATH_INFO/PATH_TRANSLATED para CGI. El comportamiento anterior de PHP 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 valor 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 [...] |

El archivo de configuración de Lighttpd para PHP /etc/lighttpd/conf-available/15-fastcgi-php.conf es adecuado para su uso con spawn-fcgi, sin embargo, queremos usar PHP-FPM, por lo que 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  
vi 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 Jul  1 20:45 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf  
lrwxrwxrwx 1 root root 37 Jul  1 20:45 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.conf  
root@server1:/etc/lighttpd/conf-available#

Luego recargamos Lighttpd:

/etc/init.d/lighttpd force-reload

6 Probando PHP5 / Obteniendo Detalles Sobre Tu Instalación de PHP5

El directorio raíz del sitio web predeterminado 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.

vi /var/www/info.php

| |

Ahora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.0.100/info.php):

Como puedes ver, 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-mysql. Es una buena idea instalar algunos otros módulos de PHP5 también, ya que podrías necesitarlos para tus aplicaciones. Puedes buscar los 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-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp 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:

/etc/init.d/php5-fpm reload

Ahora recarga http://192.168.0.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? <– No

Después, puedes acceder a phpMyAdmin en http://192.168.0.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…

vi /etc/php5/fpm/pool.d/www.conf

… y haz que la línea listen se vea de la siguiente manera:

| [...] ;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:

/etc/init.d/php5-fpm reload

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:

vi /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:

/etc/init.d/lighttpd force-reload

10 Enlaces

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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