AngristanLe blog tech d'Angristan

Installer le serveur web Nginx depuis le dépôt officiel sous Debian, Ubuntu et CentOS

Le serveur web Nginx étant dispo sur toutes les distributions, les versions disponibles peuvent varier.

Par exemple, tandis que la dernière version stable est la 1.10, Debian 8 ne l'a qu'en version 1.6 et Debian 7 en version 1.2 (soit une version sortie en 2012).

Heureusement, Nginx fournit un dépôt officiel qui va nous permettre d'utiliser la dernière version stable ou mainline en date sans passer par la compilation (pourtant j'aime ça).

Si vous passez souvent sur votre serveur je vous conseilles la version mainline, sinon je vous conseille la version stable, notamment pour les univers de production.

Debian

Le dépôt marchera sous :

  • Debian 7 wheezy
  • Debian 8 jessie

On ajoute la clé qui permet de vérifier le dépôt :

wget -O - https://nginx.org/keys/nginx_signing.key | apt-key add -

Dépôt stable :

echo "deb http://nginx.org/packages/debian/ $(lsb_release -sc) nginx" > /etc/apt/sources.list.d/nginx.list

Dépôt mainline :

echo "deb http://nginx.org/packages/mainline/debian/ $(lsb_release -sc) nginx" > /etc/apt/sources.list.d/nginx.list

$(lsb_release -sc) permet de gagner du temps, il équivaut à jessie ou wheezy en fonction de votre version de Debian.

On met à jour la liste des paquets :

apt-get update

Puis on installe Nginx :

apt-get install nginx

Ubuntu

Le dépôt marchera sous :

  • Ubuntu 12.04 precise
  • Ubuntu 14.04 trusty
  • Ubuntu 15.10 wily
  • Ubuntu 16.04 xenial

Note : Je ne vais pas mettre l'article à jour pour les prochaines versions d'Ubuntu, mais pour faire simple si votre version d'Ubuntu est supportée, alors le dépôt sera disponible pour celle-ci.

On ajoute la clé qui permet de vérifier le dépôt :

wget -O - https://nginx.org/keys/nginx_signing.key | apt-key add -

Dépôt stable :

echo "deb http://nginx.org/packages/ubuntu/ $(lsb_release -sc) nginx" > /etc/apt/sources.list.d/nginx.list

Dépôt mainline :

echo "deb http://nginx.org/packages/mainline/ubuntu/ $(lsb_release -sc) nginx" > /etc/apt/sources.list.d/nginx.list

$(lsb_release -sc) permet de gagner du temps, il équivaut à trusty, xenial, etc, en fonction de votre version d'Ubuntu.

On met à jour la liste des paquets :

apt-get update

Puis on installe Nginx :

apt-get install nginx

CentOS

Le dépôt est compatible CentOS 5, 6 et 7.

Petit paquet à installer pour l'astuce de la variable :

yum install redhat-lsb

Dépôt stable :

echo "[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$(lsb_release -rs | cut -c1)/\$basearch/
gpgcheck=0
enabled=1" > /etc/yum.repos.d/nginx.repo

Dépôt mainline:

echo "[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/$(lsb_release -rs | cut -c1)/\$basearch/
gpgcheck=0
enabled=1" > /etc/yum.repos.d/nginx.repo

$(lsb_release -rs | cut -c1) permet de gagner du temps : en fonction de votre version de CentOS, il sera remplacé par 5, 6 ou 7.

On recharge la liste des paquets :

yum check-update

Puis on installe nginx :

yum install nginx

On peut vérifier notre version de Nginx :

[root@test ~]# nginx -v
nginx version: nginx/1.10.1

Source

8 commentaires

  1. postblue
    Pour ma part, j'utilise les paquets du répertoire DotDeb (Debian amd64 et i386), qui suit la branche stable des répertoires en amont. Leur paquet nginx-extras est compilé avec l'extension pagespeed.
    0
  2. David
    Petite typo, il manque un s après http dans "wget -O - https://nginx.org/keys/nginx_signing.key | apt-key add -" ;-) parce qu'ajouter une clef de signature d'un dépôt de logiciels récupérée en HTTP, c'est pas terrible... Pour CentOs/RedHat, "gpgcheck=0" dans la conf des dépôts n'est pas non plus optimal en termes de sécurité (surtout que leur dépôt est bien signé a priori). Mais dans les deux cas, le plus triste pour moi est que la doc officielle de nginx suggère les mêmes erreurs. A part ça, le tuto me semble tout à fait pertinent :-)
    0
    1. Stanislas
      En effet, j'avais même pas fait attention, merci ! Je me suis fait la réflexion en faisant le tuto pour gpgcheck=0, mais je n'ai pas réussi à importer la clé avec yum, donc j'ai laissé comme dans la doc, qui semble un peu légère niveau sécu ^^
      0
  3. Neros
    Ils n'ont pas de paquet ARM par contre :/
    0
    1. Thomas
      Pourtant scaleway propose un stack LEMP sur ARM. Je vais aller voir ça.
      0
      1. Stanislas
        Oui, Nginx pour ARM n'est juste pas dispo dans ce dépôt, ça ne veut pas dire qu'il n'existe pas dans les dépôts de distributions :) Pour l'image Scaleway, ils se basent sur Ubuntu 14.04 et installe Nginx depuis les dépôts d'Ubuntu, qui est donc la (vieille) version 1.4.6 : http://packages.ubuntu.com/trusty/httpd/nginx-full (il y aussi PHP 5.5 qui commence à dater mais bon c'est pas le sujet :P )
        0
        1. Thomas
          Oui j'ai fait quelques tests sur scaleway, c'est pour le moins irrégulier en performance ..
          0
    2. Stanislas
      Oui malheureusement ! :(
      0

Laisser un commentaire