Cómo instalar Lighttpd con PHP-FPM y MySQL en Ubuntu 20.04 LTS

Lighttpd es un servidor web de código abierto centrado en la simplicidad y el alto rendimiento. Es un servidor web ligero, con un consumo de memoria reducido y bajo, pero que sigue cumpliendo los estándares de seguridad y flexibilidad. El servidor web Lighttpd forma parte de la pila LLMP, que significa Linux, Lighttpd, MySQL/MariaDB y PHP/PHP-FPM.

En este tutorial, te mostraremos cómo instalar y configurar la Pila LLMP en el Servidor Ubuntu 20.04. Instalaremos el servidor web Lighttpd con el servidor de bases de datos MariaDB y el PHP-FPM en la última versión del servidor Ubuntu 20.04.

Requisitos previos

  • Servidor Ubuntu 20.04
  • Privilegios de root
  • Comprensión básica del servidor Ubuntu/Debian

¿Qué vamos a hacer?

  • Instalar el Servidor Web Lighttpd
  • Instalar y Configurar el Servidor de Base de Datos MariaDB
  • Instalar y Configurar PHP-FPM
  • Configurar Lighttpd y PHP-FPM
  • Probar

Paso 1 – Instalar Lighttpd

En primer lugar, instalaremos el servidor web Lighttpd en nuestro servidor Ubuntu 20.04. Los paquetes de Lighttpd están disponibles por defecto en el repositorio de Ubuntu, actualiza todos los repositorios disponibles e instala Lighttpd utilizando el comando apt que aparece a continuación.

sudo apt update
sudo apt install lighttpd

Una vez completada la instalación, inicia el servicio Lighttpd y añádelo al arranque del sistema.

systemctl start lighttpd
systemctl enable lighttpd

El servicio Lighttpd está en marcha, compruébalo utilizando el siguiente comando.

systemctl status lighttpd

A continuación se muestra el resultado que obtendrás.

Iniciar el servicio de servidor web Lighttpd

A continuación, añade los servicios HTTP, HTTPS y SSH al cortafuegos ufw.

sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https

Habilita el servicio de cortafuegos ufw utilizando el siguiente comando.

sudo ufw enable

Escribe«y» para habilitar el cortafuegos ufw y, como resultado, habrás habilitado el cortafuegos en el sistema Ubuntu.

ufw firewall abrir puertos http y https

Ahora abre tu navegador web y escribe la dirección IP del servidor en la barra de direcciones.

http://10.3.3.40/

Y obtendrás la página index.html por defecto de Lighttpd.

Índice.hmtl por defecto de Lighttpd

Como resultado, el servidor web Lighttpd ha sido instalado en el sistema Ubuntu 20.04.

Paso 2 – Instalar y Configurar el Servidor MySQL

En este paso, instalaremos el servidor de bases de datos MySQL y configuraremos el usuario raíz por defecto para MySQL.

Instala el Servidor MySQL utilizando el comando apt que aparece a continuación.

sudo apt install mysql-server mysql-client

Una vez completada la instalación, inicia el servicio MySQL y añádelo al arranque del sistema.

systemctl start mysql
systemctl enable mysql

Ahora comprueba el servicio MySQL utilizando el comando de abajo.

systemctl status mysql

A continuación se muestra el resultado que obtendrás.

Iniciar el Servicio MySQL

Como resultado, el servidor de bases de datos MySQL está en funcionamiento en el sistema Ubuntu.

A continuación, ejecuta el comando ‘mysql_secure_installation’ que aparece a continuación para configurar la contraseña raíz de MySQL.

mysql_secure_installation

Pulsa el botón«Intro» para continuar, escribe tu nueva contraseña para el usuario raíz de MySQL y escribe«Y» para todas las opciones.

Press y|Y for Yes, any other key for No: 
Please set the password for root here.

New password:
Re-enter new password:

Remove anonymous users? (Press y|Y for Yes, any other key for No) : Y
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : Y
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : Y
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : Y

Como resultado, se ha configurado la contraseña raíz de MySQL.

A continuación, accede al shell de MySQL utilizando el usuario raíz como se indica a continuación.

mysql -u root -p

Ahora comprueba todos los usuarios disponibles en MySQL utilizando la siguiente consulta.

select User,Host from mysql.user;

Y obtendrás una lista de usuarios por defecto en el Servidor MySQL. Ahora escribe ‘exit’ para cerrar la sesión en el intérprete de comandos de MySQL.

MySQL Comprobar usuarios

Como resultado, la instalación y configuración del Servidor MySQL para la Pila LLMP se ha completado con éxito.

Paso 3 – Instalar y Configurar PHP-FPM

En este paso, instalaremos los paquetes PHP-FPM y los configuraremos para que funcione con el servidor web Lighttpd.

Instala los paquetes PHP-FPM en el sistema Ubuntu utilizando el siguiente comando apt.

sudo apt install php-fpm php-cgi php-mysql

El comando instalará automáticamente la última versión de PHP-FPM 7.4.

Una vez completada la instalación, ve al directorio ‘/etc/php/7.4/fpm’ y edita la configuración ‘php.ini’ utilizando el editor vim.

cd /etc/php/7.4/fpm/
vim php.ini

Descomenta la siguiente línea para activar el soporte FastCGI.

cgi.fix_pathinfo=1

Guarda y cierra.

A continuación, inicia el servicio PHP-FPM y añádelo al arranque del sistema.

systemctl start php7.4-fpm
systemctl enable php7.4-fpm

Configurar PHP-FPM

Ahora comprueba el servicio PHP-FPM utilizando el siguiente comando.

ss -pl | grep php
systemctl status php7.4-fpm

A continuación se muestra el resultado que obtendrás.

Comprueba el servicio PHP-FPM

Como se puede ver, el servicio PHP-FPM está en funcionamiento en el sistema Ubuntu 20.04. Y por defecto, se está ejecutando bajo el archivo sock ‘/var/run/php/php7.4-fpm.sock’.

Y la instalación de PHP-FPM en ubuntu 20.04 se ha completado.

Paso 4 – Configurar Lighttpd y PHP-FPM

Para este paso, configuraremos el Lighttpd con PHP-FPM.

Ahora ve al directorio ‘/etc/lighttpd/conf-available’, y obtendrás algunas configuraciones.

cd /etc/lighttpd/conf-available/

Copia la configuración por defecto de PHP FastCGI ’15-fastcgi-php.conf’ y edítala usando el editor vim.

cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig
vim 15-fastcgi-php.conf

Ahora obtendrás la configuración FastCGI de PHP por defecto como se muestra a continuación.

fastcgi.server += ( ".php" => 
    ((
        "bin-path" => "/usr/bin/php-cgi",
        "socket" => "/var/run/lighttpd/php.socket",
        "max-procs" => 1,
        "bin-environment" => ( 
            "PHP_FCGI_CHILDREN" => "4",
            "PHP_FCGI_MAX_REQUESTS" => "10000"
        ),
        "bin-copy-environment" => (
            "PATH", "SHELL", "USER"
        ),
        "broken-scriptfilename" => "enable"
    ))
)

La configuración por defecto hará que Lighttpd genere el PHP-CGI por sí mismo.

Para que Lighttpd funcione con el servicio PHP-FPM, sustituye la configuración PHP-CGI por defecto por la siguiente configuración.

fastcgi.server += ( ".php" =>
        ((
                "socket" => "/var/run/php/php7.4-fpm.sock",
                "broken-scriptfilename" => "enable"
        ))
)

Guárdala y ciérrala.

A continuación, habilita el módulo fastcgi y fastcgi-php de Lighttpd utilizando el siguiente comando.

lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php

El comando hará un enlace simbólico de la configuración de los módulos al directorio ‘/etc/lighttpd/conf-enabled’.

Puedes comprobar el directorio ‘ /etc/lighttpd/conf-enabled ‘ utilizando el siguiente comando.

ls -lah /etc/lighttpd/conf-enabled/

Y obtendrás las configuraciones fastcgi y fastcgi-php en el directorio ‘conf-enabled’.

Activar FastCGI y FastCGI PHP Lighttpd

A continuación, para aplicar la nueva instalación y configuración, reinicia el servicio Lighttpd.

systemctl restart lighttpd

Asegúrate de que no se produce ningún error.

Y como resultado, la configuración de Lighttpd con PHP-FPM se ha completado con éxito.

Paso 5 – Probando

Para probar nuestra instalación de LLMP Stack, crearemos un nuevo archivo info script PHP en el directorio raíz del documento por defecto ‘/var/www/html’.

Ve al directorio ‘/var/www/html’ y crea un nuevo archivo php ‘info.php’ utilizando el editor vim.

cd /var/www/html/
vim info.php

Pega el siguiente script.

<?php
phpinfo();
?>

Guárdalo y ciérralo.

A continuación, abre tu navegador web y escribe la dirección IP del servidor con la ruta ‘/info.php’ como se indica a continuación.

http://10.10.10.30/info.php

Y obtendrás el resultado que se muestra a continuación.

phpinfo

Como se puede ver, puedes ver toda la información sobre tu instalación de Lighttpd y PHP-FPM.

Y como resultado, la instalación de LLMP Stack en Ubuntu 20.04 se ha completado con éxito.

Scroll al inicio