GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo configurar un servidor LEMP en Debian 10 Buster

LEMP es una excelente alternativa a los servidores LAMP tradicionales. Nginx es más ligero y más rápido que Apache en algunas situaciones. También se puede configurar para hacer otras cosas útiles, como servir como un proxy inverso. Al igual que con LAMP, Debian es una excelente plataforma para servidores LEMP. Todo lo que necesita está disponible en los repositorios de Debian, por lo que es fácil comenzar.

En este tutorial aprenderás:

  • Cómo configurar MariaDB
  • Cómo instalar PHP
  • Cómo instalar Nginx
  • Cómo configurar Nginx
  • Cómo probar su servidor

PHPinfo en LEMP en Debian 10.

Requisitos de software y convenciones utilizadas

Configurar MariaDB

El mejor lugar para comenzar a configurar su servidor LEMP es la base de datos. Para esta guía, MaraiDB servirá como base de datos. Dado que es un reemplazo directo para MySQL, MariaDB es una excelente opción. Antes de que pueda usar MariaDB para cualquiera de sus proyectos, necesitará configurarlo. No se necesita mucho para ejecutar una aplicación como WordPress, por lo que no llevará mucho tiempo.

Instalar MariaDB

Comience por instalar el servidor MariaDB.

$ sudo apt install mariadb-server

Configurar la base de datos

Con MariaDB instalado, está listo para preparar su base de datos para trabajar con aplicaciones web. MariaDB tiene un script que lo ayudará a proteger automáticamente su servidor de base de datos, así que comience por ejecutarlo.

$ sudo mysql_secure_installation

Siga las indicaciones del guión. Configure una contraseña de root, cuando se le solicite. Los valores predeterminados son buenos para todo lo demás.

Ahora, inicie sesión en MariaDB usando mysql comando y especificando el root usuario.

# mysql -u root -p

Crea una base de datos para tu proyecto.

CREATE DATABASE newdb;

A continuación, cree un usuario que se conectará y administrará la base de datos.

CREATE USER 'username'@'localhost' IDENTIFIED BY 'userpassword';

Ese usuario necesitará el control total de la base de datos para poder ejecutar una aplicación web. Otórguele todos los privilegios sobre la base de datos y sus tablas.

GRANT ALL PRIVILEGES ON newdb.* TO 'username'@'localhost';

Todo está configurado y listo para usar. Vacíe sus privilegios y salga de MariaDB.

FLUSH PRIVILEGES;
\q

Instalar PHP

PHP es la siguiente pieza del rompecabezas. No necesitará todo el paquete PHP de Debian, solo PHP-FPM. Instálelo con el módulo MySQL.

$ sudo apt install php-fpm php-mysql

Instalar Nginx

Casi todo está en su lugar. Solo necesita configurar el servidor web, Nginx. Para comenzar, instale Nginx en su sistema desde los repositorios de Debian.

$ sudo apt install nginx

Configurar Nginx

Nginx es un servidor web potente y ofrece un montón de opciones. Eso también significa que se necesita mucha configuración para que funcione exactamente como lo desea. Esta guía le brindará una configuración de trabajo básica, pero puede hacer mucho más con Nginx.

Las configuraciones del sitio de Nginx se almacenan en /etc/nginx/sites-available y vinculado a /etc/nginx/sites-enabled . Cree un nuevo archivo para la configuración de su servidor en /etc/nginx/sites-available y ábralo en su editor de texto.

Comience por crear un bloque de servidor para decirle a Nginx que esta es una nueva configuración de sitio.

server {
}

El resto de su configuración irá en ese bloque. A continuación, agregue las direcciones de escucha. Estos son los números de puerto seguidos de atributos importantes de su sitio. Si este va a ser su sitio único o predeterminado, agregue default_server después del número de puerto.

server {
    listen 80 default_server;
    listen [::]:80 default_server;
}

Agregue en la carpeta raíz web donde desea colocar su sitio. /var/www/html es el valor predeterminado habitual. Siga eso informando a Nginx el nombre del índice de su sitio, más conocido como la página de inicio.

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /ver/www/html;
    index index.php index.html;
}

Ahora, agregue el nombre de dominio de su sitio como server_name . Si este es solo un servidor local, use _ en lugar de un dominio.

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /ver/www/html;
    index index.php index.html;

    server_name yourwebsite.com;

}

El siguiente bloque de configuración le dice a Nginx que busque archivos que coincidan con la dirección web actual.

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /ver/www/html;
    index index.php index.html;

    server_name yourwebsite.com;

    location / {
        try_files $uri $uri/ =404;
    }

}

Configuración de Nginx para LEMP en Debian 10.

Finalmente, este último bloque le dice a Nginx que pase los archivos PHP a PHP-FPM. Ahí es donde se realizará la mayor parte del trabajo.

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /ver/www/html;
    index index.php index.html;

    server_name yourwebsite.com;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
    }

}

Cuando haya terminado, guarde su configuración y salga. Ahora, vincúlelo a sites-enabled .

$ sudo ln -s /etc/nginx/sites-available/your-site /etc/nginx/sites-enabled/your-site

Luego, reinicie el servidor para habilitar el sitio.

$ sudo systemctl restart nginx

Prueba tu servidor

La forma más fácil de asegurarse de que su servidor funcione correctamente es crear un nuevo archivo PHP en su raíz web para ejecutar código PHP. Crear index.php en /var/www/html/ y ábralo con su editor de texto. Coloque la siguiente línea de código en el archivo y guárdelo.

<?php phpinfo(); ?>

Abra su navegador y navegue hasta su servidor. Debería ver una tabla de información de PHP sobre su servidor. Si lo hace, su servidor funciona normalmente y está listo para su aplicación PHP, como WordPress.

Conclusión

A partir de ahí, puedes hacer casi cualquier cosa. La configuración del servidor permanecerá en su lugar y todo debería seguir funcionando, a menos que lo cambie. También puede agregar varios sitios más al mismo servidor Nginx con configuraciones similares. Simplemente cambie el server_name para apuntar a un dominio diferente.


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

  2. Cómo configurar un servidor SFTP en Debian 11 Server

  3. Cómo instalar el servidor MySQL en Debian 10 Buster

  4. Cómo instalar Zabbix en Debian 9

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

Cómo configurar un servidor de Minecraft en Debian 10

Cómo instalar Nginx, MariaDB, PHP (pila LEMP) en Debian 9

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

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

Cómo instalar un servidor mínimo Debian 10 (Buster)

Cómo instalar el servidor LEMP en CentOS 8

    Requisitos de software y convenciones de la línea de comandos de Linux
    Categoría Requisitos, convenciones o versión de software utilizada
    Sistema Debian 10 Buster
    Software Nginx, MariaDB y PHP
    Otro Acceso privilegiado a su sistema Linux como root o a través de sudo comando.
    Convenciones # – requiere que los comandos de Linux dados se ejecuten con privilegios de root, ya sea directamente como usuario root o mediante el uso de sudo comando
    $ – requiere que los comandos de Linux dados se ejecuten como un usuario normal sin privilegios