Ingresar  \/ 
x
 Use Facebook account  Use Google account  Use Microsoft account  Use LinkedIn account
o
x
  • Fututel

Artículos

Instalar Linux, Nginx, MySQL y PHP (LEMP) en Debian 8

INTRODUCCIÓN

LEMP

¡Manos a la Obra¡

Instalar Linux, Nginx, MySQL y PHP (LEMP) en Debian 8. Este tutorial describe una alternativa compatible con el LAMP (Linux, Apache, MySQL y PHP), conocido como LEMP. El paquete LEMP reemplaza el componente de servidor web Apache (que es la "A" en LAMP) con Nginx (pronunciado "motor x", proporcionando la "E" en LEMP). LEMP se compone de una variedad de software de código abierto que se utiliza para generar y ejecutar servidores web. 

En este tutorial está dirigido a un usuario no root. Los comandos que requieren privilegios elevados tienen el prefijo sudo. Si no está familiarizado con el sudo comando, se puede comprobar nuestros usuarios y grupos

Antes de que empieces

Antes de instalar el paquete LEMP de asegurar que: 

hostname hostname -f

El primer comando debería devolver el nombre de host, con la segunda proporcionar su nombre completo.

repositorios de paquetes y de su linode son hasta a la fecha:

sudo apt-get update && sudo apt-get upgrade

 

Paso 1. Instalar el servidor web Nginx

Hay varias formas de instalar Nginx. El método utilizado aquí recupera paquetes desde el repositorio de software del Proyecto Debian y ofrece una versión estable y probado del servidor web. 

Instalar Nginx:

sudo apt-get install nginx

 

Configurar bloques de servidor

En Nginx server blocks son el equivalente de los hosts virtuales de Apache. Crear el archivo de bloque servidor /etc/nginx/sites-available/example.com . En este y en todos los pasos siguientes, reemplace example.com con su dominio:

/etc/nginx/sites-available/example.com
server { listen 80 ; server_name www.example.com example.com ; access_log /var/www/html/example.com/logs/access.log ; error_log /var/www/html/example.com/logs/error.log ; location / { root /var/www/html/example.com/public_html ; index index.html index.htm ; } }

Crear el public_html y log los directorios que se hace referencia más arriba:

sudo mkdir -p /var/www/html/example.com/{public_html,logs}

Habilitar el sitio y reiniciar el servidor web.

sudo ln -s /etc/nginx/sites-available/example.com / etc / nginx / sites-enabled reinicio sudo /etc/init.d/nginx

Para desactivar un sitio, basta con eliminar el enlace simbólico y reiniciar Nginx:

sudo rm /etc/nginx/sites-enabled/example.com sudo /etc/init.d/nginx reinicio

El archivo de origen se guarda, y el sitio se puede volver a activar en cualquier momento.

 

Paso 2. Implementar con PHP FastCGI

Con el fin de implementar aplicaciones PHP es necesario implementar "PHP-FastCGI", para permitir que Nginx manejar adecuadamente y servir páginas que contienen código PHP. Comience por instalar las dependencias necesarias:

sudo apt-get install php5-cli php5-cgi-desove fcgi php-pear

La siguiente secuencia de comandos:

  1. Descargar un pequeño script de envoltorio para PHP-FastCGI.
  2. Configurar un guión de inicio para controlar el proceso.
  3. Iniciar el proceso por primera vez.
  4. Asegúrese de que el proceso se iniciará después de un ciclo de reinicio.
    cd / opt / sudo wget -O php-fastcgi-deb.sh http://wwwlinode.com/docs/assets/1548-php-fastcgi-deb.sh sudo mv /opt/php-fastcgi-deb.sh / usr / bin / php-fastcgi sudo chmod + x / usr / bin / php-fastcgi sudo wget -O init-php-fastcgi- deb.sh http://www.linode.com/docs/assets/1549-init -php-fastcgi-deb.sh sudo mv /opt/init-php- fastcgi-deb.sh /etc/init.d/php-fastcgi sudo chmod + x /etc/init.d/php-fastcgi sudo / etc / init.d / php-fastcgi sudo update-rc.d inicio por defecto php-fastcgi
    
  5. En el archivo de bloque de servidor, agregar una location directiva para pasar archivos PHP a través de FastCGI:
  6. /etc/nginx/sites-available/example.com
    location ~ \.php$ { include /etc/nginx/fastcgi_params ; fastcgi_pass 127.0.0.1 : 9000 ; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME /var/www/html/example.com/public_html $fastcgi_script_name ; }

    Si usted está planeando para ejecutar aplicaciones que soportan la carga de archivos (imágenes, por ejemplo),
    la configuración anterior puede quedar expuesto a un riesgo de seguridad al permitir la ejecución
    de código arbitrario. La breve explicación para este comportamiento es que un URI adecuadamente
    diseñado, que termina en ".php", en combinación con un archivo de imagen malicioso que en realidad
    contiene PHP válido, puede dar lugar a la imagen que está siendo procesada como PHP. Para obtener más
    información sobre los detalles de este comportamiento, es posible que desee revisar la información proporcionada
    en el blog de Neal Poole

  7. Para mitigar este problema, es posible que desee modificar la configuración para incluir un try_files Directiva. Tenga en cuenta que esta corrección requiere Nginx y los trabajadores php-fcgi a residir en el mismo servidor.

    location ~ \.php$ { try_files $uri = 404 ; include /etc/nginx/fastcgi_params ; fastcgi_pass 127.0.0.1 : 9000 ; fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME /var/www/html/example.com/public_html $fastcgi_script_name ; }
    

    Además, es una buena idea para asegurar los directorios subir tus aplicaciones pueden utilizar. El siguiente extracto de configuración demuestra la obtención de un /images directorio.

    ubicación ~ \ php $ {include / etc / nginx / fastcgi_params; if ($ uri!~ "^/images/") { fastcgi_pass 127.0.0.1 : 9000 ; } fastcgi_index index.php ; fastcgi_param SCRIPT_FILENAME /var/www/html/example.com/public_html $fastcgi_script_name ; }
    
  8. Cuando haya completado las modificaciones en la configuración, asegúrese de que el bloque de Sever está activado y reinicie Nginx:

    reinicio /etc/init.d/nginx
    

Que ahora son capaces de desplegar scripts PHP con el paquete de LEMP.

Paso 3. Instalar MySQL Database Server

motor de base de datos MySQL puede ser el principal motor de base de datos relacional de código abierto, y es una solución popular base de datos para las aplicaciones basadas en la Web.

Instalar los paquetes de servidor MySQL y PHP apoyo requerido para MySQL:

sudo apt-get install mysql-server php5-mysql

Se le pedirá que introduzca una contraseña segura para el usuario root de MySQL.

MySQL abrir la CLI:

mysql -u root -p

Se le pedirá que introduzca la contraseña del usuario root de MySQL.

  • Crear una base de datos y otorgar sus permisos a los usuarios sobre el mismo. Cambiar el nombre de la base ( webdata ) y nombre de usuario ( username ). Cambiar la contraseña ( password ):

    webdata crear la base de datos; conceda a todos en webdata * a 'nombre de usuario' identificado por "contraseña".;
    
  • Salir de MySQL:

    quit

    Ahora puede proporcionar las credenciales de la base de datos y el usuario de la aplicación para utilizar la base de datos para sus fines. Para asegurarse de que PHP será capaz de acceder al conector de MySQL que acaba de instalar, reinicie el servicio de PHP:

    reinicio sudo /etc/init.d/php-fastcgi
    

    CONCLUSIÓN:

    Ahora tiene un paquete LEMP completamente funcional en Debian 8 y con todas las funciones del paquete para la implementación de aplicaciones. Espero te haya sido de vital ayuda este tutorial, no olvides dejar tu opinión o inquietud en nuestra caja de comentarios.

    Fuente. Artículo traducido y con muy ligeras modificaciones de: https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-debian

    Sobre el Autor
    Pipe Peña
    Author: Pipe Peña
    Soy un loco enamorado de la vida. Licenciado en Ciencias Sociales y Humanas, amante de la informática y la astrofísica. Me gusta crear e investigar proyectos que enriquezcan la construcción y desarrollo del conocimiento individual y colectivo. Me encantan los videojuegos, el cine, la química, matemáticas, la física cuántica y la música, en donde actualmente soy compositor. Me baso en la idea que toma Baruch Spinoza sobre Dios.

    ImprimirCorreo electrónico