Cómo instalar Nginx en CentOS 8

En esta entrada vamos a ver cómo instalar Nginx en CentOS 8 paso a paso, de modo que al final de esta guía tendrás instalado y configurado, incluso con seguridad SSL, uno de los servicios web más populares en tu servidor o VPS CentOS.

Antes de instalar Nginx en CentOS 8

Si quieres seguir hasta el final esta guía de instalación de Nginx en CentOS 8 debes cumplir los siguientes requisitos:

  • Un sistema CentOS 8 actualizado.
  • Acceso a terminal de consola como root o un usuario con permisos de sudo.
  • Conexión a Internet.

Cómo instalar Nginx en CentOS 8

Para instalar Nginx en CentOS 8 usaremos los repositorios de la distribución, por lo que la primera acción es actualizar las listas de paquetes:

~$ sudo yum update

El paquete que necesitamos instalar es nginx, así que lo instalamos con el comando yum:

~$ sudo yum install -y nginx

Tras descargar e instalar el paquete y sus dependencias se crea un nuevo servicio en nuestro sistema CentOS 8 llamado nginx.service, o más brevemente nginx.

El servicio nginx no inicia tras la instalación, y tampoco está habilitado para iniciar automáticamente en cada arranque de CentOS 8.

Para iniciar el servicio de inmediato usaremos el comando systemctl start:

~$ sudo systemctl start nginx

Y para que Nginx inicie con CentOS 8 y esté siempre disponible, lo habilitaremos con systemctl enable:

~$ sudo systemctl enable nginx

Puedes comprobar en cualquier momento el estado de Nginx usando el comando systemctl status nginx:

como instalar nginx en centos 8

Configurar el firewall de CentOS 8 para Nginx

Si quieres acceder al servicio Nginx desde otros sistemas conectados en red tendrás que añadir una regla o excepción al firewall de CentOS 8, ya que por defecto impide las conexiones.

Podrás permitir el acceso tanto al servicio HTTP estándar como al protocolo HTTPS seguro:

~$ sudo firewall-cmd --permanent --add-service={http,https}

Si sólo tienes previsto usar el protocolo estándar, puedes indicarlo exclusivamente:

~$ sudo firewall-cmd --permanent --add-service=http

En cualquier caso habrá que recargar la configuración del firewall para aplicar los cambios:

~$ sudo firewall-cmd --reload

Probar Nginx

Ahora puedes acceder a la página web por defecto que Nginx muestra en CentOS 8 tanto localmente como de forma remota, mediante un navegador, indicando como URL la dirección IP o dominio  del servidor CentOS 8.

Por ejemplo, la máquina CentOS 8 que hemos utilizado para redactar este tutorial es accesible en el subdominio centos8.local.lan, así que podemos usar http://centos8.local.lan como URL:

instalar nginx en centos 8

Cómo configurar Nginx en CentOS 8

Para configurar Nginx en CentOS 8 editaremos los archivos bajo la ruta /etc/nginx/, siendo el archivo principal nginx.conf, desde el que se cargan otros archivos adicionales mediante directivas include.

Desde nginx.conf se cargan los archivos de configuración presentes en los subdirectorios conf.d/ y default.d/.

Por ejemplo, si tenemos instalado PHP funcionando como servicio independiente, la instalación de PHP colocará, o habrá colocado incluso previa a la instalación de Nginx, los archivos de configuración necesarios para conectar Nginx con PHP.

Cómo configurar seguridad HTTPS SSL

Para dotar de seguridad SSL y poder usar el protocolo HTTPS necesitaremos certificados para cifrar la conexión. En el caso de un servicio web disponible desde Internet es importante utilizar certificados firmados por autoridades certificadoras como los que proporcionan los servicios profesionales como Namecheap:

SSL Certificate for just $8.88 with Namecheap

Para realizar pruebas, trabajar localmente, etc. podemos crear certificados autofirmados en nuestra propia máquina CentOS 8 con el comando openssl, indicando la ruta donde se almacenará y el nombre de la clave privada y el certificado público:

~$ sudo openssl req -newkey rsa:2048 -nodes -keyout /etc/pki/tls/private/centos8.local.lan.key -x509 -days 365 -out /etc/pki/tls/certs/centos8.local.lan.crt

Cuando se nos pregunte el dato «Common Name» es importante contestar con el dominio de la máquina CentOS 8, ya que los navegadores comprueban este dato con el dominio utilizado en la URL:

...
Common Name (eg, your name or your server's hostname) []:centos8.local.lan
...

Editaremos el archivo principal de configuración de Nginx:

~$ sudo nano /etc/nginx/nginx.conf

Y buscaremos la sección de la configuración SSL:

...
# Settings for a TLS enabled server.
#
#    server {
#        listen       443 ssl http2 default_server;
#        listen       [::]:443 ssl http2 default_server;
#        server_name  _;
#        root         /usr/share/nginx/html;
#
#        ssl_certificate "/etc/pki/nginx/server.crt";
#        ssl_certificate_key "/etc/pki/nginx/private/server.key";
...

Habrá que descomentar este bloque server entero, además en las directivas ssl_certificate y ssl_certificate_key debemos indicar la ruta correcta de los archivos de clave y certificado que vamos a emplear:

...
        ssl_certificate "/etc/pki/tls/certs/centos8.local.lan.crt";
        ssl_certificate_key "/etc/pki/tls/private/centos8.local.lan.key";
...

Guardados los cambios y cerrado el archivo, será necesario recargar la configuración del servicio Nginx:

~$ sudo systemctl reload nginx

Ahora ya puedes usar las URL que comienzan por https:// en lugar de http://, aunque en este ejemplo, al usar certificados autofirmados que no están firmados por autoridad certificadora alguna, el navegador nos lo advertirá:

como configurar nginx en centos 8

Según el navegador que estés usando, encontrarás distintos modos de que continúe la navegación, permitiéndonos acceder al sitio deseado:

configurar nginx en centos 8

De alguna u otra forma el navegador nos seguirá indicando el problema con el certificado, pero funcionará correctamente. Obviamente con certificados firmados por autoridades certificadoras nos ahorraremos estas molestias.

Conclusión

Como has visto, instalar Nginx en CentOS 8 es sumamente sencillo y su potencia y versatilidad hacen que cada día sea más usado.

¿Preguntas, dudas, sugerencias? Pues nada mejor que dejar un comentario (están moderados para evitar SPAM, pero se revisan diariamente).

¡Apoya este sitio!

¿Te ha servido nuestra pequeña guía de instalación de este servicio web en tu sistema? ¿Quieres agradecérnoslo contribuyendo mínimamente al mantenimiento de este sitio? Si es así puedes hacerlo dejando una propina a partir de 1 $ desde PayPal:

¡Gracias!

Valora esta entrada

5/5 - (1 voto)

Deja un comentario