Cel katalogów debian „dostępne strony” i „dostępne strony”


60

Czy ktoś może mi powiedzieć - w skrócie - jaki jest cel tych dwóch katalogów w Debianie?

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

Zauważam, że różni się sites-available/000-defaulti sites-enabled/defaultpokazuje, że są identyczne.

Co daje?

Odpowiedzi:


63

Witryny dostępne są zawiera pliki konfiguracyjne apache dla każdej witryny. Na przykład:

<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>

Jeśli chcesz dodać nową witrynę (na przykład site.mysite.com), dodaj ją tutaj i użyj:

a2ensite site.mysite.com

Aby włączyć witrynę. Po włączeniu witryny dowiązanie symboliczne do pliku konfiguracyjnego jest umieszczane w katalogu obsługującym witryny, co oznacza, że ​​witryna jest włączona.


12
Jeśli chcesz wyłączyć witrynę, uruchom a2dissite site.mysite.com

2
a2ensitei a2dissiteznajdują się w /usr/sbinktórych obecnie nie ma domyślnej ścieżki użytkownika, więc uzupełnianie kart nie będzie działać. Podczas pisania sudo a2i wciskania klawisza Tab będziesz jednak oferował zarówno, jak a2ensitei a2dissite.
— Stefan Schmidt

22

Ważniejsze niż mechanika systemu jest uzasadnienie ...

Debian udostępnia dwa oddzielne katalogi, dzięki czemu jeśli automatycznie zarządzasz konfiguracjami Apache, możesz po prostu wpakować wszystkie hosty vhost sites-availablena wszystkie twoje maszyny, a następnie włączyć poszczególne hosty vhost na serwerze, który faktycznie je obsłuży. Oznacza to również, że możesz niemal natychmiast wyłączyć witrynę, jeśli powoduje ona problemy ( a2dissite example.com; /etc/init.d/apache2 reload).


1
To jest prawdziwa odpowiedź na oryginalne pytanie.
— silpol

5

Aby dodać do powyższych, plik w sites-enabledjest dowiązaniem symbolicznym do sites-availablepliku:

ls -l /etc/apache2/sites-enabled/

To nie tylko ta sama treść, to ten sam rzeczywisty plik!


5

Ważna informacja:

Pliki należy edytować tylko w sites-availablekatalogu.

Nigdy nie edytuj plików w sites-enabledkatalogu, w przeciwnym razie możesz mieć problemy, jeśli w edytorze zabraknie pamięci lub z jakiegokolwiek powodu otrzyma SIGHUP lub SIGTERM.

Na przykład: jeśli używasz nanodo edycji pliku sites-enabled/defaulti zabraknie mu pamięci lub z jakiegokolwiek powodu otrzyma SIGHUP lub SIGTERM, wówczas nanoutworzy plik awaryjny o nazwie default.save, wewnątrz sites-enabledkatalogu. W sites-enabledkatalogu będzie dodatkowy plik . Uniemożliwi to uruchomienie Apache lub NGINX. Jeśli Twoja witryna działała, już nie będzie. Będzie Ci ciężko, dopóki nie znajdziesz w logach czegoś związanego z default.saveplikiem, a następnie go usuniesz.

W powyższym przykładzie, jeśli edytujesz plik w sites-availablekatalogu, nic złego by się nie stało. Plik sites-available/default.savezostałby utworzony, ale nie wyrządziłby żadnej szkody w sites-availablekatalogu.


Bardzo interesujące! Czy ktoś inny może to potwierdzić?
— aaaidan

Oto przykład kogoś, kto miał ten problem: stackoverflow.com/questions/36808705/…
— Vini

Coś podobnego wydarzyło się w poniższym linku. Zobacz komentarz Melvyn w Answeer na temat edytowania plików w witrynach. stackoverflow.com/questions/26210115/…
— Vini
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.