En esta guía, discutiremos cómo instalar Nginx en tu servidor Ubuntu 22.04, ajustaremos o verificaremos el firewall para que acepte conexiones entrantes, instaremos PHP y por último un motor de base de datos, en este caso MySQL.
Nginx es uno de los servidores web más populares del mundo y es responsable de alojar algunos de los sitios con más tráfico y más grandes de internet. Es una opción ligera que se puede utilizar como servidor web o proxy inverso.
Los entornos Linux, Nginx, PHP y MySQL, conocidos colectivamente como servidores LEMP, representan un enfoque integral en el mundo del alojamiento web. Un servidor LEMP es un conjunto de software que proporciona la infraestructura esencial para alojar y servir aplicaciones web. Es importante destacar que LEMP es un acrónimo que representa los siguientes componentes clave:
Primero, Linux: El sistema operativo subyacente. Además, Linux es una elección popular debido a su estabilidad, seguridad y naturaleza de código abierto.
En segundo lugar, la ‘E’ de Engine-X (Nginx): El servidor web utilizado en la pila. Además, Nginx, que se pronuncia como «Engine-X», es conocido por su alto rendimiento, estabilidad, configuración sencilla y bajo consumo de recursos.
Posteriormente, MySQL: El sistema de gestión de bases de datos. Además, MySQL se utiliza para almacenar y gestionar los datos de las aplicaciones web, aunque en ocasiones se reemplaza por MariaDB, una bifurcación de MySQL.
Finalmente, PHP: El lenguaje de programación del lado del servidor. Además, PHP es ampliamente utilizado para el desarrollo de aplicaciones web y se integra perfectamente con Nginx y MySQL, completando así la pila LEMP.
Paso 1 – Instalar Nginx en Ubuntu 22
Para comenzar este punto debemos tener nuestra instancia en Ubuntu lista para trabajar y enfocarnos en este punto. Para instalar nuestro servidor LEMP como servidor web daremos inicio con los siguientes comandos utilizando el gestor de paquetes apt:
$ sudo apt update $ sudo apt install nginx
Seguidamente podría ser necesario configurar el software del cortafuegos para permitir el acceso al servicio. Nginx se registra como un servicio en ufw durante su instalación, facilitando así el proceso de permitir el acceso a Nginx. Comprobaremos las configuraciones de aplicación con las que ufw puede trabajar, escribe el siguiente comando:
$ sudo ufw app list
Deberías obtener una salida
Output
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
Se recomienda que habilites el perfil más restrictivo que aún permita el tráfico que necesitas. Dado que en esta guía no has configurado SSL para tu servidor, solo necesitarás permitir el tráfico HTTP normal en el puerto 80.
$ sudo ufw allow 'Nginx HTTP'
Comprobar funcionamiento de Nginx
Si queremos comprobar el estado de funcionamiento del servicio Nginx debemos colocar el siguiente comando
$ service nginx status
¿Me falta mucho? para nada.. si luego de colocar el comando anterior tu consola se ve como la imagen siguiente, entonces te tengo buenas noticias, has terminado el primer paso. Por lo contrario tendrás que revisar cada uno de los pasos anteriormente descritos o comprobar tu versión de Ubuntu.
Comprobaremos el funcionamiento de Nginx desde el navegador accediendo desde la dirección IP de nuestra instancia, ejemplo http://x.x.x.x
El resultado esperado debería ser esta pantalla
Paso 2 – Instalar PHP con Nginx en Ubuntu 22.04
Ahora que tenemos Nginx instalado vamos a instalar PHP
$ sudo apt install php php-fpm php-mysql
Al finalizar la instalación de PHP vamos a configurar Nginx para usar PHP, para ello abre el archivo de configuración predeterminado de Nginx en tu editor de texto preferido.
$ sudo nano /etc/nginx/sites-available/default
Dentro del bloque de servidor, agrega las siguientes líneas para manejar los archivos PHP:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php-fpm.sock;
}
Guarda los cambios y cierra el editor.
Ya casi hemos terminado… Para que tu servidor tome los cambios es necesario reiniciar el servicio de Nginx
$ sudo systemctl restart nginx
Otra forma de reiniciar Nginx..
$ sudo service nginx restart
Para comprobar que todo este instalado correctamente puedes asegurarte creando un archivo phpinfo y visualizarlo desde tu navegador, allí deberías poder ver apache activo
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
Paso 3 – Instalar MySQL con Nginx en Ubuntu 22
MySQL es un sistema de administración de bases de datos diseñado para almacenar y manejar la información de tus aplicaciones.
Primero, para instalar MySQL utilizaremos estos comandos:
sudo apt update
sudo apt install mysql-server
Durante la instalación, podrían aparecer mensajes de actualización. En tal situación, simplemente selecciona «OK». El motivo de esto es por nuevas versiones disponibles que puedan existir en tu Sistema Operativo.
En el listado de instalación de MySQL selecciona nginx como cliente de servicio Web.
Cuando la instalación haya sido completada podremos comprobar la instalación verificando la versión del paquete:
mysql --version
Si todo esta bien, debe regresarnos algo como esto:
mysql Ver 8.0.34-0ubuntu0.22.04.1 for Linux on x86_64 ((Ubuntu))
Establecer contraseña al super usuario root de MySQL
En internet existen muchas formas, te indico uno de mis métodos preferidos
1. Acceder a MySQL: para acceder solo debemos escribir "mysql" en minusculas, asi:
$ mysql
2. Asignar una constraseña al root de MySQL. Para MySQL versión 8 este comando te debe funcionar:
$ ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'tuContraseñaAqui';
Nota: recuerda almacenar tu contraseña en un sitio seguro.
3. Como resultado final, si has llegado hasta aqui solo necesitas iniciar sesión y habremos terminado
$ mysql -uroot -p
Esperamos que te haya gustado el artículo, nos ayudas mucho compartiéndolo por tus redes
Alejandro L. Jaramillo
CEO de Limónbyte
Ingeniero de Sistemas, Magister en Gerencia mención sistemas de la Información
Desarrollador de Software, SCRUM Master, Experto en Soluciones GNU/Linux
instagram.com/ingalejaramillo