Configure un servidor Ubuntu 20.04 con Lighttpd, MySQL y PHP-FPM
Lighttpd es un servidor web de código abierto rápido y flexible que tiene un rendimiento comparable al de Nginx. Para alojar aplicaciones PHP como WordPress, Magento, etc. en un servidor Lighttpd, necesita configurar una pila LLMP en su servidor. LLMP son las siglas de Linux, Lighttpd, MySQL y PHP.
Gracias al rendimiento de Lighttpd, una pila LLMP supera fácilmente a una configuración LAMP (Apache) en cualquier volumen de tráfico determinado. En lo que respecta a LLMP vs LEMP (Nginx), el rendimiento es en su mayoría similar. Pero como Nginx es una opción más popular entre las masas, existe un excelente soporte de la comunidad para las configuraciones de LEMP.
Si está buscando un servidor para manejar una gran cantidad de tráfico con un consumo mínimo de memoria, una configuración LLMP es una buena opción. En esta guía, veremos cómo instalar la pila LLMP en una máquina Ubuntu 20.04 LTS.
Prerrequisitos
Necesitará un servidor Ubuntu 20.04 LTS e inició sesión como sudo
usuario habilitado. También necesitará tener conocimientos básicos de los comandos de Linux.
Antes de comenzar, actualice y actualice los paquetes en su servidor Ubuntu 20.04 emitiendo el siguiente comando:
sudo apt-get update && apt-get upgrade
Instale el servidor web Lighttpd
Para instalar el servidor web Lighttpd en su máquina Ubuntu 20.04, simplemente ingrese el siguiente comando en su terminal.
sudo apt-install lighttpd
Una vez que se complete el proceso de instalación, escriba los siguientes comandos para iniciar y habilitar el servidor web Lighttpd.
systemctl start lighttpd systemctl enable lighttpd
Para verificar el estado del servidor Lighttpd, escriba el comando que se muestra a continuación.
luz de estado systemctl
💡 Consejo: Para eliminar la última línea con (FIN) escrito en ella, presione ESC
y q
para poder ingresar más comandos.
Ahora configuraremos el servicio HTTP, HTTPS y SSH en el firewall de UFW. UFW es la herramienta de configuración de firewall predeterminada para Ubuntu, también llamada Firewall sin complicaciones. Escriba los siguientes comandos y presione enter uno por uno.
sudo ufw permitir ssh sudo ufw permitir http sudo ufw permitir https
Habilite el firewall UFW emitiendo el siguiente comando:
sudo ufw habilitar
Si recibe un mensaje para "El comando puede interrumpir las conexiones ssh existentes", escriba y
y golpea ingresar
.
Para verificar la instalación de Lighttpd, acceder al servidor por su dirección IP en un navegador web. Si muestra la siguiente pantalla, significa que su servidor web Lighttpd se instaló correctamente en su máquina Ubuntu 20.04.
Instalar y configurar el servidor MySQL
MySQL es un sistema de gestión de bases de datos relacionales basado en un lenguaje de consulta estructurado. Para instalar el servidor y el cliente MySQL en Ubuntu 20.04, copie / pegue el siguiente comando y presione ingresar
.
sudo apt-get install mysql-server mysql-client
Le mostrará un mensaje de que esta operación ocupará 247 MB de espacio adicional en el disco después de la instalación. Entonces, escriba y
y golpea ingresar
.
Una vez que se complete el proceso de instalación, inicie y habilite el servidor MySQL y agréguelo al inicio del sistema emitiendo los siguientes comandos uno por uno.
systemctl iniciar mysql systemctl habilitar mysql
Verás el siguiente mensaje en tu pantalla:
Para verificar el estado de su servicio MySQL, escriba el siguiente comando en la terminal. El mysql.service
el estado debe mostrarse como "activo (en ejecución)".
estado de systemctl mysql
Para configurar los ajustes de seguridad de MySQL, Ejecutaremos un script de seguridad que viene con el paquete MySQL. Escriba el siguiente comando y presione enter para ejecutar el script.
mysql_secure_installation
El comando anterior le pedirá algunas preguntas para configurar el servidor MySQL.
Le pedirá que configure su contraseña usando COMPONENTE VALIDAR CONTRASEÑA
. Este complemento lo ayudará a configurar una contraseña segura para sus bases de datos MySQL. imprenta y
y presione enter para habilitar este complemento. Escribe 0
, 1
, o 2
para elegir la política de validación de contraseña que determina el nivel de seguridad de su contraseña.
Ingrese una contraseña segura, el VALIDAR CONTRASEÑA
El complemento le informará sobre la fuerza estimada de su contraseña. imprenta y
y golpea ingresar
.
Después de configurar una contraseña segura, configure el resto de la configuración como se explica a continuación.
- Eliminar usuarios anónimos - Ingresar
y | Y
Porque MySQL por defecto contiene un usuario anónimo que permite que cualquiera se conecte al servidor MySQL sin tener la cuenta de usuario. Por lo tanto, elimínelo.
- No permitir el inicio de sesión de root de forma remota - Ingresar
y | Y
Porque solo se debe permitir root desde el "localhost". Asegura que alguien no pueda iniciar sesión como root fuera de su red.
- ¿Eliminar la base de datos de prueba y acceder a ella? - Ingresar
y | Y
Porque MySQL viene con una base de datos de prueba a la que cualquiera puede acceder. Por lo tanto, elimínelo antes de pasar al entorno de producción.
- ¿Recargar tablas de privilegios ahora? Ingresar
y | Y
Porque esto asegurará que los cambios que ha realizado hasta ahora entren en vigor de inmediato.
Para verificar todos los usuarios que pueden acceder al servidor MySQL, primero, inicie sesión en MySQL como root usando el siguiente comando:
mysql -u root -p
Luego, emita el siguiente comando para obtener la lista de usuarios en su servidor MySQL:
seleccione Usuario, Host de mysql.user;
Una vez que haya verificado la lista de usuarios, escriba Salida
para cerrar la sesión del shell MySQL.
Instalación de PHP: administrador de procesos Fast CGI (PHP-FPM)
PHP-FPM permite que un servidor maneje una enorme cantidad de carga incluso en un servidor de gama baja. Afirma reducir el tiempo de carga en un 300 por ciento en ciertas aplicaciones PHP.
Para instalar los últimos paquetes PHP-FPM, ejecute el siguiente comando y presione enter.
sudo apt-install php-fpm php-cgi php-mysql
Ajuste la configuración de PHP-FPM haciendo algunos cambios en el php.ini
Archivo.
Para hacer esto, primero navegue hasta el directorio/etc/php/7.4/fpm
utilizando el CD
comando como se muestra a continuación.
cd /etc/php/7.4/fpm
Luego use el siguiente comando para abrir php.ini
archivo en el editor de vim.
vim php.ini
Descomentar el cgi.fix_pathinfo = 1
línea. Busque la línea que contiene "cgi.fix_pathinfo = 1
'En el editor. Para hacer esto presione "Esc
"Y escriba /cgi.fix_pathinfo=1
y golpea ingresar
.
Entonces presione I
para cambiar al modo de inserción y quitar el ;
(punto y coma) antes de la línea o presione el X
botón para descomentar la línea en php.ini
Archivo.
Una vez hecho esto, guarde los cambios que realizó en el archivo y salga del editor vim presionando Esc
para entrar en el modo de comando y luego escribir : wq
y golpea ingresar
para salir del editor.
Iniciar y habilitar PHP-FPM emitiendo los siguientes comandos:
systemctl iniciar php7.4-fpm systemctl habilitar php7.4-fpm
Para verificar el estado de PHP-FPM, ejecute el siguiente comando:
estado de systemctl php7.4-fpm
Configuración de Lighttpd y PHP-FPM
Ahora haremos algunos cambios en el 15-fastcgi-php.conf
archivo de configuración para configurar Lighttpd y PHP-FPM.
Navegue al directorio adecuado escribiendo este comando y presione enter.
cd, etc / lighttpd / conf-available /
Si desea conservar una copia duplicada del "15-fastcgi-php.conf
", Utilice el siguiente comando.
cp 15-fastcgi-php.conf 15-fastcgi-php.conf.orig
Ahora, abriremos y editaremos este archivo usando el editor vim usando el siguiente comando:
vim 15-fastcgi-php.conf
Aquí, reemplace el contenido de configuración PHP-CGI predeterminado con el contenido que se muestra a continuación.
fastcgi.server + = (".php" => (("socket" => "/var/run/php/php7.4-fpm.sock", "broken-scriptfilename" => "habilitar")))
Para hacer esto, siga los pasos en el orden específico que se muestra a continuación.
- Imprenta '
Esc
' y 'I
’Para entrar en el modo de inserción. - Ahora navega a las líneas que tenemos que borrar usando el
arriba
oabajo
teclas de flecha (las teclas de flecha hacia arriba y hacia abajo funcionan en el editor vim y no en el editor vi). - Para eliminar una línea específica presione
dd
. Y para eliminar una sola palabra, presioneX
. - Ahora copie / pegue el código anterior en el archivo.
- Luego guarde el archivo y salga de vim presionando
Esc
,: wq
, yingresar
.
Ahora Lighttpd funcionará adecuadamente con PHP-FPM y está configurado apropiadamente.
Habilitar módulos FastCGI Lighttpd usando los siguientes comandos:
lighttpd-enable-mod fastcgi lighttpd-enable-mod fastcgi-php
Por último, reinicie el servidor web Lighttpd para aplicar las nuevas configuraciones y configuraciones.
systemctl reiniciar lighttpd
Prueba su servidor LLMP
Para probar su servidor LLMP recién creado, crearemos un archivo en la raíz del directorio público en / var / www / html
.
Primero navegue al directorio usando el CD
comando como se muestra a continuación.
cd / var / www / html /
Crea un nuevo archivo digamosfile.php
como se muestra a continuación usando el editor vim.
vim file.php
Ahora escriba este sencillo script en el editor entrando en el modo de inserción presionando I
.
Guarde y salga del archivo presionando Esc
y : wq
.
El phpinfo ()
es una función que invoca información relacionada con php. Esta secuencia de comandos es solo para probar si está funcionando o no. También puede utilizar otros scripts php de su elección.
Finalmente, para probar su servidor, abra un navegador web acceda al archivo que acabamos de crear ingresando la siguiente dirección //your-server-ip/file.php
.
Si aparece la página Versión PHP como resultado, podemos decir con seguridad que la pila LLMP se instaló correctamente en su máquina Ubuntu 20.04. Ahora puede instalar las aplicaciones PHP que desea ejecutar en el servidor.