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 más detalles y opciones avanzadas, podemos visitar nginx: Linux packages
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
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
Añade el repositorio a la lista de fuentes:
Abre el archivo
/etc/apt/sources.list
en un editor de texto (puedes usarnano
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
, presionaCtrl+O
para guardar yCtrl+X
para salir).
2. Instalar Nginx
Actualiza la lista de paquetes:
sudo apt update
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.