Cómo instalar Linux, Nginx, MySQL y PHP (LEMP Stack) en Ubuntu 22.04

Cómo instalar Linux, Nginx, MySQL y PHP (LEMP Stack) en Ubuntu 22.04

El sistema operativo Linux es un sistema operativo muy popular y ampliamente utilizado para el servidor. Fuelve la mayoría de los sitios web del mundo, incluidos algunos de los más conocidos como Yahoo, Google y Facebook. La lámpara de acrónimo lógico se usa comúnmente para referirse a la mezcla de software gratuito y de código abierto que se usa con frecuencia juntos para crear una arquitectura de servidor que pueda manejar sitios web dinámicos, como los construidos en PHP, MySQL y Apache.

Cada carta en el acrónimo se refiere a un paquete de software separado: dicho, veamos cómo podemos instalar y configurar Lemp Stack en Ubuntu.

Requisitos previos

Suponiendo que tienes un Ubuntu 22 en ejecución.04 Sistema Linux con acceso privilegiado sudo (o raíz).

Acceda a su sistema y abra una terminal. Será bueno actualizar el caché del administrador de paquetes y la actualización de los paquetes actualmente instalados. Para hacer esto ejecutar:

Sudo Apt Update && Sudo Apt Actualad  

Comencemos la instalación de la pila Lemp (Linux, Nginx, MySQL y PHP) en Ubuntu 22.04 Sistema Jammy Jellyfish Linux.

Paso 1 - Instalación de Nginx

Primero, instalaremos el último servidor web NGINX en nuestro sistema. Use los siguientes comandos para agregar PPA para instalar la última versión de Nginx en su Ubuntu 22.04 Linux.

Use los siguientes comandos para instalar Nginx Web Server.

sudo apto install nginx  

Esto instalará el servidor web NGINX e iniciará el servicio.

Ahora, debe permitir puertos de servidor web en el firewall. Para permitir los puertos 80 y 443 en el firewall UFW, ejecute los siguientes comandos.

sudo UFW Permitir 80/TCP  sudo UFW Permitir 43/TCP  

Abra un navegador web en su sistema y escriba la IP del servidor en la barra de direcciones. Obtendrá la página de servidor NGINX predeterminada

Página predeterminada de Nginx

Paso 2 - Instalación de PHP

Primero, debe decidir sobre la versión PHP para instalar en su sistema. También puede instalar varias versiones de PHP en un solo sistema. Actualmente el repositorio contiene PHP 5.6, Php 7.1, 7.2, 7.3, 7.4 y Php 8.0, 8.1. La siguiente instrucción instalará PHP 8.1. Cambie la versión según sus requisitos.

El PPA de OnDrej/PHP contiene todas las versión de PHP para sistemas Ubuntu. Así que agregue este repositorio en su sistema con el comando a continuación:

Sudo Add-APT-Repository PPA: Ondrej/PHP  

Ahora actualice el caché apt e instale PHP 8.1.

Actualización de sudo apto  sudo apto install php8.1  

Esto instalará PHP en su sistema Ubuntu junto con algunas extensiones de PHP útiles.

Paso 3: instale y configure PHP -FPM

PHP-FPM (FastCGI Process Manager) es una implementación alternativa de PHP FASTCGI con algunas características adicionales. Nginx Web Server requerido PHP-FPM para procesar los scripts PHP.

Para instalar PHP-FPM, ejecute el siguiente comando basado en la versión PHP instalada:

sudo apto install php8.1-fpm  

Una vez que terminó la instalación, verifique el estado del servicio:

SUDO SystemCTL Status PHP8.1-fpm  
● Php8.1-fpm.Servicio - El PHP 8.1 Manager de proceso FastCGI Cargado: Cargado (/lib/systemd/system/php8.1-fpm.servicio; activado; Vendor Preset: habilitado) Activo: Activo (en ejecución) desde el Jue 2022-04-07 06:26:55 UTC; Hace 11 minutos documentos: Hombre: Php-FPM8.1 (8) Proceso: 108650 ExecstartPost =/usr/lib/php/php-fpm-socket-helper install/run/php/php-fpm.calcetín/etc/php/8.1/fpm/piscina.D/www.Conf 81 (código = exitido, estado = 0/éxito) PID principal: 108647 (PHP-FPM8.1) Estado: "Procesos activos: 0, inactivo: 2, solicitudes: 2, lento: 0, tráfico: 0req/seg" Tareas: 3 (límite: 1034) Memoria: 10.CPU de 7m: 88ms CGROUP: /Sistema.cortar/php8.1-fpm.Servicio ├─108647 "PHP-FPM: proceso maestro (/etc/php/8.1/fpm/php-fpm.conf) ├─108648 "PHP-FPM: Pool www └─108649" php-fpm: piscina www abren 07 06:26:55 Ubuntu2204 Systemd [1]: Comenzando el PHP 8.1 Administrador de procesos de FastCGI ... Abr 07 06:26:55 Ubuntu2204 Systemd [1]: Comenzó el PHP 8.1 Administrador de procesos FastCGI. 

En el paso 6, configuraremos el host virtual NGINX con PHP-FPM para servir a las aplicaciones PHP.

Paso 4 - Instalación de MySQL

Los repositorios de Ubuntu predeterminados contienen mysql 8.0. Que se puede instalar directamente utilizando el Administrador de paquetes. Para instalar la versión de servidor mysql disponible, ejecute el siguiente comando.

sudo apt-get install mysql-server  

Una vez que la instalación está finalizada, puede asegurar el servidor MySQL ejecutando el siguiente comando.

sudo mysql_secure_installation  

Esto solicitará algunas preguntas para asegurar el servidor MySQL.

  1. Presione 'Y' para habilitar el complemento de contraseña Validar. Esto le permitirá establecer una política de contraseña estricta para cuentas de usuario.
    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 tecla para no: y 
  2. Eligió el nivel de complejidad de contraseña. Lea las 3 opciones y elija una. Para los servidores de producción recomendamos elegir FUERTE política.
    Baja longitud> = 8 longitud media> = 8, numérica, estuche mixta y caracteres especiales de longitud fuerte> = 8, numérica, caso mixto, caracteres especiales y archivo de diccionario. Ingrese 0 = bajo, 1 = medio y 2 = fuerte: 1 
  3. Ingrese una nueva contraseña y vuelva a ingresarla. Asegúrese de que coincida con el nivel de complejidad como se describe anteriormente.
    Nueva contraseña: ************* Vuelva a entrar nueva contraseña: *************** 
  4. Presione 'Y' para continuar con la contraseña proporcionada.
    ¿Desea continuar con la contraseña proporcionada??(Presione Y | y por sí, cualquier otra tecla para no): y 
  5. Elimine usuarios anónimos predeterminados del servidor MySQL:
    Eliminar usuarios anónimos? (Presione Y | y por sí, cualquier otra tecla para no): y 
  6. Deshabilitar el inicio de sesión raíz de los sistemas remotos
    No permitir el inicio de sesión de raíz de forma remota? (Presione Y | y por sí, cualquier otra tecla para no): y 
  7. Eliminar el formulario de base de datos de prueba que MySQL creó de forma predeterminada durante la instalación.
    Eliminar la base de datos de prueba y el acceso a ella? (Presione Y | y por sí, cualquier otra tecla para no): y 
  8. Recargar todos los privilegios para aplicar los cambios anteriores inmediatamente.
    Tablas de privilegio de recarga ahora? (Presione Y | y por sí, cualquier otra tecla para no): y 

Has asegurado el servidor MySQL en la pila de lámparas en Ubuntu 22.04 Sistema Linux.

Recuerde que la contraseña anterior establecida para las cuentas root se utiliza solo para usuarios remotos. Para iniciar sesión desde el mismo sistema, solo escriba mysql en la terminal.

sudo mysql  
Bienvenido al monitor MySQL. Los comandos terminan con; o \ g. Su ID de conexión MySQL es la versión del servidor de 14: 8.0.28-0ubuntu4 (Ubuntu) Copyright (c) 2000, 2022, Oracle y/o sus afiliados. Oracle es una marca registrada de Oracle Corporation y/o sus afiliados. Otros nombres pueden ser marcas comerciales de sus respectivos propietarios. Escriba 'ayuda;' o '\ h' por ayuda. Escriba '\ c' para borrar la instrucción de entrada actual. mysql> 

Escriba 'Salir' para salir de la carcasa MySQL y regresar al terminal del sistema.

Paso 5 - Instalación de paquetes adicionales

También es posible que deba instalar módulos como MySQL y otras extensiones para PHP según los requisitos de la aplicación. Use el siguiente comando para encontrar nuestras extensiones PHP disponibles.

SUDO APT Search PHP8.1-*  

El comando anterior enumerará todos los módulos PHP7 disponibles para la instalación, comencemos la instalación de módulos.

sudo apto install php8.1-mysql php8.1-CURL PHP8.1-xml  

Es posible que también deba instalar otras extensiones de PHP requeridas en su sistema.

Paso 6 - Configurar Nginx VirtualHost

Finalmente, haga la configuración del host Virtual Nginx. Para este ejemplo, estamos editando el archivo de configuración predeterminado.

sudo nano/etc/nginx/sites-habilitado/predeterminado  

y hacer cambios a continuación.

servidor escuchar 80; root/var/www/ejemplo.com; índice índice.php; Ejemplo de server_name.com www.ejemplo.com; ubicación / try_files $ uri $ uri / = 404;  ubicación ~ \ \.PHP $ incluye fragmentos/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.calcetín;  

En el archivo de configuración anterior, busque Ubicación ~ \.Php $ sección. Que se requiere para atender los scripts PHP a través del servidor NGINX.

Debe hacer los mismos cambios en todos los virtuales configurados.

Paso 7: verificar la configuración

Ha completado con éxito la instalación de Nginx, MySQL y PHP en el Ubuntu 22.04 Sistema Linux. Para verificar la integración de PHP con NGINX, cree un script PHP (ejemplo: información.PHP) en el sitio web Document Root y escriba el contenido a continuación.

123

Ahora acceda a este archivo en el navegador web. Lo hará todos los detalles sobre versiones e instalación.

http: // server-ip-or-domain-name/info.php 
Ejecutando el script PHP con NGINX y PHP-FPM

Conclusión

Este tutorial te ayudó a configurar la pila Lemp (Linux, Nginx, MySQL y PHP) en Ubuntu 22.04 Sistema LTS. Ahora, puede alojar aplicaciones web basadas en PHP en su servidor.