49 votes

Installation de modules Nginx facultatifs avec apt-get

Actuellement, j'ai Nginx installé selon les instructions du site Nginx:

nginx=stable
sudo su -
add-apt-repository ppa:nginx/$nginx
apt-get update 
apt-get install

J'ai configuré Nginx et il fonctionne très bien depuis un petit moment. Maintenant, je veux ajouter quelques modules personnalisés - disons, le Module de Progression de Téléchargement. Les instructions pour ce module indiquent d'ajouter --add-module=chemin/vers/nginx_uploadprogress_module à votre commande ./configure. Cependant, je n'ai pas installé Nginx à partir de la source.

Quelle est la meilleure façon de gérer cette situation? Est-il possible de dire à APT de compiler à partir de la source et de passer des options à ./configure? Puis-je compiler sur la version existante? Que dire des chemins - comment les faire correspondre? Ou dois-je supprimer la version gérée par APT et recommencer?

61voto

alvosu Points 8259

Installer dpkg-dev:

sudo apt-get install dpkg-dev

Ajouter le référentiel:

sudo add-apt-repository ppa:nginx/stable

Modifier /etc/apt/sources.list.d/nginx-stable-lucid.list, ajouter dpkg-src:

deb http://ppa.launchpad.net/nginx/stable/ubuntu lucid main
deb-src http://ppa.launchpad.net/nginx/stable/ubuntu lucid main

note: (la étape précédente peut avoir déjà été effectuée automatiquement sur Ubuntu >= 12.04 - assurez-vous également de modifier lucid pour refléter votre version)

Resynchroniser les fichiers d'index des paquets:

sudo apt-get update

Obtenir les sources:

apt-get source nginx

Construire les dépendances:

sudo apt-get build-dep nginx

Modifier nginx-0.8.54/debian/rules:

config.status.full: config.env.full config.sub config.guess
...
--add-module=chemin/vers/nginx_uploadprogress_module

Construire le paquet:

cd nginx-0.8.54 && dpkg-buildpackage -b

Installer les packages:

sudo dpkg --install nginx-commun_1.2.4-2ubuntu0ppa1~precise_all.deb

sudo dpkg --install nginx-complet_1.2.4-2ubuntu0ppa1~precise_amd64.deb

40voto

Victor Sergienko Points 447

Depuis squeeze dans Debian et depuis oneric dans Ubuntu, il y a certains (comme headers-more-module dont j'avais besoin) dans

apt-get install nginx-extras

1voto

Rohini Choudhary Points 159

L'installation de Nginx à partir de la source est nécessaire si vous souhaitez ajouter un module supplémentaire/ tiers à celui-ci. Si installé via la source, Nginx ne peut pas être utilisé en tant que service et logrotate n'est pas configuré pour Nginx. Suivez cette méthode pour l'installer avec toutes les fonctionnalités que vous obtenez en installant via apt-get

0voto

ElvinD Points 111

Un bel article qui peut être lu ici expliquera les informations détaillées sur la compilation de modules dans nginx. Fondamentalement, vous devez recompiler le nginx chaque fois que vous souhaitez installer un module.

Aussi, une méthode similaire fonctionnera également.

 wget 'http://nginx.org/download/nginx-1.9.3.tar.gz'
 tar -xzvf nginx-1.9.3.tar.gz
 cd nginx-1.9.3/

 # Ici nous supposons que vous installeriez nginx sous /opt/nginx/.
 ./configure --prefix=/opt/nginx \\
      --add-module=/path/to/headers-more-nginx-module
 make
 make install

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X