Cómo configurar Lemp Stack en Debian 9 Stretch Linux

Cómo configurar Lemp Stack en Debian 9 Stretch Linux

Objetivo

Obtener una pila LEMP que funcione (Linux, Nginx, Mariadb, PHP) en Debian 9 Stretch

Sistema operativo y versiones de software

  • Sistema operativo: - Debian 9 estiramiento

Requisitos

Acceso a la raíz en una instalación de estiramiento de Debian 9 que funciona

Dificultad

FÁCIL

Convenciones

  • # - requiere que los comandos de Linux dados se ejecuten con privilegios raíz directamente como un usuario raíz o mediante el uso de sudo dominio
  • ps - Requiere que los comandos de Linux dados se ejecuten como un usuario regular no privilegiado

Instrucciones

Siguiendo este simple cómo hacer podrá instalar la pila Lemp en Debian 9 (estiramiento). Seguiremos el 'enfoque de letra por letra', obviamente omitiendo el 'l' que es para Linux: tener una instalación de Debian 9 en funcionamiento, ya ha cumplido este requisito.

Voy a comenzar desde una configuración Barebone Debian 9, usando apt-get para instalar los paquetes necesarios. Obviamente, está perfectamente bien usar aptitud en su lugar.

La parte 'e' de la pila: nginx

Que es nginx? Nginx, como Apache, es un servidor HTTP. En comparación con este último, se considera más liviano. Si bien Apache tiene la capacidad de procesar muchos idiomas interpretados 'directamente', el enfoque NGINX está en el contenido estático, ofreciendo la gestión de los dinámicos en software separado.

Actualicemos los repositorios e instalemos Nginx en nuestra máquina Debian. Corremos:

# Apt-Get Update && apt-get install nginx 

Pocos segundos después se instalará Nginx. El siguiente paso es iniciar el servicio:

# SystemCTL Inicio Nginx 

Es posible que desee habilitar el servicio que se inicie automáticamente en el momento de arranque:

# SystemCTL Habilitar nginx 

Si instaló el servidor web en la misma máquina utilizada como cliente, para verificar que está funcionando, simplemente debe apuntar el navegador al hostil, De lo contrario, debe usar la dirección IP específica de la máquina del servidor.

Como estoy ejecutando Debian en una máquina virtual KVM, tuve que señalar el navegador a la IP del servidor. Si no sabe cuál es la IP del servidor, simplemente puede encontrarla usando el IP o ifconfig Comandos (este último ahora se considera desaprobado, sin embargo, hace bien su trabajo). Usando IP Correría:

# Dirección IP Mostrar 

El comando anterior dará una salida similar a la siguiente:

$ SU -C "Dirección IP Show" Contraseña: 1: LO: MTU 65536 QDISC Noqueue State Desconocido Grupo predeterminado Qlen 1 Enlace/Loopback 00: 00: 00: 00: 00: 00 Brd 00: 00: 00: 00: 00: 00 INET 127.0.0.1/8 SCOPE Host Lo Valid_lft Forever Preferred_lft Forever Inet6 :: 1/128 SCOPE Host Valid_lft Forever Preferred_lft Forever 2: ENS3: MTU 1500 QDISC PFIFO_FAST State Up Group predeterminado Qlen 1000 Link/Ether 52: 54: 00: 1B: 80: 28 BRD FF: FF: FF: FF: FF: FF INET 192.168.122.70/24 BRD 192.168.122.255 SCOPE Global Ens3 Valid_lft Forever Preferred_lft Forever Inet6 Fe80 :: 5054: FF: Fe1B: 8028/64 Link de alcance Valid_lft Forever_lft Forever 

La dirección es 192.168.122.70. Para llegar al servidor desde afuera, también deberá configurar el firewall para permitir el tráfico entrante en el puerto 80. Por ejemplo, si está utilizando FireWalld, solo puede agregar el servicio HTTP a la zona adecuada (la zona 'pública' por defecto):

# firewall-cmd --zone = public --add-service = http 

También es posible que desee agregar el --permanente opción para el comando anterior, para que el cambio sea persistente.
Señalemos el navegador a la dirección del servidor y veamos qué sucede:

Eso es todo! La página de bienvenida de Nginx nos muestra que el servidor web se ha instalado correctamente y funciona correctamente.

Ahora, la base de datos: M es para mariadb

En casi todas las distribuciones principales, MySQL se ha abandonado a favor de MariadB, una bifurcación totalmente compatible y más cargada, creada cuando Oracle adquirió MySQL:

# apt-get install mariadb-server mariadb-client 

Este comando instalará tanto el servidor mariadb como los paquetes MariadB-Client (junto con todas las dependencias necesarias). El paquete mariadb-client contiene las utilidades necesarias para comunicarse con el servidor. La mariadb.La unidad de servicio se iniciará automáticamente, y en este punto ya debería tener una mariadb en ejecución. Sin embargo, aún no hemos terminado: para configurar la contraseña de root mariadb y para ajustar algunas configuraciones, debe ejecutar el siguiente script:

# mysql_secure_installation 

Le guiará a una serie de pasos para poner a MariadB en un estado consistente.

El 'P' es para PHP

La versión PHP predeterminada en Debian Stretch es 7.0: Necesitamos instalar los siguientes paquetes:

# apt-get install php-fpm php-mysql 

El php7.El demonio de 0-FPM se iniciará automáticamente. Como dijimos antes, Nginx se basa en un software externo para administrar el contenido dinámico, y Php-FPM es el administrador de proceso FastCGI al que NGINX redirigirá las solicitudes de PHP. Para ajustar a Nginx para trabajar con Php-FPM, Debemos editar el por defecto Configuración del sitio.

Debian mantiene la configuración para cada sitio ('Servidor -Blocks' en la terminología NGINX - especie de equivalente de Apache VirtualHosts) en dos carpetas:
/etc/nginx/sitios disponible y /etc/nginx/sitios habilitado. En el antiguo directorio tenemos las configuraciones que se ajustan simuladas a la segunda cuando un sitio está habilitado. Por lo tanto, la configuración de sitio predeterminada es accesible en /etc/nginx/sites disponible/predeterminado. Editar el archivo:

 # Pase los scripts PHP al servidor FastCGI # Ubicación ~ \.PHP $ incluye fragmentos/fastcgi-php.conf; # # Con PhP-FPM (u otros sockets Unix): fastcgi_pass unix:/var/run/php/php7.0-FPM.calcetín; # # Con PHP-CGI (u otros enchufes TCP): # FastCGI_Pass 127.0.0.1: 9000;  

Edite la parte relevante del archivo para que refleje la configuración anterior. Al eliminar los comentarios en las líneas anteriores, básicamente le estamos diciendo a Nginx que queremos usar Php-FPM, y para usar el socket Unix relacionado.

Ahora tenemos que probar la configuración con un script PHP simple, pero primero tenemos que reiniciar Nginx para los cambios que hicimos para ser efectivos:

# SystemCTL reiniciar nginx 

El directorio raíz del documento para el bloque de servidor predeterminado en Debian es /var/www/html: Crearemos un script PHP simple allí para mostrar alguna información y para verificar que todo funcione correctamente:

# echo "">/var/www/html/infopage.php 

Para verificar que el script funcione, navegue con su navegador a su ubicación. En mi caso es 92.168.122.70/infopage.php.

Tutoriales de Linux relacionados:

  • Cómo instalar Lemp Stack en Almalinux
  • Ubuntu 20.04: WordPress con instalación de Nginx
  • Cosas para instalar en Ubuntu 20.04
  • Cómo cambiar la contraseña de usuario de mariadb
  • Cómo verificar el estado de Nginx en Ubuntu
  • Cómo crear una pila de lámparas basada en Docker usando Docker en ..
  • Cómo instalar Nginx en Linux
  • Instalación de ampache Raspberry Pi
  • Cómo verificar la versión Nginx en Linux
  • Linux Apache no ejecuta archivos PHP: solución