Instalación de Software · 7 min read · Dec 23, 2025
Instalando Lighttpd con PHP (modo PHP-FPM) y MySQL o MariaDB en Ubuntu 15.10
Lighttpd es un servidor web seguro, rápido y compatible con estándares, diseñado para entornos críticos en velocidad. Este tutorial muestra cómo instalar Lighttpd en un servidor Ubuntu 15.10 con soporte para PHP (a través de PHP-FPM) y MySQL o MariaDB. 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 sitios más concurridos. Uso PHP-FPM en este tutorial en lugar de spawn-fcgi de Lighttpd.
1 Nota Preliminar
En este tutorial, uso 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.
Estoy ejecutando todos los pasos de este tutorial con privilegios de root, así que asegúrate de haber iniciado sesión como root antes de continuar:
sudo su2 Instalando MySQL / MariaDB
Ubuntu proporciona paquetes para el servidor de base de datos MySQL original (MySQL 5.6) y el fork de MySQL MariaDB (10). La mayoría de los usuarios prefieren usar MariaDB hoy en día ya que es un poco más rápido que MySQL y el desarrollo avanza más rápido. Dejo la decisión de qué instalar a ti aquí y explicaré ambas opciones. Sigue las instrucciones en el capítulo 2.1 o 2.2, pero no ambas.
2.1 Instalación de MySQL
Instala MySQL así:
apt-get -y install mysql-server-5.6 mysql-client-5.6Se 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 tarde:
Nueva contraseña para el usuario “root” de MySQL: <– tucontraseñarootsql
Repetir contraseña para el usuario “root” de MySQL: <– tucontraseñarootsql
2.2 Instalación de MariaDB
Instala MariaDB así:
apt-get -y install mariadb-server mariadb-clientAhora establecemos una contraseña de root para MariaDB.
mysql_secure_installationSe te harán estas preguntas:
Introduce la contraseña actual para root (presiona enter si no hay): <-- presiona enter
¿Establecer contraseña de root? [Y/n] <-- y
Nueva contraseña: <-- Ingresa la nueva contraseña de root de MariaDB aquí
Reingresa la nueva contraseña: <-- Repite la contraseña
¿Eliminar usuarios anónimos? [Y/n] <-- y
¿Deshabilitar el inicio de sesión remoto de root? [Y/n] <-- y
¿Recargar las tablas de privilegios ahora? [Y/n] <-- y3 Instalando Lighttpd
Lighttpd está disponible como un paquete de Ubuntu, por lo tanto, podemos instalarlo así:
apt-get -y install lighttpdAhora dirige tu navegador a http://192.168.1.100/index.lighttpd.html, y deberías ver la página de marcador de posición de Lighttpd:

La raíz del documento por defecto de Lighttpd es /var/www/html en Ubuntu, 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 se pueden habilitar 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 PHP 5.6
Podemos hacer que PHP5 funcione en Lighttpd a través de PHP-FPM que instalamos así:
apt-get -y install php5-fpm php5PHP-FPM es un proceso daemon (con la unidad de servicio systemd php5-fpm.service) que ejecuta un servidor FastCGI en el socket /var/run/php5-fpm.sock.
5 Configurando Lighttpd y PHP
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 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 conformarse a la especificación. Un ajuste
; de cero hace que PHP se comporte como antes. El valor por defecto 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 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# /usr/share/doc/lighttpd-doc/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-phpEsto 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-enabledroot@server1:/etc/lighttpd/conf-available# ls -l /etc/lighttpd/conf-enabled
total 0
lrwxrwxrwx 1 root root 33 Nov 11 13:59 10-fastcgi.conf -> ../conf-available/10-fastcgi.conf
lrwxrwxrwx 1 root root 37 Nov 11 13:59 15-fastcgi-php.conf -> ../conf-available/15-fastcgi-php.confLuego recargamos Lighttpd:
service lighttpd force-reload6 Probando PHP5 / Obteniendo Detalles Sobre Tu Instalación de PHP5
La raíz del documento del sitio web por defecto es /var/www/html. 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.phpAhora llamamos a ese archivo en un navegador (por ejemplo, http://192.168.1.100/info.php):

Como ves, PHP 5.6 está funcionando, y está funcionando a través de FPM/FastCGI, como se muestra en la línea de API del servidor. 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 PHP.
7 Obteniendo Soporte de MySQL En PHP5
Para obtener soporte de MySQL en PHP, podemos instalar el paquete php5-mysqlnd. Este es preferido sobre el paquete php5-mysql ya que contiene un controlador MySQL más nuevo que soporta tanto MySQL como 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 así:
apt-cache search php5Elige los que necesites e instálalos así:
apt-get -y install php5-mysqlnd 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-xslXcache 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 -y install php5-xcacheAhora recarga PHP-FPM:
service php5-fpm reloadAhora 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 -y install phpmyadminVerá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: <-- Ingresa la contraseña de root de MySQL/MariaDB
Contraseña de aplicación MySQL para phpmyadmin: <-- Presiona ENTER Después, puedes acceder a phpMyAdmin en http://192.168.1.100/phpmyadmin/:

9 Haciendo que PHP-FPM Use una Conexión TCP (opcional)
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:
service php5-fpm reloadA 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# /usr/share/doc/lighttpd-doc/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:
service lighttpd force-reload10 Descarga de la imagen de máquina virtual de este tutorial
Este tutorial está disponible como una imagen de máquina virtual lista para usar en formato ovf/ova para suscriptores de Howtoforge. El formato de la VM es compatible con VMWare y Virtualbox. La imagen de la máquina virtual utiliza los siguientes detalles de inicio de sesión:
Inicio de sesión SSH / Shell
Nombre de usuario: administrator
Contraseña: howtoforge
Este usuario tiene derechos sudo.
Inicio de sesión de MySQL / MariaDB
Nombre de usuario: root
Contraseña: howtoforge
La IP de la VM es 192.168.1.100, se puede cambiar en el archivo /etc/network/interfaces. Por favor, cambia todas las contraseñas anteriores para asegurar la máquina virtual.
11 Enlaces
- Lighttpd: http://www.lighttpd.net/
- PHP: http://www.php.net/
- PHP-FPM: http://php-fpm.org/
- MySQL: http://www.mysql.com/
- Ubuntu: http://www.ubuntu.com/
- phpMyAdmin: http://www.phpmyadmin.net/
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.