Tabla de contenido
Una vez más aquí. En esta tarde domingo vengo a dejar un pequeño artículo sobre cómo los usuarios podemos instalar la pila de software LEMP en Ubuntu 20.04. Este acrónimo significa Linux, Nginx, MariaDB y PHP. Es ampliamente utilizada para alojar sitios web / blogs que van desde pequeños a grandes escalas. Si eres fan de los servidores Apache, quizás deberías probar la pila LAMP.
La pila de software LEMP es un grupo de elementos de software que puede utilizarse para ofrecer páginas web y aplicaciones web dinámicas. El acrónimo describe un sistema operativo Linux, con un servidor web Nginx. Los datos backend se almacenan con MariaDB y el procesamiento dinámico se gestiona a través de PHP.
Instalar LEMP en Ubuntu 20.04
A día de hoy, y si se siguen las instrucciones que se van a ver a continuación, conseguiremos instalar los paquetes EMP (Nginx v1.19, PHP v7.4, MariaDB v10.3) en Ubuntu 20.04.
Instalar Nginx desde el repositorio de Nginx
Nginx proporciona repositorio para el sistema operativo Ubuntu. El repositorio oficial de Nginx incluye v1.19.
Para empezar con la instalación de Nginx desde su repositorio, tendremos que abrir una terminal (Ctrl+Alt+T) y comenzar por actualizar la lista de software disponible:
sudo apt update
El siguiente paso será instalar los certificados necesarios. Esto lo haremos con el comando:
sudo apt install -y curl gnupg2 ca-certificates lsb-release
Continuaremos añadiendo la clave y el repositorio necesario:
curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add - echo "deb [arch=amd64] http://nginx.org/packages/mainline/ubuntu focal nginx" | sudo tee /etc/apt/sources.list.d/nginx.list
Una vez añadido el repositorio, volvemos a actualizar el listado de software y continuamos instalando el servidor Nginx:
sudo apt update sudo apt install nginx
Una vez instalado el servidor, vamos a iniciarlo con el comando:
sudo systemctl start nginx
Cuando esté iniciado el servidor, ya podremos abrir un navegador web y visitar la dirección IP de tu nuevo servidor:
http://tu-direccion-IP
En el navegador web, deberíamos ver la página predeterminada de Nginx. Esto confirmará que el servidor web se ha instalado y funciona correctamente.
La raíz de documentos predeterminada de Nginx en Ubuntu 20.04 es /usr/share/nginx/html y sus archivos de configuración se encuentran en el directorio /etc/nginx/.
Instalar el servidor MariaDB
Para que todo funcione correctamente, vamos a instalar el servidor MariaDB utilizando el siguiente comando en una terminal (Ctrl+Alt+T). Por defecto, Ubuntu 20.04 incluye MariaDB 10.3.
sudo apt install mariadb-server mariadb-client
A continuación, vamos a configurar la contraseña raíz de MariaDB y asegurar la instancia de MariaDB utilizando el comando:
sudo mysql_secure_installation
Instalar PHP-FPM
Llegados a este punto vamos a instalar PHP-FPM (PHP-FastCGI Process Manager) para mostrar contenido dinámico escrito en PHP.
Por defecto, Ubuntu 20.04 incluye PHP-FPM v7.4. Podremos instalarlo con el comando:
sudo apt install -y php-fpm php-mysql php-cli
PHP-FPM escucha en el socket /run/php/php7.4-fpm.sock por defecto. Para hacer que PHP-FPM utilice la conexión TCP, vamos a editar el siguiente archivo:
sudo vim /etc/php/7.4/fpm/pool.d/www.conf
Una vez en el archivo, vamos a cambiar el parámetro de escucha.
listen = /run/php/php7.4-fpm.sock
Por el siguiente:
listen = 127.0.0.1:9000
Una vez realizados los cambios, guardamos el archivo y salimos. Lo siguiente será reiniciar el proceso PHP-FPM.
sudo systemctl restart php7.4-fpm.service
Prueba de LEMP
Para probar que todo funciona correctamente vamos a crear un host virtual basado en nombres en el servidor Nginx para probar nuestra instalación de pila LEMP.
- Nombre de dominio: site.entreunosyceros.local
- Raíz del documento: /www/site.entreunosyceros.local
Para empezar vamos a crear un archivo de configuración de host virtual para nuestro dominio en el directorio /etc/nginx/conf.d/:
sudo vim /etc/nginx/conf.d/site.entreunosyceros.local.conf
Dentro del archivo vamos a añadir el siguiente contenido:
server { server_name site.entreunosyceros.local; root /www/site.entreunosyceros.local; location / { index index.html index.htm index.php; } location ~ \.php$ { include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
Después de pegar el anterior contenido, guardamos y salimos. Ahora vamos a crear el directorio raíz para colocar los archivos PHP.
sudo mkdir -p /www/site.entreunosyceros.local
Para probar el soporte de PHP-FPM, lo que haremos será colocar un archivo .php en la raíz del documento del host virtual creado. Esto lo haremos con el comando:
echo "<?php phpinfo(); ?>" | sudo tee /www/site.entreunosyceros.local/index.php
Ahora vamos a cambiar la propiedad del directorio raíz.
sudo chown -R www-data:www-data /www/site.entreunosyceros.local/
En este punto, vamos a tener que reiniciar el servicio Nginx:
sudo systemctl restart nginx
En su servidor o máquina de escritorio, podemos crear una entrada de host para nuestro dominio (en este caso para site.entreunosyceros.local) en el archivo /etc/hosts en caso de que su entorno no tenga un servidor DNS para la resolución de nombres.
sudo vim /etc/hosts
Dentro del archivo, añadiremos una entrada de host con la dirección IP de nuestro equipo, como se muestra a continuación.
10.0.2.15 site.entreunosyceros.local site
Una vez añadida la anterior entrada, solo nos queda abrir nuestro navegador web y escribir el nombre de dominio que estamos utilizando en la barra de direcciones:
http://site.entreunosyceros.local
La página que deberíamos ver será algo como lo siguiente:
Como se puede ver en la captura de pantalla anterior, PHP funciona a través de FPM / FastCGI, como se muestra en la línea API del servidor.
Con todo esto, ya tendremos instalada la pila LEMP en Ubuntu 20.04, para comenzar a desarrollar nuestros proyectos de forma local.