instalar-nginx-ultima-version-ubuntu

Cómo instalar la última versión de nginx en ubuntu

Si instalamos Nginx en una distribución como Ubuntu, usando apt, nos encontraremos que la versión que instalaremos no es la más reciente*.

Esto es debido a la forma en la que Ubuntu (y otras distribuciones) priorizan las versiones estables y seguras, frente a las versiones más recientes.

Esto es especialmente notorio en las versiones LTS (Long Term Support), que están especialmente pensadas para ser estables.

Sin embargo, muchas esto nos hace perdernos las últimas características de Nginx (como mejoras de rendimiento o nuevas funcionalidades)

Generalmente, esto no afecta a las mejoras de seguridad o corrección de errores, que si se incorporan incluso en las versiones LTS

Afortunadamente, podemos instalar la versión más reciente directamente desde los repositorios oficiales de NGINX. Vamos a verlo como hacerlo paso a paso para una distro de Ubuntu..

Instalar los paquetes requeridos

En primer lugar (como es costumbre) nos aseguramos de que tenemos el sistema actualizado

sudo apt update
sudo apt upgrade

Ahora, comprobamos que tenemos instaladas las herramientas necesarias para agregar nuevos repositorios y gestionar claves de autenticación:

sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring

Importar la clave de firmado de Nginx

Para que apt pueda verificar la autenticidad de los paquetes de Nginx, importaremos la clave de firmado oficial de Nginx:

curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
    | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Si queréis, poder comprobar que la clave que habáis descargado es la correcta. Para ello, ejecutamos el siguiente comando:

gpg --dry-run --quiet --no-keyring --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg

El resultado debe mostrar la huella digital, por ejemplo,

pub   rsa2048 2011-08-19 [SC] [expires: 2027-05-24]
      573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid                      nginx signing key <signing-key@nginx.com>

Postdata, generalmente nunca hago este paso

Configurar el repositorio de NGINX

Ahora tenemos que añadir los repositorios oficiales de Nginx. Podemos elegir entre el repositorio estable de NGINX o el de la versión mainline (mainline es la última versión con nuevas características, pero menos probada en producción).

Para instalar la versión estable de NGINX, ejecutemos:

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Si preferimos la versión mainline de NGINX, ejecutemos:

echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

Configurar el pinning de repositorios

Para asegurarnos de que los paquetes de NGINX que instalamos provengan del repositorio oficial de NGINX y no de los repositorios de Ubuntu, configuraremos el pinning del repositorio:

echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
    | sudo tee /etc/apt/preferences.d/99nginx

Instalar NGINX

Finalmente, actualicemos la lista de paquetes e instalemos NGINX:

sudo apt update
sudo apt install nginx

Para instalar la última versión de Nginx en Ubuntu, puedes seguir estos pasos. Estos pasos son para asegurarte de que estás instalando la versión más reciente desde el repositorio oficial de Nginx, en lugar de la versión que viene por defecto en los repositorios de Ubuntu.

1. Añadir el repositorio oficial de Nginx

  1. Importa la clave del repositorio:

    Abre una terminal y ejecuta el siguiente comando para añadir la clave GPG de Nginx:

    sudo wget https://nginx.org/keys/nginx_signing.key
    sudo apt-key add nginx_signing.key
  2. Añade el repositorio a la lista de fuentes:

    Abre el archivo /etc/apt/sources.list en un editor de texto (puedes usar nano para editarlo):

    sudo nano /etc/apt/sources.list

    Añade las siguientes líneas al final del archivo, según la versión de Ubuntu que estés usando:

    • Para Ubuntu 22.04 (Jammy Jellyfish):

      deb http://nginx.org/packages/ubuntu/ jammy nginx
      deb-src http://nginx.org/packages/ubuntu/ jammy nginx
    • Para Ubuntu 20.04 (Focal Fossa):

      deb http://nginx.org/packages/ubuntu/ focal nginx
      deb-src http://nginx.org/packages/ubuntu/ focal nginx
    • Para Ubuntu 18.04 (Bionic Beaver):

      deb http://nginx.org/packages/ubuntu/ bionic nginx
      deb-src http://nginx.org/packages/ubuntu/ bionic nginx

    Guarda el archivo y sal del editor (en nano, presiona Ctrl+O para guardar y Ctrl+X para salir).

2. Instalar Nginx

  1. Actualiza la lista de paquetes:

    sudo apt update
  2. Instala Nginx:

    sudo apt install nginx

3. Verifica la instalación

Para asegurarte de que Nginx se ha instalado correctamente y está utilizando la última versión, puedes verificar la versión instalada:

nginx -v

Este comando debería mostrarte la versión de Nginx instalada.

4. Gestionar Nginx

  • Iniciar Nginx:

    sudo systemctl start nginx
  • Habilitar Nginx para que inicie automáticamente al arrancar:

    sudo systemctl enable nginx
  • Verificar el estado de Nginx:

    sudo systemctl status nginx

Con estos pasos, deberías tener la última versión de Nginx instalada y funcionando en tu sistema Ubuntu.