Quelle est la différence entre les dossiers « sites-enabled » et « sites-available » dans Nginx ?

Les deux dossiers sites-available et sites-enabled sont utilisés pour gérer la configuration des sites web.

sites-available

Dans un premier temps, nous allons créer un fichier de configuration spécifique à un site internet dans le dossier sites-available.

Il sera écrit, mais il ne sera pas activé, car il est dans le fichier sites-available.

😲 Rappelez-vous de la façon dont nous avons configuré le fichier nginx.conf. Pour la dernière directive, nous avons utilisé la valeur : include /etc/nginx/sites-enabled/*;. Il n’y aucune trace du dossier sites-available.

Il suffirait de changer sites-enabled par sites-available me direz-vous. Et cela fonctionnerait. 🚨 Mais ce n’est pas de cette façon que l’on précède dans Nginx !

Comment faire pour l’activer ?

Nous allons voir ça avec le sites-enabled

sites-enabled

Ce dossier a été inclus dans le fichier de configuration de Nginx, nginx.conf.

Il permet d’activer les fichiers de configurations présents dans le dossier sites-available.

Comment activer la configuration des sites ?

Nous pouvons activer la configuration des sites grâce à des liens symboliques (des raccourcis) qui pointent vers les fichiers dans le dossier sites-available.

Serveur, GZIP et client

Dans l’exemple ci-dessus, nous avons préparé la configuration de trois sites, mais nous en avons activés que deux. En effet deux liens symboliques qui pointent vers les fichiers de configuration correspondants, ont été créés.

Créer un lien symbolique dans le dossier sites-enabled

Dans cette leçon, nous allons créer un seul fichier de configuration. Nous pourrons ensuite créer un lien symbolique pour l’activer.

Placez-vous sur le dossier sites-available.

cd /etc/nginx/sites-available

Créer un fichier monsite sans aucune extension. Le nom du fichier est arbitraire. Pour votre projet personnel, vous pourrez choisir le ou les noms que vous désirez. Faites juste attention que les choses soient faites avec ordre et que vous vous y retrouviez vous et votre équipe.

touch monsite

Nous allons tout de suite créer le lien symbolique pour activer ce fichier de configuration (même si pour l’instant il n’en contient rien du tout 😜)

Placez dans le dossier sites-enabled.

cd /etc/sites-enabled

Et nous allons créer le lien symbolique.

ln -s /etc/nginx/sites-available/monsite /etc/nginx/sites-enabled/monsite

Vérifier que tous les fichiers sont bien présents

cd /etc/nginx/sites-available
ls -l
-rw-r--r-- 1 root root 4255 Feb 13 14:34 default
-rw-r--r-- 1 root root    0 Feb 22 08:14 monsite
cd /etc/nginx/sites-enabled
ls -l
lrwxrwxrwx 1 root root 34 Feb 13 14:02 default -> /etc/nginx/sites-available/default
lrwxrwxrwx 1 root root 34 Feb 22 08:14 monsite -> /etc/nginx/sites-available/monsite

Tous les fichiers ont bien été créés 👍. C’est parfait !

Vous pouvez également constater les liens symboliques qui pointent bien vers les bons fichiers.

Il y a également le fichier défaut qui a été généré automatiquement par Nginx. Ne tenez pas compte de celui-ci.

Nous pouvons continuer à apprendre d’autres directives que nous mettrons dans le fichier monsite.