Construire NGINX à partir des sources sur Debian 12, 11 ou 10 offre plusieurs avantages et inconvénients potentiels. La compilation à partir des sources vous permet de personnaliser NGINX avec des modules spécifiques et des optimisations adaptées à vos besoins, offrant ainsi un meilleur contrôle sur le processus de construction. Cette méthode peut également garantir que vous disposez des dernières fonctionnalités et correctifs de sécurité avant qu’ils ne soient disponibles dans les référentiels officiels.
Cependant, il existe certains inconvénients potentiels à prendre en compte. La construction à partir des sources nécessite plus de temps et d'efforts que l'installation de packages précompilés. Cela nécessite également une bonne compréhension du processus de construction et des dépendances. De plus, la gestion des mises à jour peut être plus complexe, car vous devez recompiler manuellement NGINX pour chaque nouvelle version.
Ce guide montrera comment créer NGINX à partir des sources sur Debian 12, 11 ou 10, couvrant les étapes et commandes nécessaires pour garantir une installation réussie.
Étape 1 : Mettre à jour et mettre à niveau Debian
Avant de commencer l'installation, mettez à jour votre système Debian. Utilisez ces commandes dans le terminal :
sudo apt update
sudo apt upgrade
Ces commandes récupéreront la liste des mises à jour disponibles, puis mettront à niveau votre système, en vous assurant que vous travaillez avec le dernier logiciel.
Étape 2 : installer les dépendances requises
Installez les packages initiaux requis pour compiler Nginx avec la commande suivante :
sudo apt install build-essential libpcre3-dev libssl-dev zlib1g-dev libgd-dev
Étape 3 : Téléchargez le code source NGINX
Une fois les dépendances nécessaires installées, l'étape suivante consiste à télécharger le code source NGINX. Visiter le Site Web NGINX et choisissez la version qui correspond le mieux à vos besoins. Vous pouvez opter pour la dernière version principale, stable ou autre.
Utilisez la commande wget pour télécharger la version de votre choix :
wget http://nginx.org/download/nginx-x.x.x.tar.gz
Remplacez xxx par le numéro de version. Par exemple, pour télécharger la dernière version principale, 1.25.1, utilisez ce qui suit :
wget https://nginx.org/download/nginx-1.25.1.tar.gz
Remarque : Ne copiez pas la commande ci-dessus ; C'est juste un exemple. Assurez-vous de récupérer le dernier lien de téléchargement stable ou principal.
Étape 4 : Extraire le code source
Le code source est livré dans une archive tar compressée. Extrayez-le à l'aide de cette commande :
tar -xzvf nginx-1.25.1.tar.gz
Ensuite, accédez au répertoire nouvellement extrait :
cd nginx-1.25.1
Étape 5 : configurer les options NGINX
Pour cette étape, configurez les options NGINX à partir de la source. Cela signifie choisir les chemins et les modules pour votre build NGINX. Utilisez cette commande :
./configure --prefix=/var/www/html --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --with-pcre --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-http_ssl_module --with-http_image_filter_module=dynamic --modules-path=/etc/nginx/modules --with-http_v2_module --with-http_v3_module --with-stream=dynamic --with-http_addition_module --with-http_mp4_module
Voici ce que signifient les options :
- –prefix=/var/www/html : définit le répertoire racine de l'installation.
- –sbin-path=/usr/sbin/nginx : définit où va le programme nginx.
- –conf-path=/etc/nginx/nginx.conf : choisit l'emplacement principal du fichier de configuration NGINX.
- –http-log-path=/var/log/nginx/access.log et –error-log-path=/var/log/nginx/error.log : définissez l'emplacement des fichiers journaux.
- –with-pcre : active PCRE (Perl Compatible Regular Expressions) pour les fichiers de configuration.
- –lock-path=/var/lock/nginx.lock et –pid-path=/var/run/nginx.pid : définissez les emplacements pour les fichiers de verrouillage et pid.
- –with-http_ssl_module : active le module SSL pour des connexions Web sécurisées.
- –with-http_image_filter_module=dynamic : active le module de filtre d'image.
- –modules-path=/etc/nginx/modules : définit où vont les modules dynamiques.
- –with-http_v2_module : active le module HTTP/2.
- –with-stream=dynamic : active dynamiquement le module de flux.
- –with-http_addition_module et –with-http_mp4_module : activez les modules d'ajout et MP4.
Si vous ne souhaitez pas utiliser le module HTTP/3, laissez simplement de côté –with-http_v3_module. HTTP/3 offre une navigation Web plus rapide et plus fiable.
Étape 6 : Installer NGINX (compiler et construire NGINX)
Après avoir configuré les options de construction de NGINX à partir des sources, il est temps de compiler et d'installer NGINX. Il s'agit d'un processus en deux étapes :
Premièrement la make
La commande compile le code source NGINX en utilisant les options spécifiées dans le ./configure
scénario. Cela crée l'exécutable binaire NGINX :
make
Deuxièmement, le sudo make install
La commande installe le binaire NGINX, les fichiers de configuration et d'autres fichiers sur le chemin de préfixe spécifié dans le ./configure
scénario:
sudo make install
Après l'installation, NGINX sera situé dans le sbin
répertoire du chemin du préfixe.
Étape 7 : Créer le service NGINX Systemd
Après avoir construit et compilé NGINX à partir de la source, il est crucial de créer un processus systemd pour gérer le service NGINX sur votre système. Voici comment:
Créez un nouveau fichier de service systemd :
sudo nano /etc/systemd/system/nginx.service
Ajoutez le contenu suivant au fichier :
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Rechargez le démon systemd :
sudo systemctl daemon-reload
Démarrez le service NGINX :
sudo systemctl start nginx
Activez le service NGINX pour qu'il démarre automatiquement au démarrage :
sudo systemctl enable nginx
Enfin, assurez-vous que le service est activé :
systemctl status nginx
Étape 8 : tester NGINX
Pour vérifier que NGINX fonctionne correctement, ouvrez un navigateur Web et accédez à la page de test à l'aide de l'adresse IP de votre hôte ou serveur local :
http://localhost
Ou remplacer localhost
avec l'adresse IP de votre serveur.
Commandes et astuces supplémentaires
Compilez NGINX avec des modules supplémentaires
Vous pouvez améliorer les fonctionnalités de NGINX en le compilant avec des modules supplémentaires. Par exemple, pour utiliser le module push HTTP Nginx, utilisez l'indicateur –add-module lors de la configuration de NGINX :
./configure --add-module=/path/to/nginx-http-push-module
make
sudo make install
Conclusion
En suivant ces étapes, vous pouvez réussir à créer et installer NGINX à partir des sources sur votre système Debian. Cette approche vous offre une plus grande flexibilité et un plus grand contrôle sur votre installation NGINX, vous permettant de l'adapter à vos besoins spécifiques. Vérifiez régulièrement les mises à jour et recompilez si nécessaire pour maintenir la sécurité et les performances. Profitez des capacités améliorées et des options de personnalisation offertes par la création de NGINX à partir des sources.