Cómo instalar LEMP Stack en Debian 10

En este tutorial, le mostraremos cómo instalar LEMP Stack en Debian 10. Para aquellos de ustedes que no lo sabían, LEMP es un acrónimo de Linux, Nginx, MySQL / MariaDB y PHP. Linux es el sistema operativo del servidor. Nginx (que se pronuncia Engine-X, de ahí la letra E en el acrónimo) es el software del servidor web.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que está ejecutando en la cuenta de root, de lo contrario, es posible que deba agregar ‘sudo‘a los comandos para obtener privilegios de root. Le mostraré paso a paso la instalación de LEMP en Debian 10 (Buster).

Instale LEMP Stack en Debian 10 Buster

Paso 1. Antes de ejecutar el tutorial a continuación, es importante asegurarse de que su sistema esté actualizado ejecutando lo siguiente apt comandos en la terminal:

sudo apt update

Paso 2. Instalar Nginx en Debian 10.

Nginx es un servidor proxy inverso y de código abierto, ligero pero potente y fácil de configurar. Ejecute el siguiente comando para instalarlo:

sudo apt install nginx

Una vez instalado, Nginx debería iniciarse automáticamente. Compruebe su estado con systemctl:

sudo systemctl status nginx

A continuación, si tiene el firewall UFW en ejecución (generalmente está deshabilitado de manera predeterminada), debe abrir los puertos 80 (HTTP) y 443 (HTTPS) para permitir el tráfico entrante en Nginx:

sudo ufw allow 80
sudo ufw allow 443

Ahora escriba la dirección IP pública de su servidor Debian 10 en la barra de direcciones del navegador. Debería ver la página web predeterminada “Bienvenido a Nginx”, lo que significa que el servidor web Nginx se está ejecutando correctamente.

https://your-server-ip-address

Paso 3. Instalar MariaDB en Debian 10.

MariaDB es el sistema de base de datos predeterminado en Debian 10. Para instalar MariaDB, ejecute el siguiente comando:

sudo apt install mariadb-server

El servicio MariaDB debería estar funcionando en este momento. Verifique el estado del servicio MariaDB usando el siguiente comando:

sudo systemctl status mariadb

De forma predeterminada, MariaDB no está reforzado. Puede proteger MariaDB usando el mysql_secure_installation texto. debe leer y debajo de cada paso cuidadosamente, lo que establecerá una contraseña de root, eliminará usuarios anónimos, no permitirá el inicio de sesión de root remoto y eliminará la base de datos de prueba y el acceso a MariaDB segura:

mysql_secure_installation

Configúrelo así:

- Set root password? [Y/n] y
- Remove anonymous users? [Y/n] y
- Disallow root login remotely? [Y/n] y
- Remove test database and access to it? [Y/n] y
- Reload privilege tables now? [Y/n] y

Para iniciar sesión en MariaDB, use el siguiente comando (tenga en cuenta que es el mismo comando que usaría para iniciar sesión en una base de datos MariaDB):

mysql -u root -p

Paso 4. Instalar PHP en Debian 10.

Instale PHP FastCGI Processing Manager, que incluye las dependencias centrales de PHP:

sudo apt install php-fpm php-cli php-gd php-curl php-mysql

Ahora inicie php-fpm y habilite el inicio automático en el momento del arranque:

sudo systemctl start php-fpm
sudo systemctl enable php-fpm

Paso 5. Configure Nginx para que funcione con PHP.

Ahora creamos un nuevo archivo de bloque de servidor en /etc/nginx/conf.d/ directorio con un editor de texto de línea de comandos:

sudo nano /etc/nginx/conf.d/default.conf

Agregue el siguiente archivo:

server {
  listen 80;
  listen [::]:80;
  server_name _;
  root /usr/share/nginx/html/;
  index index.php index.html index.htm index.nginx-debian.html;

  location / {
    try_files $uri $uri/ /index.php;
  }

  location ~ .php$ {
    fastcgi_pass unix:/run/php/php7.3-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    include snippets/fastcgi-php.conf;
  }

 # A long browser cache lifetime can speed up repeat visits to your page
  location ~* .(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       access_log        off;
       log_not_found     off;
       expires           360d;
  }

  # disable access to hidden files
  location ~ /.ht {
      access_log off;
      log_not_found off;
      deny all;
  }
}

Una vez hecho esto, aplique los cambios realizados recientemente, reinicie los servicios php-fpm y nginx de la siguiente manera:

sudo nginx -t
sudo systemctl reload nginx

Paso 5. Pruebe PHP.

Para probar PHP, cree un archivo de prueba llamado info.php con el contenido a continuación. Save el archivo, luego navegue hasta él para ver si PHP está funcionando:

sudo nano /usr/share/nginx/html/info.php

Pegue el siguiente código PHP en el archivo:

<?php
phpinfo();
?>

Ahora diríjase al navegador y busque el archivo info.php como se muestra https://your-server-ip-address/info.php. Si la página de información de PHP se muestra en su navegador, entonces todo se ve bien y está listo para continuar.

¡Felicidades! Ha instalado LEMP con éxito. Gracias por usar este tutorial para instalar la última versión de LEMP Stack en el sistema Debian. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial de LEMP.