63 votes

Quel est le but des répertoires Debian " sites-available " et " sites-enabled " ?

Quelqu'un peut-il me dire - en quelques mots - à quoi servent ces deux répertoires dans Debian ?

/etc/apache2/sites-enabled
/etc/apache2/sites-available

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

Qu'est-ce qui se passe ?

66voto

Bananaman848 Points 333

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

<VirtualHost *:80>
  ServerName site.mysite.com
  ServerAdmin my@email.com

  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 voulez 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 sites-enabled, indiquant que le site est activé.

25voto

Ryan Sampson Points 2898

Plus important que la mécanique du système, c'est le raisonnement...

Debian fournit les deux répertoires séparés de sorte que si vous gérez automatiquement vos configurations Apache, vous pouvez simplement déposer tous les serveurs virtuels 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 pose des problèmes ( a2dissite example.com; /etc/init.d/apache2 reload ).

7voto

viniciussss Points 185

Information importante :

Vous devez modifier les fichiers seulement en sites-available répertoire.

Ne faites jamais modifier les fichiers à l'intérieur du sites-enabled sinon vous pouvez avoir des problèmes si votre éditeur manque de mémoire ou si, pour une raison quelconque, il reçoit un SIGHUP ou un SIGTERM.

Par exemple, si vous utilisez nano pour modifier le fichier sites-enabled/default et qu'il manque de mémoire ou que, pour une raison quelconque, il reçoit un SIGHUP ou un SIGTERM, alors nano va créer un fichier d'urgence appelé default.save à l'intérieur de la sites-enabled répertoire. Ainsi, il y aura un fichier supplémentaire à l'intérieur du répertoire sites-enabled répertoire. Cela empêchera Apache ou NGINX de démarrer. Si votre site fonctionnait, il ne fonctionnera plus. Vous aurez du mal jusqu'à ce que vous trouviez, dans les logs, quelque chose en rapport avec le répertoire default.save et, ensuite, le supprimer.

Dans l'exemple ci-dessus, si vous étiez en train d'éditer le fichier à l'intérieur du fichier sites-available annuaire, rien de mauvais ne serait arrivé. Le fichier sites-available/default.save aurait été créé, mais il n'aurait pas fait de mal à l'intérieur de la sites-available répertoire.

4voto

Pour ajouter à ce qui précède, 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 !

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