GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar Nginx, MariaDB, PHP (LEMP Stack) en Debian 11

La pila LEMP, que significa Linux (el sistema operativo), Nginx (el servidor web), MariaDB/MySQL (la base de datos) y PHP (el lenguaje de programación), es la plataforma perfecta para alojar aplicaciones y sitios web dinámicos de tráfico intensivo.

En esta publicación, veremos cómo instalar LEMP Stack en Debian 11.

Requisitos

Para instalar la pila LEMP en Debian 11, debe tener privilegios de sudo en el sistema.

Instalar la pila LEMP

Instalar Linux

Siga la instalación paso a paso de Debian 11 o actualice Debian 10 "Buster" a Debian 11 "Bullseye".

Continúe con la instalación de AMP (Nginx v1.20, PHP-FPM v7.4, MariaDB v10.5) en Debian 11.

Instalar Nginx

Nginx es un servidor web gratuito de código abierto que proporciona HTTP, proxy inverso, almacenamiento en caché y funcionalidad de equilibrio de carga. Es una excelente alternativa a Apache y es fácil de configurar.

Instale los siguientes paquetes.

sudo apt update

sudo apt install -y curl gnupg2 ca-certificates lsb-release

Descargue la clave de firma del repositorio de Nginx y agréguela al sistema.

curl -fsSL http://nginx.org/keys/nginx_signing.key  | sudo gpg --dearmor -o /usr/share/keyrings/nginx-keyring.gpg

Agregue el repositorio Nginx al sistema.

echo "deb [signed-by=/usr/share/keyrings/nginx-keyring.gpg] http://nginx.org/packages/debian `lsb_release -cs` nginx" | sudo tee /etc/apt/sources.list.d/nginx.list

Instale el paquete Nginx usando el siguiente comando.

sudo apt update

sudo apt install -y nginx

Inicie el servicio Nginx después de la instalación.

sudo systemctl start nginx

Abra un navegador web y visite la siguiente URL.

http://tu-dirección-ip

Obtendrá la página de bienvenida que confirma que Nginx se instaló correctamente y está funcionando.

La raíz de documentos predeterminada de Nginx en Debian 11 es /usr/share/nginx/html/. Los archivos de configuración se encuentran en el directorio /etc/nginx/.

Instalar MariaDB

MariaDB es un reemplazo directo para MySQL que admite todas las características estándar de MySQL. Configuraremos MariaDB como parte de una pila LEMP (Linux, Nginx, MariaDB/MySQL, PHP) en nuestra instalación.

Instale el servidor MariaDB v10.5 desde el repositorio de Debian.

Al momento de escribir este artículo, MariaDB v10.6 está disponible en el repositorio oficial de MariaDB. Si lo desea, puede instalar MariaDB v10.6 en Debian 11 O instale MySQL 8.0 / 5.7 en lugar de MariaDB.
sudo apt install -y mariadb-server mariadb-client

El servicio MariaDB debería estar funcionando en este momento. Primero, verifique el estado del servicio MariaDB usando el siguiente comando.

sudo systemctl status mariadb

A continuación, haga que el servidor MariaDB sea seguro ejecutando el comando mysql_secure_installation.

Instalar PHP

PHP FastCGI Process Manager (FPM) es una implementación alternativa de PHP FastCGI con características adicionales útiles para sitios más grandes y concurridos. Puede manejar muchas más solicitudes por segundo que otras implementaciones de PHP FastCGI.

Instale el paquete php-fpm y la extensión PHP MySQL.

Debian 11 viene con PHP v7.4. Sin embargo, puede instalar PHP 8.0 en Debian 11 desde el repositorio de SURY.
sudo apt install -y php-fpm php-mysql php-cli

Edite el archivo de configuración.

sudo nano /etc/php/7.4/fpm/pool.d/www.conf

Cambie la propiedad y el grupo de www-data a nginx para socket Unix.

listen.owner = nginx
listen.group = nginx

Crear servidor virtual

Ahora, cree un host virtual en el servidor Nginx para los siguientes detalles para probar la pila LEMP.

Nombre del servidor :sitio.itzgeek.local
Raíz del documento :/usr/share/nginx/html/site.itzgeek.local

Cree un archivo de configuración de host virtual site.itzgeek.local.conf en el directorio /etc/nginx/conf.d/.

sudo nano /etc/nginx/conf.d/site.itzgeek.local.conf

Agrega el siguiente contenido.

server {
   server_name site.itzgeek.local;
   root /usr/share/nginx/html/site.itzgeek.local;

   location / {
       index index.html index.htm index.php;
   }

   location ~ \.php$ {
      include /etc/nginx/fastcgi_params;
      fastcgi_pass unix:/run/php/php7.4-fpm.sock;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/site.itzgeek.local$fastcgi_script_name;
   }
}

Cree el directorio raíz del documento para el host virtual.

sudo mkdir /usr/share/nginx/html/site.itzgeek.local

Coloque un archivo PHP en la raíz del documento.

echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/site.itzgeek.local/index.php

Reinicie los servicios Nginx y PHP-FPM.

sudo systemctl restart nginx

sudo systemctl restart php7.4-fpm

Pila LEMP de prueba

Primero, cree una entrada de host para su dominio (site.itzgeek.local ) en el archivo /etc/hosts para probar la pila LEMP localmente. Luego, abra su navegador web y escriba su nombre de dominio en la dirección web.

http://sitio.itzgeek.local

La página se verá como a continuación:

Como puede ver en la captura de pantalla, PHP funciona a través de FPM/FastCGI (API del servidor).

Desplácese hacia abajo en la página para ver la compatibilidad de PHP con MySQL, XML y otras extensiones.

Conclusión

Espero que esta publicación lo haya ayudado a instalar la pila LEMP en Debian 11. Además, puede instalar phpMyAdmin para administrar MariaDB a través de la interfaz web.


Debian
  1. Cómo instalar Phorum con Nginx en Debian 9

  2. Cómo instalar Linux, Nginx, MariaDB, PHP (LEMP Stack) en CentOS 7 / RHEL 7

  3. Cómo instalar y configurar PHP y Nginx (LEMP) en Debian 11

  4. Cómo instalar LEMP Stack Nginx, MySQL, PHP en Debian 11

  5. Cómo instalar LEMP Stack en Debian 10 Buster

Cómo instalar LEMP Stack en Debian 10 Buster Server/Desktop

Cómo instalar phpBB con LEMP (Nginx, MariaDB y PHP) en Debian 11 Bullseye

Cómo instalar LEMP Stack (Nginx, MariaDB y PHP) en AlmaLinux 8

Cómo instalar la pila LAMP en Debian 8

Cómo instalar la pila LEMP en Debian 11

Cómo instalar la pila Nginx, MySQL, PHP (LEMP) en un servidor en la nube Debian 8.3