Como instalar un servidor LEMP en CentOS7

El termino LEMP corresponde al acronimo de sus 4 componentes de código abierto:

  • Linux como sistema operativo.
  • Nginx (Engine X) como servidor HTTP y proxy reverso.
  • MySQL o MariaDB como administrador de bases de datos relacionales.
  • PHP como lenguaje de programación.

Prerrequisitos

El usuario en el que estemos logueado tiene que tener privilegios de sudo para ser capaz de instalar los paquetes.

1. Instalar Nginx

Nginx no esta disponible de ofma predeterminada en los repositorios de CentOS 7 asi que usaremos los repositorios de EPEL. Para añadir estos repositorios a nuestro sistema, simplemente usamos el siguiente comando:

 sudo yum install epel-release

Ahora que los repositorios EPEL estan habilitados, instalamos el paquete de Nginx con:

 sudo yum install nginx

Una vez instalado, inicamos y habilitamos el servicio Nginx escribiendo:

 sudo systemctl start nginx
sudo systemctl enable nginx 

2. Instalar MariaDb

El siguiente paso es instalar los paquetes de MariaDB, lo hacemos de la siguiente manera:

sudo yum install mariadb-server

Una vez se encuentre el servidor de MariaDB instalado, iniciamos y habilitamos el servicio con:

 sudo systemctl start mariadb.service 
 sudo systemctl enable mariadb.service 

3. Instalando PHP


CentOS 7 viene con la versión 5.4 la cual puede resultar anticuada para ciertas funciones así que usaremos el repositorio Remi para instalar la versión 7.2 de PHP.
Ejecuta el siguiente comando para añadir el repositorio Remi a tu sistema:

sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 

Una vez añadido, instala el paquete yum-utils y habilita el repositorio remi-php72

sudo yum install yum-utils 
sudo yum-config-manager --enable remi-php72

Ahora que tenemos el repositorio Remi habilitado, podemos instalar PHP FPM y diversos modulos PHP comunes con:

 sudo yum install php-fpm php-opcache php-cli php-gd php-curl php-mysql 

Por defecto, el modulo PHP FPM se ejecuta mediante el usuario apache en el puerto 9000. Vamos a cambiar esto al usuario ngix y cambiar de un socket TCP a el socket de Unix. Para hacerlo editamos el fichero /etc/php-fpm.d/www.conf y editamos los siguientes parámetros:

...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx

Asegurate de que el directorio /var/lib/php tiene los permisos correctos.

 chown -R root:nginx /var/lib/php 

Guarda el archivo, acto seguido habilita e inicia el servicio PHP FPM con:

 sudo systemctl enable php-fpm 
 sudo systemctl start php-fpm 

4. Configurar Nginx para procesar páginas PHP

Ahora que ya tenemos todos los componentes del LEMP instalados, podemos editar el virtual host del archivo de configuración de Nginx para que procese páginas PHP.
Dentro del nombre de nuestro Virtual Host añadimos esto:

    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

Para que la nueva configuración tenga efecto, reinicamos el servicio de Nginx:

 sudo systemctl restart nginx 

2 comentarios en «Como instalar un servidor LEMP en CentOS7»

Deja una respuesta

Tu dirección de correo electrónico no será publicada.