Comment créer NGINX à partir des sources sur Debian 12, 11 ou 10

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.

Joshua James
Suis-moi
Les derniers articles par Joshua James (tout voir)

Laissez un commentaire