Instale Nginx, MariaDB, PHP y PhpMyAdmin en Ubuntu 18.04


Una pila LEMP se compone de paquetes Nginx (pronunciado Engine X), MySQL/MariaDB y PHP/Python instalados en un sistema Linux, y configurados para trabajar juntos como un sistema para alojar sitios web y aplicaciones y más. En esta guía, mostraremos cómo instalar LEMP y la última versión de phpMyAdmin en Ubuntu 18.04.

PhpMyAdmin es una aplicación web gratuita, de código abierto, popular e intuitiva para administrar la base de datos MySQL y MariaDB, que admite una amplia gama de operaciones.

Tiene una multitud de características para simplemente administrar sus bases de datos desde una interfaz web. Le permite importar y exportar datos en varios formatos, administrar múltiples servidores, crear consultas complejas usando Query-by-example (QBE), crear gráficos del diseño de su base de datos en varios formatos y mucho más.

  1. Instalación mínima del servidor Ubuntu 18.04.
  2. Acceso al servidor a través de una sesión SSH.
  3. Accede a la raíz o usa el comando sudo para ejecutar todos los comandos.

En este artículo, explicaremos cómo instalar la pila LEMP con PhpMyAdmin en Ubuntu 18.04.

Paso 1: Instale el servidor web Nginx en Ubuntu 18.04

1. Primero comience por actualizar sus paquetes de software y luego instale Nginx, un servidor web de código abierto, rápido y de alto rendimiento, balanceador de carga y proxy inverso con un lenguaje de configuración fácil de entender.

$ sudo apt update
$ sudo apt install nginx

2. Una vez que lo haya instalado, el servicio Nginx debería iniciarse automáticamente y estará habilitado para iniciarse en el momento del arranque, puede verificar si está en funcionamiento.

$ sudo systemctl status nginx

3. Si tiene un firewall habilitado y ejecutándose en su sistema, debe abrir los puertos 80 (HTTP) y 443 (HTTPS) para permitir las solicitudes de los clientes al servidor web Nginx y volver a cargar las reglas del firewall.

$ sudo ufw allow 80/tcp
$ sudo ufw allow 443/tcp
$ sudo ufw reload

4. A continuación, pruebe si el paquete Nginx se instaló correctamente y funciona bien, escriba esta URL en su navegador web.

http://domain_name/
OR
http://SERVER_IP/

Si ve la página web predeterminada de Nginx, significa que su instalación está funcionando bien.

Paso 2: Instale MariaDB en Ubuntu 18.04

5. A continuación, instale el sistema de gestión de bases de datos MariaDB.

$ sudo apt install mariadb-server mariadb-client

6. Después de la instalación de MariaDB, el servicio debería iniciarse automáticamente y puede verificarlo usando el siguiente comando.

$ sudo systemctl status mysql

7. A continuación, asegure su instalación de MariaDB ejecutando el script de seguridad que viene con el paquete.

$ sudo mysql_secure_installation

Luego ingrese yes/y a las siguientes preguntas de seguridad:

  • ¿Establecer contraseña de root? [Y/n]: y
  • ¿Eliminar usuarios anónimos? (Presione y | Y para Sí, cualquier otra tecla para No): y
  • ¿Deshabilitar el inicio de sesión de root de forma remota? (Presione y | Y para Sí, cualquier otra tecla para No): y
  • ¿Eliminar la base de datos de prueba y acceder a ella? (Presione y | Y para Sí, cualquier otra tecla para No): y
  • ¿Volver a cargar las tablas de privilegios ahora? (Presione y | Y para Sí, cualquier otra tecla para No): y

Paso 3: Instale PHP en Ubuntu 18.04

8. PHP es un lenguaje de programación del lado del servidor popular que se utiliza para generar contenido dinámico en sitios web. Puede instalar PHP, PHP-FPM y otros módulos para desarrollo web usando el siguiente comando (la versión predeterminada en los repositorios de Ubuntu es PHP 7.2).

$ sudo apt install php php-fpm php-common php-mysql php-gd php-cli

9. Después de la instalación de PHP, el servicio PHP7.2-FPM también debería iniciarse automáticamente, puede verificar el servicio usando el siguiente comando.

$ sudo systemctl status php7.2-fpm

10. A continuación, configure PHP-FPM correctamente para servir aplicaciones o sitios web basados en PHP, en el archivo de configuración /etc/php/7.2/fpm/php.ini.

$ sudo vim /etc/php/7.2/fpm/php.ini

Busque el ; cgi.fix_pathinfo u003d 1 y cámbielo por el siguiente.

cgi.fix_pathinfo=0

11. Luego, configure PHP-FPM para procesar los scripts PHP en el archivo de configuración del bloque del servidor predeterminado de Nginx (/ etc/nginx/sites-available/default).

$ sudo vim /etc/nginx/sites-available/default 

Descomente la sección de configuración a continuación para pasar scripts PHP al servidor FastCGI.

location ~ \.php$ {
            include snippets/fastcgi-php.conf;
        	fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}

Después de realizar los cambios, reinicie los servicios php7.2-fpm y nginx para aplicar los cambios recientes.

$ sudo systemctl restart php7.2-fpm
$ sudo systemctl restart nginx

12. Ahora puede probar su configuración de PHP creando una página info.php simple en la raíz del documento de su servidor web, con este único comando.

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php

13. A continuación, abra un navegador web e ingrese cualquiera de las siguientes URL para ver la página de información de php.

http://domain_name/info.php
OR
http://SERVER_IP/info.php

Paso 4: Instale PhpMyAdmin en Ubuntu 18.04

14. Por último, instale PhpMyAdmin para administrar bases de datos MySQL/MariaDB desde la comodidad de un navegador web.

$ sudo apt install phpmyadmin

Durante el proceso de instalación del paquete, se le pedirá que elija el servidor web que debe configurarse automáticamente para ejecutar phpMyAdmin. Nginx no está en la lista de servidores web, simplemente presione la tecla TAB y presione Entrar.

15. A continuación, introduzca la contraseña de MySQL para crear una base de datos para phpmyadmin.

16. En este punto, el proceso de instalación de phpmyadmin debería estar completo. Puede acceder a la interfaz phpMyAdmin en su navegador creando el siguiente enlace simbólico.

$ sudo ln -s  /usr/share/phpmyadmin /var/www/html/phpmyadmin

Debido a que el archivo de índice phpmyadmin es index.php, también asegúrese de haberlo agregado a la lista de archivos de índice, en su archivo de configuración de bloque de servidor predeterminado/etc/nginx/sites-available/default, como se muestra en la siguiente captura de pantalla.

index index.php index.html index.htm index.nginx-debian.html;

17. A continuación, configure los permisos adecuados en el directorio raíz phpmyadmin para evitar errores de acceso denegado.

$ sudo chmod 775 -R /usr/share/phpmyadmin/
$ sudo chown root:nginx -R /usr/share/phpmyadmin/

18. Ahora, desde un navegador web, escriba la siguiente URL para acceder a PhpMyAdmin.

http://domain_name/phpmyadmin
OR
http://SERVER_IP/phpmyadmin

Luego, autentíquese en phpMyAdmin usando su nombre de usuario y contraseña raíz de MySQL/MariaDB, y disfrute.

Nota: Si el inicio de sesión de root falla (porque requiere sudo a partir de MySQL 5.7), es posible que deba crear una nueva cuenta de usuario administrador para acceder al shell mariadb utilizando la cuenta de root desde una terminal.

$ sudo mysql -u root -p
MariaDB [(none)]> CREATE USER 'admin'@'localhost' IDENTIFIED BY '[email protected]!#254tecmint';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
MariaDB [(none)]> FLUSH PRIVILEGES;

Ahora use nuevas credenciales para iniciar sesión nuevamente en PhpMyAdmin para administrar sus bases de datos MySQL.

Para proteger su interfaz web PhpMyAdmin, consulte este artículo: 4 consejos útiles para proteger la interfaz web PhpMyAdmin.

¡Eso es! En este artículo, hemos explicado cómo configurar la pila LEMP con la última versión de PhpMyAdmin en Ubuntu 18.04. Si tiene alguna pregunta, háganoslo saber a través del formulario de comentarios a continuación.