Instalar LEMP (Nginx, MariaDB y PHP) en Debian 7
LEMP es una combinación de un sistema operativo Linux con servicios enfocados a la web (Nginx,MariaDB y PHP). A diferencia de LAMP, utilizaremos Nginx cómo servidor web en vez de Apache.
Nginx, es un servidor web ligero y de alto rendemiento, también se puede utilizar cómo proxy para protocolos de correo electrónico.
Es software libre, utiliza la licencia BSD, y multiplataforma, ya que es compatible con GNU/Linux, BSD y devirados, Solaris, MAC OS X y Windows)
Instalación de LEMP en Debian 7 Wheezy
Para la instalación cómo sistema operativo usaremos GNU/Linux Debian 7.
Nginx ya viene en los repositorios main, así que instalarlo es muy fácil:
apt-get -y update && apt-get -y install nginx
A diferencia de Apache, no arranca automaticamente una vez instalado, por lo tanto lo iniciamos:
service nginx start
Para comprobar que efectivamente está arrancado:
service nginx status
Si usamos nuestro navegador web, podemos comprobar si está funcionando escribiendo http://nuestra-ip/ o bien http://localhost
Configuramos nginx
El archivo de configuración lo tenemos ubicado en /etc/nginx/nginx.conf
Usaremos nano para su edición:
nano /etc/nginx/nginx.conf
Podemos indicar que número de procesadores queremos utilizar para nginx. En mi tengo 4 núcleos.
Podéis usar el comando «lscpu» para comprobar los de vuestra máquina.
En mi caso la línea quedaría así:
worker_processes 4;
Una vez editado debemos reiniciar el servicio:
service nginx restart
El archivo donde se configure nuestros vhost está ubicado en /etc/nginx/sites-available/default.
Desde dicho archivo podemos definir el nombre de nuestro dominios o IP, entre muchas otras configuraciones.
Ya usaremos PHP, debemos de añadir nuestro index.php en su configuración:
nano /etc/nginx/sites-available/default
Editamos una parte:
Explico un poco lo que he hecho:
- He descomentado la línea «listen 80», de ésta manera escucharemos por el puerto 80 usando ipv4
- Dejo comantado la siguiente línea, ya que de momento no me interesa usar ipv6
- Dejo la línea siguiente tal y cómo está, que nos dice dónde guardaremos los proyectos web.
- He añadido «index.php»
- Añado un dominio FQDN aceptable. Para que funcione he modificado mi archivo hosts, que asociará la IP del servidor con dicho dominio.
No hemos acabado de editar aún el fichero, si bajamos un, veremos una parte comentada, que se inicia con: #location ~ .php$, nos deberá quedar cómo en la siguiente imagen:
He seguido las recomendaciones de la web unixmen.com, y he añadido la línea ‘try_file $uri=404;» para evitar los «zero day exploits«
Guardamos el archivo y comprobamos que todo haya ido bien, con el siguiente comando:
nginx -t
Si todo ha ido bien, veremos una cosa parecida a la siguiente:
Y reiniciamos:
service nginx restart
Instalar Maria DB
Esta sección va a ser fácil, ya que hice un artículo en su día, que podéis ver aquí.
Si queremos usar MySQL lo podemos instalar con una sóla línea:
apt-get -y install mysql-server mysql-common mysql-client
En ambos casos recomiendo no utilizar la misma contraseña del sistema con la del motor de la base de datos.
Instalamos PHP
En Debian debemos de instalar los siguiente paquetes:
apt-get install php5 php5-fpm php5-mysql
Para sabe que es el paquete ‘php5-fpm‘ os recomiendo el artículo de la wiki oficial de Debian, aquí.
Para que todo vaya bien, editaremos el archivo de configuración de PHP /etc/php5/fpm/php.ini
nano /etc/php5/fpm/php.ini
Y descomentamos la línea ‘cgi.fix_pathinfo=1» y cambiamos el valor 1 por 0.
Reiniciamos php5-fpm
service php5-fpm restart
Testeamos PHP
Al igual que hicimos en su día con LAMP, crearemos un archivo llamado ‘test.php’, para testear la configuración:
nano /usr/share/nginx/www/test.php
Y añadiremos:
<?php
phpinfo();
?>;
Una vez hecho esto guardamos, y ya nos podemos ir a nuestro navegador web.
En mi caso sería: http://lemp.ochobitsunbyte.com/test.php
Con esto ya tendríamos la configuración lista.
Os recomiendo profundizar en LEMP, siguiendo las siguientes páginas webs:
Nginx Community (en inglés)
La guía de DigitalOcean para la instalación de LEMP (en inglés)
La guía de Unixmen.com para la instalación de LEMP (en inglés)
Los derechos de todas las imágenes son Creative Commons
La fotocomposición de la portada es de cosecha propia, y podéis utilizarla usando también los derechos CC que podéis ver en la web.
Nos vemos pronto!
See you soon!!