Cómo instalar NGINX, MySQL y PHP (LEMP) en Ubuntu 20.04

Cómo instalar NGINX, MySQL y PHP (LEMP) en Ubuntu 20.04

Una combinación de Linux, Nginx, MySQL y PHP se conoce como LEMP Stack es el popular entorno de alojamiento web para la aplicación basada en PHP. Aquí Linux es un sistema operativo, Nginx es el popular servidor web, MySQL es un sistema de administración de bases de datos relacionales utilizados para almacenar datos y PHP es el lenguaje de programación ampliamente utilizado.

Este artículo lo ayudará a instalar Nginx, MySQL 8.0 y PHP 7.4 en el sistema Ubuntu Linux. Comencemos con la instalación de Lemp Stack su máquina Ubuntu.

Requisitos previos

Antes de comenzar la instalación de LEMP en Ubuntu:

  • Un Ubuntu 20 corriendo.04 sistema
  • Inicie sesión como una cuenta provicida de sudo en su sistema. Para crearlo, siga el tutorial de configuración del servidor inicial.
  • Un nombre de dominio/subdominio apuntó a su servidor

Instalación del servidor web Nginx

A continuación, debe instalar el servidor web NGINX en su sistema. Los paquetes NGINX están disponibles bajo los repositorios APT predeterminados.

Ejecute los siguientes comandos para instalarlo:

sudo apt actualización sudo apt install nginx 

Instalación de PHP con PHP-FPM

Php 7.4 paquetes están disponibles bajo los repositorios predeterminados en Ubuntu 20.04 LTS. Use el siguiente comando para actualizar APT Cache e instalar PHP en su sistema.

sudo apt actualización sudo apt instalación -y php7.4 php7.4-FPM 

Instale también módulos PHP adicionales requeridos para su aplicación.

sudo apt install php7.4-curl PHP7.4 GD PHP7.4-json php7.4-MBSSTRING PHP7.4-xml 

Has instalado PHP 7.4 con el paquete PHP FPM en su sistema. Verifiquemos el estado del servicio PHP FPM ejecutando el siguiente comando:

SUDO SYSTEMCTL ESTADO PHP7.4-FPM ● PHP7.4-FPM.Servicio: el PHP 7.4 Administrador de procesos FASTCGI Cargado: Cargado (/lib/systemd/system/php7.4-FPM.servicio; activado; Vendor Preset: habilitado) Activo: Activo (Running) desde martes 2020-06-16 05:15:57 UTC; Hace 34S Docs: Hombre: PhP-FPM7.4 (8) Proceso: 882716 ExecstartPost =/usr/lib/php/php-fpm-socket-helper install/run/php/php-fpm.calcetín/etc/php/7.4/fpm/piscina.D/www.Conf 74> PID principal: 882699 (PHP-FPM7.4) Estado: "Procesos activos: 0, inactivo: 2, solicitudes: 0, lento: 0, tráfico: 0req/seg" Tareas: 3 (límite: 2283) Memoria: 10.3M CGROUP: /SISTEMA.rebanar/php7.4-FPM.Servicio ├─882699 Php-FPM: proceso maestro (/etc/php/7.4/fpm/php-fpm.conf) ├─882714 Php-FPM: Pool www └─882715 php-fpm: piscina www 16 de junio 05:15:57 tecadmin systemd [1]: comenzando el PHP 7.4 Fastcgi Process Manager ... 16 de junio 05:15:57 Tecadmin Systemd [1]: Comenzó el PHP 7.4 Administrador de procesos de FastCGI. 

Instalación de MySQL

El Ubuntu 20 predeterminado.04 Repositorios APT contiene MySQL Server 8.0. Finalmente, instale paquetes de servidor mysql para la base de datos MySQL. Además, instale el paquete PHP-MYSQL para usar el soporte MySQL usando PHP. Use el siguiente comando para instalarlo.

sudo apt install mysql-server php7.4-mysql 

El instalador solicitará la contraseña de root, esta contraseña funcionará para su usuario root de MySQL. Después de instalar MySQL, ejecute el siguiente comando para la configuración inicial del servidor MySQL. Verá que el script solicitará más configuraciones que las versiones MySQL anteriores como la política de validación de contraseña, etc.

sudo mysql_secure_installation 
Asegurar la implementación del servidor MySQL. Conectarse a mysql usando una contraseña en blanco. Validar el componente de contraseña se puede usar para probar contraseñas y mejorar la seguridad. Verifica la fuerza de la contraseña y permite a los usuarios establecer solo aquellas contraseñas que son lo suficientemente seguras. ¿Le gustaría configurar el componente de contraseña de validar??  Presione Y | y para sí, cualquier otra clave para no: y Hay tres niveles de política de validación de contraseña: baja longitud> = 8 longitud media> = 8, numérica, casos mixtos y caracteres especiales fuertes longitud> = 8, numérica, Caso mixto, caracteres especiales y archivo de diccionario Ingrese 0 = bajo, 1 = medio y 2 = fuerte: 2 Establezca la contraseña para root aquí. Nueva contraseña: Vuelva a ingresar una nueva contraseña: Fuerza estimada de la contraseña: 100 ¿Desea continuar con la contraseña proporcionada??(Presione Y | y para sí, cualquier otra clave para no): y Por defecto, una instalación de MySQL tiene un usuario anónimo, lo que permite que cualquiera inicie sesión en MySQL sin tener que tener una cuenta de usuario creada para ellos. Esto está destinado solo a las pruebas y para que la instalación se vaya un poco más suave. Debe eliminarlos antes de mudarse a un entorno de producción. Eliminar usuarios anónimos? (Presione Y | y para sí, cualquier otra tecla para no): y éxito. Normalmente, la raíz solo se debe permitir que se conecte desde 'localhost'. Esto asegura que alguien no pueda adivinar la contraseña de root desde la red. No permitir el inicio de sesión de raíz de forma remota? (Presione Y | y para sí, cualquier otra tecla para no): y éxito. Por defecto, MySQL viene con una base de datos llamada 'prueba' a la que cualquiera puede acceder. Esto también se pretende solo para las pruebas, y debe eliminarse antes de mudarse a un entorno de producción. Eliminar la base de datos de prueba y el acceso a ella? (Presione Y | y para sí, cualquier otra tecla para no): Y - Base de datos de prueba de caída ... éxito. - Eliminar privilegios en la base de datos de prueba ... éxito. La recarga de las tablas de privilegios asegurará que todos los cambios realizados hasta ahora entrarán en vigencia de inmediato. Tablas de privilegio de recarga ahora? (Presione Y | y para sí, cualquier otra tecla para no): y éxito. Todo listo! 

Configurar nginx con php-fpm

Creemos un host virtual NGINX para ejecutar con FPM/FastCGI. Para este tutorial, utilizamos VirtualHost predeterminado. Editar el archivo de configuración del host virtualHost en el editor de texto. Puede crear un nuevo VirtualHost según sus requisitos, así que asegúrese de habilitar cualquier nuevo VirtualHost.

sudo vim/etc/nginx/sites disponible/ejemplo.comunicarse 

Use la configuración de host virtual Nginx Nginx siguiente con configuraciones PHP FPM. Actualizar la configuración como seguidores.

servidor escuchar 80; root/var/www/html; índice índice.índice de PHP.índice HTML.htm; Ejemplo de server_name.com; ubicación / try_files $ uri $ uri / = 404; ubicación ~ \ \.PHP $ incluye fragmentos/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-FPM.calcetín;
123456789101112131415servidor escuchar 80; root/var/www/html; índice índice.índice de PHP.índice HTML.htm; Ejemplo de server_name.com; ubicación / try_files $ uri $ uri / = 404; ubicación ~ \ \.PHP $ incluye fragmentos/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.4-FPM.calcetín;

Guarde sus cambios en el archivo de configuración y cree un enlace al directorio habilitado para el sitio.

sudo ln -s/etc/nginx/sites disponible/ejemplo.com/etc/nginx/sites-habilitado/ejemplo.comunicarse 

Luego reinicie el servicio Nginx para recargar los cambios.

sudo systemctl reiniciar nginx 

Paso 5 - Administrar servicios

Lo hemos hecho con la instalación de la pila de lámparas en Ubuntu 20.04 Sistema LTS. Los siguientes comandos lo ayudarán a iniciar/detener o reiniciar los servicios NGINX y MySQL que se ejecutan con Systemd.

Para reiniciar los servicios Nginx y MySQL, escriba:

sudo systemCtl reiniciar nginx sudo systemctl reiniciar mysql 

Para iniciar los servicios NGINX y MySQL, escriba:

sudo systemctl inicio nginx sudo systemctl iniciar mysql 

Para detener los servicios Nginx y MySQL, escriba:

sudo systemctl detener nginx sudo systemctl detener mysql 

Paso 6 - Ajuste las reglas de firewall

Puede proporcionar directamente un nombre de servicio como "http" o "https" para permitir. El archivo de usos /etc /de firewalld para determinar el puerto correspondiente del servicio.

sudo firewall-cmd --Permanent --add-service = http sudo firewall-cmd --Permanent --add-service = https  sudo firewall-cmd--releir 

Paso 7 - Verifique la configuración

Después de completar toda la configuración. Creemos un información.php Archivo del sitio web Documento Root con el siguiente contenido.

sudo echo "">/var/www/html/info.php 

Ahora acceda a este archivo en el navegador web. Verá la pantalla como a continuación con todos los detalles de PHP en el servidor.

Felicidades! Ha configurado con éxito el servidor LEMP en su Ubuntu 20.04 Sistema LTS.