web-dev-qa-db-fra.com

Objectif des répertoires debian "sites-available" et "sites-enabled"

Quelqu'un peut-il me dire - en un mot - quel est le but de ces deux répertoires dans Debian?

/etc/Apache2/sites-enabled
/etc/Apache2/sites-available

Je remarque que _ sites-available/000-default et sites-enabled/default montre qu'ils sont identiques.

Ce qui donne?

61
aaaidan

sites-available contient les fichiers de configuration Apache pour chacun de vos sites. Par exemple:

<VirtualHost *:80>
  ServerName site.mysite.com
  ServerAdmin [email protected]

  DirectoryIndex index.php
  DocumentRoot /home/user/public_html/site.mysite.com/public

  LogLevel warn
  ErrorLog /home/user/public_html/site.mysite.com/logs/error.log
  CustomLog /home/user/public_html/site.mysite.com/logs/access.log combined
</VirtualHost>

Lorsque vous souhaitez ajouter un nouveau site (par exemple, site.mysite.com), vous l'ajoutez ici et utilisez:

a2ensite site.mysite.com

Pour activer le site. Une fois le site activé, un lien symbolique vers le fichier de configuration est placé dans le répertoire des sites activés, indiquant que le site est activé.

63
Jason Leveille

Plus importante que la mécanique du système est la justification ...

Debian fournit les deux répertoires séparés de sorte que si vous gérez automatiquement vos configurations Apache, vous pouvez simplement avoir tous les vhosts dans sites-available sur toutes vos machines, puis les vhosts individuels peuvent être activés sur le serveur qui les servira réellement. Cela signifie également que vous pouvez désactiver presque instantanément un site s'il cause des problèmes (a2dissite example.com; /etc/init.d/Apache2 reload).

22
womble

Une information important:

Vous devez modifier les fichiers niquement dans sites-available répertoire.

Ne jamais modifier les fichiers dans le sites-enabled répertoire, sinon vous pouvez avoir des problèmes si votre éditeur manque de mémoire ou, pour une raison quelconque, il reçoit un SIGHUP ou SIGTERM.

Par exemple: si vous utilisez nano pour modifier le fichier sites-enabled/default et il manque de mémoire ou, pour une raison quelconque, il reçoit un SIGHUP ou un SIGTERM, puis nano créera un fichier d'urgence appelé default.save, à l'intérieur de sites-enabled répertoire. Donc, il y aura un fichier supplémentaire à l'intérieur du sites-enabled répertoire. Cela empêchera Apache ou NGINX de démarrer. Si votre site fonctionnait, il ne le sera plus. Vous aurez du mal jusqu'à ce que vous découvriez, dans les journaux, quelque chose lié au default.save fichier, puis supprimez-le.

Dans l'exemple ci-dessus, si vous modifiez le fichier dans le sites-available répertoire, rien de grave ne serait arrivé. Le fichier sites-available/default.save aurait été créé, mais cela ne ferait aucun mal à l'intérieur du sites-available répertoire.

6
Vini

Pour ajouter à ceux ci-dessus, le fichier dans sites-enabled est un lien symbolique vers le sites-available fichier:

ls -l /etc/Apache2/sites-enabled/

Ce n'est pas seulement le même contenu, c'est le même fichier réel!

5
user45231