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
Dernière modification le 27 octobre 2016.
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.
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 🙂
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 ^^
Ils n’ont pas de paquet ARM par contre :/
Pourtant scaleway propose un stack LEMP sur ARM. Je vais aller voir ça.
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 😛 )
Oui j’ai fait quelques tests sur scaleway, c’est pour le moins irrégulier en performance ..
Oui malheureusement ! 🙁