Instalación de servidor · 11 min read · Sep 22, 2025

Cómo instalar Lighttpd con MariaDB y PHP-FPM en Ubuntu 22.04

El stack LLMP (Linux, Lighttpd, MariaDB y PHP-FPM) es un conjunto de software para entregar aplicaciones web. Cada componente del stack LLMP es gratuito, de código abierto y se puede instalar en múltiples sistemas operativos. El stack LLMP puede entregar sitios HTML estáticos y aplicaciones PHP como WordPress, Drupal y Joomla.

Este tutorial te mostrará cómo instalar y configurar el stack LLMP (Linux, Lighttpd, MariaDB y PHP-FPM) en el último sistema Ubuntu 22.04. Este tutorial incluye instrucciones sobre cómo configurar el Host Virtual en el servidor web Lighttpd y habilitar SSL/HTTPS.

Requisitos previos

Para este tutorial, necesitaremos los siguientes requisitos previos:

  • Un servidor Ubuntu 22.04.
  • Un usuario no root con privilegios de root/administrador

Instalando el servidor web Lighttpd

Lighttpd o Lighty es un servidor web de alto rendimiento creado como prueba de concepto del problema c10k “cómo manejar 10,000 conexiones en paralelo en un solo servidor”.

El Lighttpd está diseñado para velocidad, seguridad, ligereza y flexibilidad. Tiene un uso mínimo de CPU y memoria y proporciona características avanzadas como FastCGI, CGI, Auth, Compresión, Reescritura de URL y más.

Antes de instalar cualquier paquete, ejecuta el comando apt a continuación para actualizar y refrescar el índice de paquetes de tus repositorios de Ubuntu.

sudo apt update

Ahora instala el servidor web Lighttpd usando el siguiente comando.

sudo apt install lighttpd

Ingresa Y para confirmar la instalación y presiona ENTER para continuar. Ahora comenzará la instalación de Lighttpd.

instalar lighttpd

Después de que la instalación de Lighttpd haya finalizado, ejecuta el comando a continuación para iniciar y habilitar el servicio Lighttpd.

sudo systemctl start lighttpd  
sudo systemctl enable lighttpd

Verifica el servicio Lighttpd usando el comando a continuación. Deberías ver que el servicio Lighttpd está en ejecución y habilitado, lo que significa que se ejecutará automáticamente al iniciar el sistema.

sudo systemctl status lighttpd

iniciar lighttpd

Si tienes un firewall UFW ejecutándose en tu máquina Ubuntu, entonces debes agregar las reglas del firewall para el tráfico entrante al servidor web Lighttpd.

Ejecuta el comando ufw a continuación para agregar las reglas de Lighttpd al firewall UFW, luego puedes verificar la lista de reglas de UFW como a continuación.

sudo ufw allow "Lighttpd Full"  
sudo ufw status

Deberías ver el perfil de aplicación “Lighttpd Full” agregado al firewall UFW, lo que significa que se permiten todos los puertos HTTP y HTTPS entrantes.

configurar firewall ufw

Ahora verifica el directorio “ /var/www/html“ usando el comando a continuación. Si no ves un archivo index.html, puedes crear uno usando el comando a continuación.

ls -lah /var/www/html  
echo "

Bienvenido al servidor web Lighttpd

" > /var/www/html/index.html

Por último, abre tu navegador web y visita la dirección IP del servidor (es decir, http://192.168.5.28/) y deberías ver la página index.html.

Instalando el servidor MariaDB

Después de instalar el servidor web Lighttpd, es hora de instalar el servidor MariaDB en el sistema Ubuntu. Esto también incluye cómo implementar el servidor MariaDB de manera segura utilizando la herramienta “ mysql_secure_installation “ proporcionada por el paquete MariaDB.

Ejecuta el siguiente comando apt para instalar el servidor MariaDB. En el estado actual, el repositorio predeterminado de Ubuntu proporciona MariaDB v10.6.

sudo apt install mariadb-server

Ahora ingresa Y para confirmar la instalación y presiona ENTER. Y comenzará la instalación de MariaDB.

instalar mariadb

Después de que la instalación de MariaDB haya finalizado, ejecuta el comando systemctl a continuación para iniciar y habilitar el servicio MariaDB.

sudo systemctl start mariadb  
sudo systemctl enable mariadb

Verifica el servicio MariaDB usando el siguiente comando. Y deberías ver que el servicio MariaDB está en ejecución.

sudo systemctl status mariadb

A continuación, configurarás la implementación de MariaDB utilizando la herramienta “mysql_secure_installation”, que puede ayudarte a establecer la contraseña de root para el servidor MariaDB, y deshabilitar el inicio de sesión remoto de root, limpiar la base de datos predeterminada y el acceso de usuario anónimo, etc.

Ahora ejecuta el comando “mysql_secure_installation” como a continuación.

sudo mysql_secure_installation

La instalación predeterminada de MariaDB viene sin una contraseña de root. Presiona ENTER para continuar.

mysql_secure_installation

Ahora ingresa “ n “ para mantener el método de autenticación como predeterminado (para el usuario root de MariaDB).

sin autenticación unix_socket para root

Ingresa Y para establecer la contraseña de root para tu servidor MariaDB. Asegúrate de usar una contraseña fuerte para tu implementación.

configurar contraseña de root

Ahora ingresa Y para deshabilitar el inicio de sesión remoto para el usuario root de MariaDB. Si no estás en un entorno de clúster, siempre se recomienda deshabilitar el inicio de sesión remoto para el usuario root de MariaDB.

Ahora ingresa Y nuevamente para eliminar el usuario anónimo predeterminado de tu instalación de MariaDB.

eliminar usuario anónimo

Ingresa Y nuevamente para eliminar la base de datos de prueba predeterminada accesible por el usuario anónimo en MariaDB.

eliminar base de datos de prueba

Por último, ingresa Y nuevamente para recargar todos los privilegios de tabla en tu servidor MariaDB y aplicar los nuevos cambios.

recargar privilegios de tablas

Instalando PHP-FPM 8.1

Ahora has instalado el servidor web Lighttpd y el servidor de base de datos MariaDB. Ahora instalarás PHP-FPM en tu sistema Ubuntu. En el estado actual, el repositorio de Ubuntu proporciona la última versión de PHP 8.1.

Ejecuta el comando apt a continuación para instalar PHP-FPM 8.1 en tu sistema Ubuntu.

sudo apt install php-fpm php-common php-mysql php-cli php-curl php-xml

Ingresa Y para confirmar la instalación y presiona ENTER. Ahora, comenzará la instalación.

instalar php-fpm

Después de que se complete la instalación de los paquetes PHP-FPM, ejecuta el siguiente comando para iniciar y habilitar el servicio PHP-FPM.

sudo systemctl start php8.1-fpm  
sudo systemctl enable php8.1-fpm

Verifica el servicio PHP-FPM usando el siguiente comando. Deberías ver que el servicio PHP-FPM está en ejecución.

sudo systemctl status php8.1-fpm

iniciar php-fpm

También puedes verificar el servicio PHP-FPM usando el comando “ ss “. El proceso PHP-FPM predeterminado se ejecuta bajo el archivo sock, y puedes verificar el proceso PHP-FPM usando el comando a continuación.

ss -pl | grep php

Deberías obtener el servicio PHP-FPM ejecutándose en el archivo sock “ /run/php/php8.1-fpm.sock “.

Configurando PHP-FPM con Lighttpd

La instalación de los paquetes del stack LLMP está completa, pero aún necesitas configurar el servidor web Lighttpd para que funcione con el servicio PHP-FPM. Y esto se puede hacer utilizando los módulos FastCGI en el servidor web Lighttpd.

Primero, edita el archivo de configuración de PHP-FPM “ /etc/php/8.1/fpm/php.ini “ usando el editor nano.

sudo nano /etc/php/8.1/fpm/php.ini

Agrega la siguiente configuración al archivo.

cgi.fix_pathinfo = 1

Guarda y cierra el archivo cuando hayas terminado.

Ahora reinicia el servicio PHP-FPM usando el siguiente comando para aplicar los nuevos cambios.

sudo systemctl restart php8.1-fpm

A continuación, ejecuta el siguiente comando para habilitar los módulos “ fastcgi “ y “ fastcgi-php-fpm “ de Lighttpd.

sudo lighty-enable-mod fastcgi fastcgi-php-fpm

Edita el archivo de configuración “ /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf “ usando el editor nano. Este archivo es la configuración del módulo fastcgi-php-fpm que se utilizará para comunicarse con el archivo sock de PHP-FPM.

sudo nano /etc/lighttpd/conf-available/15-fastcgi-php-fpm.conf

Cambia la ruta de la opción socket a “ /run/php/php8.1-fpm.sock “ como sigue.

## Usar el servicio PHP-FPM para PHP a través de FastCGI  
fastcgi.server += ( ".php" =>  
        ((  
                "socket" => "/run/php/php8.1-fpm.sock",  
                "broken-scriptfilename" => "enable"  
        ))  
)

Guarda y cierra el archivo cuando hayas terminado.

Por último, ejecuta el comando a continuación para reiniciar el servicio Lighttpd y aplicar los nuevos cambios. Ahora tu stack LLMP está listo para servir tanto aplicaciones web HTML estáticas como dinámicas en PHP.

sudo systemctl restart lighttpd

configurar php-fpm lighttpd

Probando Phpinfo

Para verificar la instalación de tu stack LLMP, puedes simplemente crear el script PHPINFO que te muestra la configuración detallada de Lighttpd y las configuraciones de PHP-FPM.

Ejecuta el comando a continuación para crear un nuevo script PHP “ /var/www/html/info.php “ y cambia la propiedad al usuario “ www-data “.

echo "" > /var/www/html/info.php  
sudo chown -R www-data:www-data /var/www/html

Regresa a tu navegador web y visita la dirección IP del servidor Ubuntu seguida de la ruta URL “ /info.php “ ( http://192.168.5.28/info.php). Y deberías ver la página phpinfo detallada en la siguiente captura de pantalla. Esto significa que la configuración de Lighttpd y PHP-FPM está completa y exitosa.

php info llmp

Configurar el Host Virtual en Lighttpd

En este punto, has completado la instalación y configuración del stack LLMP. El stack LLMP también está listo para servir una aplicación web dinámica en PHP a través de PHP-FPM. Ahora aprenderás cómo configurar el Host Virtual en el servidor web Lighttpd. El host virtual te permite ejecutar múltiples nombres de dominio en un solo servidor o dirección IP.

Ahora ejecuta el siguiente comando para crear un nuevo directorio “ /etc/lighttpd/vhosts “. Este directorio se utilizará para almacenar todas las configuraciones de hosts virtuales del servidor web Lighttpd.

sudo mkdir -p /etc/lighttpd/vhosts/

Ahora edita el archivo de configuración de Lighttpd “ /etc/lighttpd/lighttpd.conf “ usando el editor nano.

sudo nano /etc/lighttpd/lighttpd.conf

Agrega la siguiente configuración al archivo.

include "/etc/lighttpd/vhosts/*.conf"

Guarda y cierra el archivo cuando hayas terminado. Ahora estás listo para configurar el host virtual de Lighttpd.

Primero, crea el directorio Document Root para tu host virtual. En este ejemplo, el directorio Document Root será “ /var/www/hwdomain “.

mkdir -p /var/www/hwdomain/

Crea un nuevo archivo “index.html” en el directorio raíz del documento “/var/www/hwdomain” y cambia la propiedad al usuario correcto “www-data”.

echo "

Bienvenido al host virtual howtoforge.local

" > /var/www/hwdomain/index.html sudo chown -R www-data:www-data /var/www/hwdomain

A continuación, crea una nueva configuración de host virtual “ /etc/lighttpd/vhosts/hwdomain.conf “ usando el editor nano.

sudo nano /etc/lighttpd/vhosts/hwdomain.conf

Agrega la siguiente configuración al archivo. En este ejemplo, se utilizará el dominio “howtoforge.local” para el host virtual.

$HTTP["host"] =~ "(^|.)howtoforge.local$" {  
    server.document-root = "/var/www/hwdomain"  
    server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"  
    accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"  
}

Guarda y cierra el archivo cuando hayas terminado.

Después de eso, ejecuta el siguiente comando para verificar y validar la configuración de Lighttpd. Si la configuración de Lighttpd es correcta, verás un mensaje de salida como “ Syntax OK “.

sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf

Ahora reinicia el servicio Lighttpd para aplicar la nueva configuración del host virtual usando el siguiente comando.

sudo systemctl restart lighttpd

host virtual lighttpd

Regresa a tu navegador web e ingresa tu nombre de dominio en la barra de direcciones (es decir, http://howtoforge.local/). Y deberías ver la página index.html predeterminada para ese host virtual.

Habilitar HTTPS en el servidor web Lighttpd

Después de configurar el host virtual de Lighttpd, ahora aprenderás cómo habilitar SSL/HTTPS en el servidor web Lighttpd.

Antes de comenzar a configurar SSL, ejecuta el comando a continuación para habilitar el módulo “ssl” para el servidor web Lighttpd. Esto creará un archivo de enlace en “ /etc/lighttpd/conf-enabled/10-ssl.conf “, que contiene la configuración básica de SSL para Lighttpd. Además, se te pedirá generar los certificados SSL para localhost con el nombre “ server.pem

sudo lighty-enable mod ssl

Ahora ejecuta el siguiente comando para crear y generar el certificado SSL para localhost con el nombre “ server.pem “.

openssl req -new -newkey rsa:2048 -nodes -keyout server.com.key -out server.com.csr  
openssl x509 -req -days 365 -in server.com.csr -signkey server.com.key -out server.com.crt
cat server.com.key server.com.crt > server.pem

Y ahora estás listo para implementar el SSL/HTTPS en la configuración del host virtual “ hwdomain.conf “.

Antes de comenzar a configurar el SSL para el host virtual, asegúrate de haber generado certificados SSL para tu nombre de dominio. En este ejemplo, el nombre de dominio es “howtoforge.local” y los certificados SSL están disponibles en el directorio “ /etc/letsencrypt/live/hwdomain.local “.

Edita la configuración del host virtual “ /etc/lighttpd/vhosts/hwdomain.conf “ usando el editor nano.

sudo nano /etc/lighttpd/vhosts/hwdomain.conf

Reemplaza la configuración que acabas de crear con la siguiente configuración.

$HTTP["scheme"] == "http" {  
        $HTTP["host"] == "howtoforge.local" {  
                url.redirect = ("/.*" => "https://howtoforge.local$0")  
        }  
}  
  
$SERVER["socket"] == ":443" {  
    ssl.engine = "enable"  
  
    ssl.pemfile = "/etc/letsencrypt/live/howtoforge.local/fullchain.pem"  
    ssl.privkey = "/etc/letsencrypt/live/howtoforge.local/privkey.pem"  
  
    server.name = "howtoforge.local"  
    server.document-root = "/var/www/hwdomain"  
    server.errorlog = "/var/log/lighttpd/howtoforge.local-error.log"  
    accesslog.filename = "/var/log/lighttpd/howtoforge.local-access.log"  
}

Guarda y cierra el archivo cuando hayas terminado.

A continuación, ejecuta el siguiente comando para verificar y validar la configuración del servidor web Lighttpd, y asegúrate de que obtuviste un mensaje de salida como “Syntax OK”. Después de eso, puedes reiniciar el servicio Lighttpd para aplicar los nuevos cambios.

sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf  
sudo systemctl restart lighttpd

Por último, regresa a tu navegador web y visita el nombre de dominio del host virtual con https delante de la URL (es decir, https://howtoforge.local). Si tu configuración SSL es exitosa, verás el ícono local en la URL, como se muestra en la captura de pantalla a continuación.

Conclusión

¡Felicidades! Has instalado con éxito el stack LLMP (Linux, Lighttpd, MariaDB y PHP-FPM) en el servidor Ubuntu 22.04. También has aprendido cómo configurar un host virtual en el servidor web Lighttpd y habilitar SSL/HTTPS en Lighttpd para tu nombre de dominio.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

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