En este tutorial, demostraremos cómo instalar e implementar Lighttpd en un VPS Debian 9 compatible con FPM/FastCGI.
Lighttpd es un servidor web gratuito, de código abierto y de alto rendimiento desarrollado por Jan Kneschke. Tiene una huella de memoria baja en comparación con otros servidores web y está especialmente diseñado para entornos de velocidad crítica. Es seguro, rápido y puede manejar hasta 10 000 conexiones en paralelo en un solo servidor. Es utilizado por muchos sitios web, incluidos YouTube, Bloglines, WikiMedia y muchos más. Lighttpd viene con un amplio conjunto de funciones, como FastCGI, SCGI, autenticación, reescritura de URL, compresión de salida, mecanismo de eventos y más. Estas funciones combinadas crean una solución de servidor web convincente y de alto rendimiento.
Comencemos con la instalación.
Requisitos
- Para el propósito de este tutorial, usaremos un VPS Debian 9.
- También se requiere acceso completo a la raíz SSH o un usuario con privilegios sudo.
- Se apunta un nombre de dominio válido con la dirección IP de su servidor. En este tutorial usaremos
test.example.com
.
Paso 1:Inicie sesión a través de SSH y actualice el sistema
Primero, necesitaremos iniciar sesión en nuestro servidor usando SSH. Puede hacerlo ingresando este comando:
ssh root@IP_Address -p Port_Number
Recuerde reemplazar "root" con su nombre de usuario si no está utilizando el usuario root. Cambie "IP_Address" y "Port_Number" según la dirección IP de su servidor y el número de puerto SSH.
Una vez que haya iniciado sesión, debe actualizar todos sus paquetes a sus últimas versiones disponibles.
apt-get update -y apt-get upgrade -y
Una vez que se completan las actualizaciones, podemos continuar con el siguiente paso.
Paso 2:Instalar el servidor MariaDB
Primero, instalaremos el servidor de base de datos MariaDB ejecutando el siguiente comando:
apt-get install mariadb-server mariadb-client
Una vez que se haya completado la instalación, inicie el servicio MariaDB y habilítelo para que se inicie después de reiniciar el sistema:
systemctl start mariadb systemctl enable mariadb
A continuación, inicie sesión en el shell de MariaDB con el siguiente comando:
mysql
Si todo está bien, debería ver el siguiente resultado:
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 4 Server version: 10.1.38-MariaDB-0+deb9u1 Debian 9.8 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]>
A continuación, asegure su instalación de MariaDB utilizando mysql_secure_installation
guion. Este script eliminará a los usuarios anónimos, no permitirá el inicio de sesión raíz de forma remota y eliminará la base de datos de prueba.
mysql_secure_installation
Responda todas las preguntas como se muestra a continuación:
Enter current password for root (enter for none): press [Enter] Set root password? [Y/n]: N Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y
Una vez que MariaDB esté protegido, puede continuar con el siguiente paso.
Paso 3:Instalar Lighttpd
De forma predeterminada, la última versión de Lighttpd está disponible en el repositorio predeterminado de Debian 9. Puede instalarlo simplemente ejecutando el siguiente comando:
apt-get install lighttpd
Una vez instalado, inicie el servicio Lighttpd y habilítelo para que se inicie después de reiniciar el sistema con el siguiente comando:
systemctl start lighttpd systemctl enable lighttpd
Puede verificar el estado de Lighttpd con el siguiente comando:
systemctl status lighttpd
Si todo está bien, debería obtener el siguiente resultado:
● lighttpd.service - Lighttpd Daemon Loaded: loaded (/lib/systemd/system/lighttpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-08-12 14:48:35 UTC; 29s ago Main PID: 2354 (lighttpd) CGroup: /system.slice/lighttpd.service └─2354 /usr/sbin/lighttpd -D -f /etc/lighttpd/lighttpd.conf Aug 12 14:48:35 debian9 systemd[1]: Starting Lighttpd Daemon... Aug 12 14:48:35 debian9 systemd[1]: Started Lighttpd Daemon.
Ahora, abra un navegador web y visite la siguiente URL http://test.example.com
. Debería obtener la página predeterminada de Lighttpd como se muestra a continuación:
La raíz del documento por defecto de Lighttpd es /var/ww/html
en Debian 9, el archivo de configuración principal es/etc/lighttpd/lighttpd.conf
y otros archivos de configuración se encuentran en /etc/lighttpd/conf-available
directorio.
Paso 4:Instalar PHP y PHP-FPM
A continuación, instalaremos PHP y PHP-FPM y los habilitaremos para trabajar con Lighttpd. Puede instalar PHP junto con todas sus extensiones necesarias con el siguiente comando:
apt-get install php php-cli php-common php-fpm php-mysql
Una vez instalado, debemos modificar el archivo php.ini para habilitar el soporte de PHP para Lighttpd.
nano /etc/php/7.0/fpm/php.ini
Cambie el valor de cgi.fix_pathinfo a 1:
cgi.fix_pathinfo=1
Guarde y cierre el archivo.
Por defecto, PHP-FPM escucha en el socket UNIX /var/run/php7-fpm.sock
. Entonces, necesitaremos modificar el archivo /etc/php/7.0/fpm/pool.d/www.conf
y configure PHP-FPM para que escuche en el socket TCP.
nano /etc/php/7.0/fpm/pool.d/www.conf
Encuentra la línea:
listen = /run/php/php7.0-fpm.sock
Reemplácelo con la siguiente línea:
listen = 127.0.0.1:9000
Guarde y cierre el archivo. A continuación, abra el archivo 15-fastcg-php.conf
para habilitar la compatibilidad con FastCGI en Lighttpd:
nano /etc/lighttpd/conf-available/15-fastcgi-php.conf
Encuentra las siguientes líneas:
"bin-path" => "/usr/bin/php-cgi", "socket" => "/var/run/lighttpd/php.socket",
Reemplácelos por los siguientes:
"host" => "127.0.0.1", "port" => "9000",
Guarde y cierre el archivo. Luego, habilite los módulos FastCGI y FastCGI-PHP con el siguiente comando:
lighty-enable-mod fastcgi lighty-enable-mod fastcgi-php
Finalmente, reinicie el servicio Lighttpd y PHP-FPM para aplicar todos los cambios de configuración:
systemctl restart php7.0-fpm systemctl restart lighttpd
Puede verificar el PHP-FPM con el siguiente comando:
systemctl status php7.0-fpm
Si todo está bien, debería obtener el siguiente resultado:
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2019-08-12 14:55:36 UTC; 1min 56s ago Docs: man:php-fpm7.0(8) Main PID: 12288 (php-fpm7.0) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec" Tasks: 3 (limit: 7372) CGroup: /system.slice/php7.0-fpm.service ├─12288 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) ├─12289 php-fpm: pool www └─12290 php-fpm: pool www Aug 12 14:55:36 debian9 systemd[1]: Stopped The PHP 7.0 FastCGI Process Manager. Aug 12 14:55:36 debian9 systemd[1]: Starting The PHP 7.0 FastCGI Process Manager... Aug 12 14:55:36 debian9 systemd[1]: Started The PHP 7.0 FastCGI Process Manager.
Paso 5:prueba la compatibilidad con PHP-FPM en Lighttpd
Lighttpd ahora está instalado y configurado para funcionar con FPM/FastCGI. A continuación, necesitaremos crear un archivo de configuración de host virtual para que Lighttpd pruebe la compatibilidad con PHP-FPM.
Primero, cree un directorio de host virtual con el siguiente comando:
mkdir /var/www/html/testsite
A continuación, cree un archivo de configuración de host virtual con el siguiente comando:
nano /etc/lighttpd/conf-available/lighttpd.conf
Agregue las siguientes líneas:
$HTTP["host"] =="test.example.com" { server.document-root = "/var/www/html/testsite" index-file.names = ( "info.php" ) }
Guarde y cierre el archivo. Luego, habilite el host virtual con el siguiente comando:
ln -s /etc/lighttpd/conf-available/lighttpd.conf /etc/lighttpd/conf-enabled/
A continuación, cree un archivo info.php dentro del directorio /var/www/html/testsite para probar la compatibilidad con PHP-FPM:
nano /var/www/html/testsite/info.php
Agregue las siguientes líneas:
<?php phpinfo(); ?>
A continuación, establezca el permiso correcto en /var/www/html/testsite
con el siguiente comando:
chown -R www-data:www-data /var/www/html/testsite
Finalmente, reinicie el servicio Lighttpd con el siguiente comando:
systemctl restart lighttpd
Ahora, abra su navegador web y escriba la URL http://test.example.com
. Debería ver que PHP está funcionando a través de FPM/FastCGI en la siguiente página:
En este tutorial, aprendimos cómo instalar Lighttpd en un VPS Debian 9. También aprendimos cómo habilitar MariaDB, PHP y PHP-FPM con FastCGI en Lighttpd. Para obtener más información, puede visitar la documentación oficial de Lighttpd.
Por supuesto, no es necesario que instale Lighttpd en un VPS Debian 9 si utiliza una de nuestras soluciones de alojamiento gestionado Debian, en cuyo caso simplemente puede solicitar a nuestros administradores expertos de Linux que configuren Lighttpd en un VPS Debian 9 por usted. Están disponibles las 24 horas del día, los 7 días de la semana y atenderán su solicitud de inmediato.
PD . Si te gustó esta publicación sobre cómo instalar Lighttpd en un VPS Debian 9 , compártalo con sus amigos en las redes sociales utilizando los accesos directos para compartir a continuación, o simplemente deje un comentario en la sección de comentarios. Gracias.