¿Cómo instalar la pila LEMP (Nginx, MariaDB y PHP) en Ubuntu 18.04 LTS?

Introducción

LEMP Stack es un potente conjunto de aplicaciones que se utilizan para desarrollar e implementar aplicaciones y páginas web dinámicas. Tradicionalmente, la pila LEMP consiste en Nginx, MySQL y PHP. Sin embargo, debido a la arquitectura modular de esta pila, estos componentes pueden intercambiarse y reemplazarse por otros de igual funcionalidad..


Este tutorial lo ayudará a instalar el LEMP (Nginx, MariaDB y PHP) en su servidor Ubuntu 18.04.

Si tiene alojamiento VPS o alojamiento web de servidor dedicado con Ubuntu 18.04 instalado, comencemos!

Paso 1 – Instalar Nginx

El primer paso al instalar la pila LEMP es instalar el servidor web Nginx:

$ Sudo apt-get update
$ Sudo apt install nginx

Una vez que se complete la instalación, ejecute el siguiente comando para iniciar Nginx:

$ Sudo systemctl start nginx

Luego, confirme el estado del servidor web recién instalado:

$ Sudo systemctl status nginx

Esto le dará el resultado a continuación:

● nginx.service: un servidor web de alto rendimiento y un servidor proxy inverso
Cargado: cargado (/lib/systemd/system/nginx.service; activado; proveedor preestablecido: activado)
Activo: activo (en ejecución) desde el lunes 2018-10-29 07:58:38 EDT; Hace 57s
Documentos: man: nginx (8)
Proceso: 1836 ExecStart = / usr / sbin / nginx -g daemon on; master_process on; (código = salido, estado = 0 / ÉXITO)
Proceso: 1823 ExecStartPre = / usr / sbin / nginx -t -q -g daemon on; master_process on; (código = salido, estado = 0 / ÉXITO)
PID principal: 1839 (nginx)
Tareas: 2 (límite: 2322)
CGroup: /system.slice/nginx.service
391839 nginx: proceso maestro / usr / sbin / nginx -g daemon on; master_process on;
411841 nginx: proceso de trabajo

Ajuste del cortafuegos

Si el firewall UFW está activado en su servidor Ubuntu, debe ajustarlo para permitir el servidor web Nginx. Debe habilitar el perfil más prohibitivo para habilitar el tráfico que desea a través de UFW.

Primero, ejecute el siguiente comando para ver las aplicaciones que tienen un perfil implementado en su servidor:

$ Sudo ufw lista de aplicaciones

Esto le dará el siguiente resultado:

Aplicaciones disponibles
apache
Apache Full
Apache Secure
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH

De la salida anterior, su claro OpenSSH y Nginx han implementado perfiles UFW en sus sistemas Ubuntu. Para habilitar tanto el tráfico HTTP como HTTP, ejecute el siguiente comando:

$ Sudo ufw permite entrar"Nginx Full"

El verificar el estado de UFW:

Estado: Activo

A la acción desde
—                         ——      —-
OpenSSH PERMITIR en cualquier lugar
Nginx HTTP PERMITIR en cualquier lugar
OpenSSH (v6) PERMITIR en cualquier lugar (v6)
Nginx HTTP (v6) PERMITIR en cualquier lugar (v6)

¡Eso es! Ahora puede ejecutar la página de prueba del servidor Nginx. Vaya a su navegador favorito y busque http: // Dirección IP / o http: // localhost /

Si todo está bien, obtendrá la siguiente página:

Cómo instalar Nginx con la pila LEMP en Ubuntu 18.04

Paso 2 – Instalar MariaDB

Una vez que instale el servidor web, el siguiente paso es instalar el servidor de la base de datos. Como se mencionó anteriormente, instalaremos el servidor MariaDB, que es el mejor reemplazo de la base de datos MySQL.

Para instalar el servidor de base de datos MariaDB desde el repositorio oficial de Ubuntu, ejecute el siguiente comando:

$ sudo apt install mariadb-server mariadb-client

Sin embargo, el MariaDB que se encuentra en estos repositorios podría no ser la versión más reciente. Por esta razón, para instalar el último servidor de base de datos MariaDB, debe instalarlo desde el repositorio oficial de MariaDB.

Para hacerlo, primero ejecute el siguiente comando para agregar el repositorio, luego importe las claves de instalación:

$ sudo apt-get install software-properties-common
$ sudo apt-key adv –recv-keys –keyserver hkp: //keyserver.ubuntu.com: 80 0xF1656F24C74CD1D8
$ sudo add-apt-repository ‘deb [arch = amd64, arm64, ppc64el] http://sgp1.mirrors.digitalocean.com/mariadb/repo/10.3/ubuntu bionic main’

Luego, ejecute el siguiente comando para actualizar el índice del paquete para aceptar el repositorio, luego instale el servidor de la base de datos; MariaDB:

$ Sudo apt update
$ Sudo apt install mariadb-server

Ahora puede ejecutar el siguiente comando para confirmar la versión de MariaDB que ha instalado:

$ Sudo systemctl status mysql

Esto le dará una salida similar a la siguiente:

● mariadb.service: servidor de base de datos MariaDB 10.3.10
Cargado: cargado (/lib/systemd/system/mariadb.service; habilitado; proveedor preestablecido: habilitado)
Activo: activo (en ejecución) desde el miércoles 2018-10-2405: 39: 11 EDT; Hace 2min 57s
Documentos: man: mysql (8)
https://mariadb.com/kb/en/library/systemd/
PID principal: 3428 (mysqld)
Estado:"Tomando sus solicitudes SQL ahora…"
Tareas: 32 (límite: 1152)
CGroup: /system.slice/mariadb.service
└─994 / usr / sbin / mysqld

Asegurando MariaDB

Para asegurar MariaDB ejecuta el siguiente comando:

$ Mysql_secure_installation

Se le pedirá que ingrese la contraseña actual para root. Como acaba de instalar MariaDB, presione ENTER para continuar. Esto lo llevará a través de una serie de preguntas con preguntas que incluyen:

Establecer contraseña de root? [Y / n] escriba Y y presione ENTER. Ingrese y vuelva a ingresar su contraseña preferida y presione enter para implementarla.
¿Eliminar usuarios anónimos? [S / n] S
¿No permitir el inicio de sesión root de forma remota? [S / n] S
¿Eliminar la base de datos de prueba y acceder a ella? [S / n] S
¿Recargar tablas de privilegios ahora? [S / n] S

Una vez que se hayan respondido todas las preguntas, su instalación de MariaDB será segura.

Paso 3 – Instalar PHP

Ejecute el siguiente comando para implementar PHP:

$ sudo apt-get install php-fpm php-mysql

Una vez que PHP está instalado, el siguiente paso es asegurarlo. Esto se puede hacer editando el php.ini archivo. Primero, ejecute el siguiente comando para abrir este archivo:

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

Encuentra esta línea ; cgi.fix_pathinfo = 1 y reemplace 1 con 0:

cgi.fix_pathinfo = 0

Guarde los cambios y salga del nano editor, luego ejecute el siguiente comando para reiniciar PHP-FPM:

$ Sudo systemctl restart php7.2-fpm

A continuación, emita el siguiente comando para verificar el estado del servicio PHP-FPM:

$ Sudo systemctl estado php7.2-fpm

Esto le dará una salida similar a la siguiente:

● php7.2-fpm.service – El PHP 7.2 FastCGI Process Manager
Cargado: cargado (/lib/systemd/system/php7.2-fpm.service; activado; proveedor preestablecido: activado)
Activo: activo (en ejecución) desde el lunes 2018-10-2908: 12: 46 EDT; Hace 7s
Documentos: hombre: php-fpm7.2 (8)
PID principal: 29535 (php-fpm7.2)
Estado:"Proceso activo: 0, Inactivo: 2, Solicitud: 0, Lento: 0, Tráfico: 0req / se "
Tareas: 3 (límite: 1152)
CGroup: /system.slice/php7.2-fpm.service
…………

Configuración de Nginx para utilizar PHP-FPM

Primero, ejecute el siguiente comando para abrir el archivo de host virtual de Nginx:

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

Localice la parte del servidor y agregue la dirección IP o FQDN de su servidor Ubuntu 18.04: Además, verifique si el index.php se agrega línea:

[…]
servidor {
escuchar 80 default_server;
escuchar [::]: 80 default_server;

[…]

root / var / www / html;

# Agregue index.php a la lista si está usando PHP
index index.php index.html index.htm index.nginx-debian.html;

nombre_servidor 192.168.225.22;
[…]

A continuación, ubique #location ~ .php $ sección y ajuste las líneas como se resalta a continuación:

ubicación ~ .php $ {
incluir fragmentos / fastcgi-php.conf;
# #
## Con php-fpm (u otros sockets unix):
fastcgi_pass unix: /run/php/php7.2-fpm.sock;
## Con php-cgi (u otros sockets tcp):
# Fastcgi_pass 127.0.0.1:9000;
}
# Denegar el acceso a los archivos .htaccess, si la raíz del documento de Apache
# Coincide con el de nginx
# #
ubicación ~ /.ht {
negar todo;
}
}

Guarde los cambios y salga del editor nano.

Ahora, ejecute el siguiente comando para verificar el archivo alojado en el directorio / run / php:

$ ls / run / php /

Esto le dará el resultado a continuación:

php7.2-fpm.pidphp7.2-fpm.sock

El archivo almacenado en ese directorio es php7.2-fpm.pid php7.2-fpm.sock y no php7.0-fpm.sock como se enumera en la sección ubicación ~ .php $. Asegúrese siempre de que el nombre ideal se menciona en el ubicación ~ .php $ directiva.

Luego, ejecute el siguiente comando para examinar el archivo de configuración de Nginx en busca de posibles errores de sintaxis:

$ Sudo nginx -t

Si todo está bien, debería obtener el resultado a continuación:

nginx: el archivo de configuración /etc/nginx/nginx.confsyntaxis ok
nginx: la prueba del archivo de configuración /etc/nginx/nginx.conf es exitosa

Ahora reinicie el servicio Nginx:

$ Sudo systemctl restart nginx

Para probar su configuración de PHP a través del navegador web, primero, ejecute el siguiente comando para crear un info.php archivo en la carpeta raíz del documento.

$ sudo nano /var/www/html/info.php

A continuación, agregue el contenido a continuación en este archivo:

<?php
phpinfo ();
?>

Guarde los cambios y salga del nano editor, reinicie Nginx para implementar estos cambios.

Ahora vaya a su navegador favorito y busque http: //IP-address/info.php. Si PHP se ejecuta correctamente, debería obtener el resultado a continuación:

Cómo instalar Nginx con la pila LEMP en Ubuntu 18.04

Instalar módulos PHP

Ahora que tiene un servicio PHP totalmente funcional, instale más módulos PHP para ampliar su funcionalidad. Si no está seguro de qué módulo PHP instalar, ejecute el siguiente comando para ver los módulos disponibles:

$ sudo apt-cachesearch php- | Menos

Esto le dará una salida de todos los módulos PHP que se pueden instalar en su servidor Ubuntu 18.04. Desplácese hacia arriba y hacia abajo para identificar el módulo que desea instalar. El comando utilizado para instalar los módulos PHP toma el siguiente formato:

$ sudo apt-get install "Nombre del módulo"

Por ejemplo para instalar php-gd, ejecuta el comando:

$ sudo apt-get install php-gd

Por otro lado, para instalar todos los módulos PHP disponibles, ejecute el comando:

$ sudo apt-get install php *

Si desea obtener más detalles sobre un módulo PHP, ejecute el comando:

$ sudo apt-cache show "Nombre del módulo"

Una vez que instale los módulos PHP adicionales, ejecute el siguiente comando para reiniciar el servidor Nginx:

$ Sudo systemctl restart nginx

Conclusión

¡Eso es! Ha instalado la pila LEMP en su servidor Ubuntu 18.04. Ahora puede implementar sus aplicaciones web y páginas web utilizando la pila web LEMP recién instalada.

Echa un vistazo a estos 3 principales servicios de alojamiento de Linux

FastComet

Precio inicial:
$ 2.95


Fiabilidad
9,7


Precios
9.5


Fácil de usar
9,7


Apoyo
9,7


Caracteristicas
9.6

Leer comentarios

Visita FastComet

Hostinger

Precio inicial:
$ 0.99


Fiabilidad
9.3


Precios
9.3


Fácil de usar
9.4


Apoyo
9.4


Caracteristicas
9.2

Leer comentarios

Visita Hostinger

ChemiCloud

Precio inicial:
$ 2.76


Fiabilidad
10


Precios
9,9


Fácil de usar
9,9


Apoyo
10


Caracteristicas
9,9

Leer comentarios

Visita ChemiCloud

Artículos de procedimientos relacionados

  • Cómo instalar PHP7.2 en Ubuntu 18.04
    intermedio
  • Cómo instalar OpenCart en un servidor Ubuntu 18.04 o VPS con Apache, MariaDB y PHP 7
    intermedio
  • Cómo instalar Selfoss en un CentOS 7 Linux VPS
    intermedio
  • Cómo instalar Apache, MariaDB y PHP (pila LAMP) en Ubuntu 18.04
    intermedio
  • Cómo instalar la pila LEMP (Linux, Nginx, MySQL, PHP) en un Ubuntu 18.04 VPS o servidor dedicado
    intermedio
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me