Cómo instalar LEMP Stack en Debian 9 Stretch
En este artículo, lo guiaremos para instalar la pila LEMP en el nuevo Debian GNU / Linux 9 Stretch. LEMP significa Linux, Nginx (como en Engine X), MySQL y PHP. Desde Debian 9, Mariadb es el servidor mysql predeterminado. Pero también puede elegir mysql para la instalación.
Es la contraparte de la pila LAMP más popular, excepto que en lugar de Apache httpd usamos nginx. Anteriormente, probamos la pila LEMP en Ubuntu y el contenedor de la ventana acoplable. Esta vez podemos probar el sabor Debian.
Instalación de Nginx, Mariadb y PHP
Empezaremos instalando todos los paquetes que necesitemos. Nginx, MariaDB y PHP se instalan con este comando
apt install nginx mysql-server mysql-client php-fpm php-mysql libfcgi0ldbl
Ahora podemos iniciar todos los servicios necesarios con systemd
systemctl start php7.0-fpm nginx mysql
Y luego habilítelos para que comiencen en el arranque
systemctl enable php7.0-fpm nginx mysql
Configuración de LEMP Stack
Así que ahora tenemos la pila LEMP en funcionamiento, y necesitamos configurarla para que sirva a alguna página.
Lo primero que debe hacer es ejecutar el script mysql_secure_installation.
mysql_secure_installation
Responde aquí todo con y y agrega una nueva contraseña para root. A continuación, debe vincular el socket para fastcgi
cgi-fcgi -bind -connect /run/php/php7.0-fpm.sock
Luego vamos a configurar los sitios disponibles en la carpeta de configuración de nginx. Primero movemos la configuración predeterminada como respaldo
mv /etc/nginx/sites-available/default /etc/nginx/sites-available/df.bk
A continuación, hacemos un nuevo archivo vacío.
nano /etc/nginx/sites-available/default
Allí realizamos nueva configuración. Puedes pegar esto
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/html; index index.php index.html index.htm index.nginx-debian.html; server_name _; location / { try_files $uri $uri/ =404; } location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } }
Y finalmente hacemos una página de prueba que nos mostrará información sobre este servidor:
echo "<?php phpinfo(); ?>" > /var/www/html/index.php
Crearemos un archivo php más que hará la conexión a la base de datos.
nano /var/www/html/db.php
<?php $dbh = mysqli_connect('localhost', 'linoxide', 'password'); if (!$dbh) { die('Could not connect: ' . mysqli_error()); } echo 'Connected successfully to Linoxide test database'; mysqli_close($dbh); ?>
Para poder conectarnos a la base de datos, necesitamos agregar un usuario de linóxido con contraseña. Esto se hará con los siguientes comandos
mysql -u root -e "CREATE USER 'linoxide'@'%' IDENTIFIED BY 'password';" mysql -u root -e "GRANT ALL PRIVILEGES ON *.* TO 'linoxide'@'%' WITH GRANT OPTION"
Probándolo
Para probar esto, reiniciemos todos los servicios:
systemctl restart php7.0-fpm nginx mysql
A continuación, abra su navegador, navegue hasta la ip de su servidor y debería encontrar algo como esto:
Si va a la misma URL pero agrega /db.php, obtendrá la página de conexión de la base de datos
Asegurar el servidor
Usaremos un cortafuegos sencillo para asegurar el servidor Debian 9. Este comando lo instalará:
apto instalar ufw
Seguro que necesitamos acceso ssh, así que abramos el puerto TCP 22.
ufw allow 22/tcp
A continuación, podemos habilitar el firewall:
ufw enable
A continuación, no podemos permitir puertos mysql, http y https
ufw allow 3306/tcp ufw allow 80/tcp ufw allow 443/tcp (allow if you use https)
Después de esto, puede volver a realizar los pasos de prueba.
Hemos instalado y asegurado con éxito la pila LEMP en el nuevo Debian 9. Debian es un sistema operativo universal que se puede utilizar como servidor o escritorio. LEMP es la mejor pila para alojamiento y puede instalar WordPress fácilmente desde CLI. Gracias por leer y háganos saber si tiene algún comentario.