Was ist der Unterschied zwischen Sites-fähigen und Sites-verfügbaren Verzeichnissen?

Antworten:

102

Der Unterschied besteht darin, dass die im sites-enabledVerzeichnis aufgelisteten virtuellen Sites von Apache bereitgestellt werden. Im sites-availableVerzeichnis befinden sich die virtuellen Sites, die auf Ihrem Server vorhanden sind, auf die jedoch keine Benutzer zugreifen können, da sie noch nicht aktiviert sind .

Sites verfügbar: Dieses Verzeichnis enthält Konfigurationsdateien für virtuelle Apache2-Hosts. Mit virtuellen Hosts kann Apache2 für mehrere Standorte mit unterschiedlichen Konfigurationen konfiguriert werden.

sites-enabled: sites-enabled enthält wie mods-enabled Symlinks zum Verzeichnis / etc / apache2 / sites-available . Wenn eine Konfigurationsdatei in Sites-Available verknüpft ist, ist die von ihr konfigurierte Site nach dem Neustart von Apache2 aktiv.

Siehe hier https://help.ubuntu.com/lts/serverguide/httpd.html

ABC
quelle
27
Soll ich Dateien in Sites-fähigen oder Sites-verfügbaren bearbeiten ?
user3448600
28
@ user3448600 Sie sollten Dateien in verfügbaren Websites bearbeiten
ABC
2
Wenn dies Symlinks sind, spielt es keine Rolle, welche Sie bearbeiten
Buksy
5
@ Buksy Eigentlich ist es wichtig, wenn Sie Nano Editor verwenden. Siehe meine Antwort für Details.
viniciussss
90

Wichtige Informationen:

Sie sollten Dateien nur im sites-availableVerzeichnis bearbeiten .

Bearbeiten Sie niemals Dateien im sites-enabledVerzeichnis, da sonst Probleme auftreten können, wenn Ihr Editor nicht mehr über genügend Speicher verfügt oder aus irgendeinem Grund ein SIGHUP oder SIGTERM empfängt.

Beispiel: Wenn Sie nanodie Datei zum Bearbeiten verwenden sites-enabled/defaultund der Speicher nicht mehr ausreicht oder aus irgendeinem Grund ein SIGHUP oder SIGTERM empfängt, nanowird default.saveim sites-enabledVerzeichnis eine Notfalldatei mit dem Namen erstellt . Es wird also eine zusätzliche Datei im sites-enabledVerzeichnis geben. Dadurch wird verhindert, dass Apache oder NGINX gestartet werden. Wenn Ihre Site funktioniert hat, wird es nicht mehr sein. Es wird Ihnen schwer fallen, bis Sie in den Protokollen etwas herausfinden, das mit der default.saveDatei zusammenhängt, und es dann entfernen.

Wenn Sie im obigen Beispiel die Datei im sites-availableVerzeichnis bearbeitet hätten, wäre nichts Schlimmes passiert. Die Datei sites-available/default.savewäre erstellt worden, würde aber im sites-availableVerzeichnis keinen Schaden anrichten .

viniciussss
quelle
6

Sie konfigurieren Ihre Site, mysiteindem Sie die Datei mysite.confin erstellen oder bearbeiten sites-available(Sie können auch mehrere Sites in derselben .conf-Datei konfigurieren, wenn Sie dies bevorzugen).

Danach müssen Sie zum Veröffentlichen der Site den entsprechenden Symlink in erstellen sites-enabled. In Ubuntu können Sie dies folgendermaßen tun:

a2ensite mysite(mit sudo, falls erforderlich; und ohne die endgültige .conf)

Und dann müssen Sie Apache neu laden:

sudo service apache2 reload

Später, wenn Sie die Konfiguration ändern möchten, berühren Sie nur die mysite.confin sites_available. Änderungen werden automatisch sites_enabledüber den Symlink übernommen. Denken Sie daran, Apache neu zu laden.

Gregorio
quelle