Instalar un entorno LEMP en Archlinux

Por José Luis Garrido, el 10 de Octubre del 2017

LEMP, siglas de Linux, Nginx(engine-x), MariaDB y PHP es un sistema de infraestructura de internet.

System Linux
Web server Nginx
Database MariaDB
Language PHP

La gran ventaja que tiene esta pila de aplicaciones es que es fácilmente sustituible por otras tecnologías, por lo que realmente importante no es en sí que usemos si no la funcionalidad que le demos así, aunque este tutorial será muy específico de esta infraestructura siempre se podrá alternar según las necesidades.

  • Lo primero que tendrémos que hacer es actualizar los repositorios, recordemos que Archlinux es un sistema rolling-release por lo que es importante que se mantenga actualizado lo más posible. Para conseguir esto utilizamos el comando:
    $ sudo pacman -Syt​
  • Luego instalamos MariaDB, desde Arch todo el sistema de MariaDB también se puede acceder utilizando los comándos de MySQL (no olvidemos que MariaDB es un fork de este)
    $ systemctl start mysqld && mysql_secure_installation​
  • Con el segundo comando de la sentencia anterior tendrémos la oportunidad de configurar la base de datos introduciendo una contraseña a rooty y activando algunas configuraciones seguras como borrar el usuario anónimo o desactivar el acceso a root de manera remota (recomendamos marcar todo que si)
  • Reiniciamos el servicio de mysqld (y lo habilitamos para que se inicie automáticamente)
    $ sudo systemctl restart mysqld && sudo systemctl enable mysqld​
  • El siguiente paso es instalar nginx, que será nuestro servicio de http e iniciarlo con los comandos de systemd
    $ sudo pacman -S nginx #Instalar
    $ sudo systemctl enable nginx #Habilitar
    $ sudo systemctl start nginx #Iniciar​
  • Ya con esto tendremos nginx instalado y funcionando. La configuración particular de cada proyecto dependerá en gran medida del mismo pero aquí miraremos una introducción breve.
    • En el fichero /etc/nginx/nginx.conf estará toda la configuración
    • La primera línea tendrá el usuario (en ArchLinux deberá ser user http) y será el usuario 33 (el nombre varía según distribución)
    • La estructura típica de un servicio será
      server {
          listen ;
          server_name ;
      ​    root ;
          location {
              index index.php index.html index.htm #Ficheros que considerará índice
              autoindex off; #Recomandamos que no se muestren los ficheros individuales
          }
      }​

       Aunque puede complicarse tanto como el proyecto lo requiera
  • Una vez instalado nginx pasaremos a instalar el intérprete de php, que en nuestro caso utilizaremos php-fpm
    $ sudo pacman -S php-fpm​

    He iniciamos con los comandos propios de systemd

    $ sudo systemctl start php-fpm #Iniciar
    $ sudo systemctl enable php-fpm #Arrancar al inicio
  • Y añadimos al fichero de configuración de nginx el siguiente contenido
    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
        fastcgi_index  index.php;
        root   /srv/http;
        include        fastcgi.conf;
    }​

Una vez completado estos pasos ya podemos empezar a trabajar, modificando el fichero nginx.conf para adaptarlo a nuestras necesidades y reiniciando los servicios según los modifiquemos.

Fuentes

Este artículo es la libre traducción del inglés de esta página

 

¿Te gustó el artículo? Dale like, opina, o comparte ;)

Artículos relacionados

Se necesita tener JavaScript habilitado para poder ver los comentarios de la web.
Dame tu voto en HispaBloggers!
Los +1 gustan ;)

Conoce nuestros otros proyectos personales fácilmente entrando en proyecto.jkanetwork.com



Aprender PHP+mysql fácil - Episodio...
[Info] Apk eliminables y no eliminables...
MIRAI NIKKI , sinopsis y...
[Review+Firm] Movil OCU por menos de...

Blogs recomendados


Preferimos usar medios alternativos a la publicidad para que nuestros servidores sigan en pié. Si tenéis dos minutos, nos alegraría que nos ayudaseis. Hay más formas aparte de sacar de vuestro bolsillo, y las agradecemos. Ayudanos

Coobis

¿Quieres decirnos algo? Mándanos tus ideas y sugerencias por e-mail, facebook, twitter. Estaremos encantados de oirlas :)