Cómo Instalar LEMP Stack con PhpMyAdmin en Ubuntu 20.04

Para aquellos de ustedes que no saben qué es LEMP. esta es una combinación de paquetes de software- L. inux, N. ginx (pronunciado E. ngineX), M. ariaDB y P. HP.

Puede usar LEMP. con fines de prueba o en un entorno de producción real para implementar aplicaciones web utilizando frameworks PHP como Laravel o Yii, o sistemas de gestión de contenido como WordPress, Drupal. o Joomla

Quizás se pregunte cuál es la diferencia entre LAMP y LEMP. Bueno, la única diferencia es el servidor web que se incluye: Apache. (en LAMP. y Nginx. (en LEMP. . Ambos servidores web son bastante buenos y aunque Apache. es el que se usa con más frecuencia, Nginx. no retrocede de ninguna manera.

Otro aplicación ampliamente utilizada normalmente instalada junto con la pila LEMP. es PhpMyAdmin. es una herramienta PHP basada en la web para administrar un servidor de base de datos MySQL/MariaDB. desde una web. navegador.

Si está buscando una configuración LAMP para su Ubuntu 20.04. entonces debería leer nuestra guía de configuración LAMP en Ubuntu 20.04.

Requisitos previos

  1. Instalación del servidor Ubuntu 20.04

En este artículo, aprenderáa la instacion y la configuracion la pila LEMP. con PhpMyAdmin. en el servidor Ubuntu 20.04.

Paso 1: Instalar Nginx en Ubuntu 20.04

Nginx. es un mod rápido en servidor web diseñado para servir muchas conexiones simultáneas sin consumir demasiados recursos del servidor. Es por eso que a menudo es la opción preferida en entornos empresariales.

NGINX también se usa comúnmente como balanceador de carga y caché de contenido web. Admite servidores virtuales basados ​​en nombres y basados ​​en IP (análogos a los hosts virtuales en Apache).

Puede instalar Nginx. en su escritorio Ubuntu 20.04. o servidor ejecutando el siguiente comando.

$ sudo apt update

$ sudo apt install nginx  Instalar Nginx en Ubuntu 20.04 Los archivos de configuración de Nginx se almacenan en el directorio /etc/nginx. y su archivo de configuración principal es /etc/nginx/nginx.conf. Es importante destacar que el directorio principal predeterminado para almacenar sus archivos web es /usr/share/nginx/html/. Pero puede usar el estándar /var/www/html. que debe configurarse en el archivo de configuración del bloque del servidor de su sitio web o aplicación.

El instalador de paquetes de Ubuntu activa systemd. para iniciar el servicio Nginx y habilitarlo para que se inicie automáticamente cada vez que se reinicia el servidor. Utilice los siguientes comandos systemctl para confirmar que el servicio se está ejecutando y está habilitado.

$ sudo systemctl status nginx

$ sudo systemctl is-enabled nginx  Verificar el estado del servicio de Nginx

Ahora es el momento de verificar si la instalación de Nginx. fue exitosa llamando a la página de Nginx a través del navegador usando la dirección IP del servidor.

http://SERVER_IP

Si no conoce la dirección IP de su servidor, puede buscarla usando el comando IP como se muestra a continuacion.

$ ip addr show

La página web predeterminada de NGINX debería cargarse como se muestra en la siguiente captura de pantalla, confirmando que la instalación y el funcionamiento son correctos.

 Prueba de instalación de Nginx

Paso 2: Instalación de la base de datos MariaDB en Ubuntu 20.04

MariaDB es un sistema de administración de bases de datos relacionales relativamente nuevo que fue diseñado como una bifurcación comunitaria de MySQL. después de la adquisición por parte de Oracle.

La instalación de MariaDB es simple y se puede iniciar con el comando:

$ sudo apt install mariadb-server mariadb-client Instalar MariaDB en Ubuntu 20.04

El servicio MariaDB también se inicia y habilita automáticamente siempre que comienza el arranque del sistema y puede confirmar esto usando los siguientes comandos.

$ sudo systemctl status mariadb

$ sudo systemctl is-enabled mariadb  Check MariaDB Service

Si desea mejorar MariaDB. puede ejecutar el comando mysql_secure_installation, que proporcionará algunas opciones básicas pero importantes para configurar:

$ sudo mysql_secure_installation

Luego, elija la opción para configurar la raíz de la base de datos (o administrador) contraseña del usuario, siga las instrucciones y lea atentamente las preguntas. Para proteger su servidor de base de datos, responda las preguntas como se muestra en la captura de pantalla.

  • Ingrese la contraseña actual para root (ingrese para ninguna): Ingrese
  • ¿Establecer una contraseña de root? [S/n] s
  • ¿Eliminar usuarios anónimos? [S/n] s
  • ¿Deshabilitar el inicio de sesión de root de forma remota? [S/n] y
  • ¿Eliminar la base de datos de prueba y acceder a ella? [S/n] y
  • ¿Volver a cargar las tablas de privilegios ahora? [Y/n] y

 Servidor MariaDB seguro  

Para crear, administrar y realizar operaciones de base de datos, necesita el comando de shell mysql. con el indicador -u para especificar el nombre de usuario de la base de datos y -p para proporcionar la contraseña del usuario.

Para conectarse como usuario root. utilice el comando sudo (incluso sin el indicador -p); de lo contrario, recibirá el error resaltado en la siguiente captura de pantalla.

$ mysql-u root-p

$ sudo mysql-u root  Acceder a MariaDB Shell

Paso 3: Instalar PHP en Ubuntu 20.04

PHP. es un popular lenguaje de programación de código abierto, flexible y dinámico para crear sitios web y aplicaciones web. Admite una variedad de técnicas de programación. Es importante destacar que la comunidad PHP es grande y diversa, compuesta por innumerables bibliotecas, marcos y otros componentes útiles.

NGINX. usa FPM. ( FastCGI Process Manager. o PHP-FPM. para procesar scripts PHP. PHP-FPM. es una implementación de PHP FastCGI. alternativa ampliamente utilizada que incluye muchas características adicionales y se utiliza para impulsar sitios/aplicaciones web de alto tráfico.

Para instalar PHP. y PHP-FPM. ejecute el siguiente comando que también instalará algunos paquetes adicionales necesarios.

$ sudo apt install php php-mysql php-fpm  Instalar PHP y PHP-FPM en Ubuntu 20.04

Dado que PHP 7.4. es la versión predeterminada de PHP. en Ubuntu 20.04. los archivos de configuración de PHP se encuentran en /etc/php/7.4/ y los archivos de configuración de PHP-FPM. se almacenan en /etc/php/7.4/fpm.

Luego, verifique si el servicio php7.4-fpm. está en funcionamiento y si está habilitado con lo siguiente comando.

$ sudo systemctl status php7.4-fpm

$ sudo systemctl está habilitado php7.4-fpm  Verificar estado de PHP-FPM

Paso 4: Configuración de Nginx para que funcione con PHP-FPM

Ahora debe configurar NGINX. para enviar solicitudes de cliente a PHP-FPM. que de forma predeterminada está configurado para escuchar en un socket UNIX. como lo define el parámetro listen en /etc/php/7.4/fpm/pool. d/www.conf. archivo de configuración del grupo predeterminado.

$ sudo vi/etc/php/7.4/fpm/pool.d/www.conf

En el archivo de configuración del bloque del servidor predeterminado (/etc/nginx/sites-available/default) , descomente la directiva. de ubicación para procesar las solicitudes PHP para que se parezca a la que se muestra en la siguiente captura de pantalla.

sudo vi/etc/nginx/sites-available/default   Configurar el bloque Nginx para usar PHP-FPM Socket

Guarde el archivo y salga.

Luego pruebe la sintaxis de configuración de NGINX para verificar que sea correcta. Si está bien, reinicie el servicio Nginx para aplicar los nuevos cambios.  Elija servidor web para configurar PHPMyAdmin

A continuación, PhpMyAdmin. requiere una base de datos para trabajar. En este mensaje de configuración del paquete, elija Sí para configurar una base de datos para PhpMyAdmin con el paquete dbconfig-common Configurar la base de datos para PhpMyAdmin

En el siguiente mensaje, debe proporcionar una contraseña para PhpMyAdmin. para registrarse con la base de datos MariaDB. Ingrese una contraseña segura y haga clic en Enter. Cree una contraseña para PhpMyAdmin

Paso 6: Configuración de NGINX para servir el sitio PhpMyAdmin

Para permitir que NGINX. sirva al sitio PhpMyAdmin. ubicado en /usr/share/phpmyadmin. cree un enlace simbólico para este directorio en la raíz del documento, luego configure los permisos y la propiedad correctos en el directorio PHPMyAdmin de la siguiente manera.

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

$ sudo chmod 775-R/usr/share/phpmyadmin/

$ sudo chown root: www-data-R/usr/share/phpmyadmin/

Además, asegúrese de que la directiva index. en la configuración predeterminada del bloque del servidor ( El archivo /etc/nginx/sites-available/default. incluye index.php. como se muestra en la siguiente captura de pantalla.