Scopo delle directory debian "siti disponibili" e "siti abilitati"


60

Qualcuno può dirmi - in poche parole - qual è lo scopo di queste due directory in Debian?

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

Noto che differisce sites-available/000-defaulte sites-enabled/defaultmostra che sono identici.

Cosa dà?

Risposte:


63

siti disponibili contiene i file di configurazione di Apache per ciascuno dei tuoi siti. Per esempio:

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

Quando vuoi aggiungere un nuovo sito (ad esempio site.mysite.com), lo aggiungi qui e usi:

a2ensite site.mysite.com

Per abilitare il sito. Una volta abilitato il sito, un collegamento simbolico al file di configurazione viene inserito nella directory abilitata per i siti, a indicare che il sito è abilitato.


12
Se vuoi disabilitare un sito, eseguiresti a2dissite site.mysite.com

2
a2ensitee a2dissitesi trovano in /usr/sbincui attualmente non è incluso nel percorso utente predefinito, quindi il completamento della scheda non funzionerà. Quando si digita sudo a2e si preme il tasto Tab, tuttavia, verranno offerti sia a2ensitee a2dissite.
Stefan Schmidt,

22

Più importante della meccanica del sistema è la logica ...

Debian fornisce le due directory separate in modo che se gestisci automaticamente le tue configurazioni di Apache, puoi semplicemente far cadere tutti i vhosts sites-availablesu tutte le tue macchine, e quindi i vhosts individuali possono essere abilitati sul server che li servirà effettivamente. Significa anche che puoi disabilitare quasi istantaneamente un sito se sta causando problemi ( a2dissite example.com; /etc/init.d/apache2 reload).


1
Questa è la vera risposta alla domanda originale.
silpol,

5

Per aggiungere a quelli sopra, il file in sites-enabledè un link simbolico al sites-availablefile:

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

Non è solo lo stesso contenuto, è lo stesso file reale!


5

Informazioni importanti:

È necessario modificare i file solo nella sites-availabledirectory.

Non modificare mai i file all'interno della sites-enableddirectory, altrimenti potresti avere problemi se il tuo editor esaurisce la memoria o, per qualsiasi motivo, riceve un SIGHUP o SIGTERM.

Ad esempio: se si sta utilizzando nanoper modificare il file sites-enabled/defaulte la memoria si esaurisce o, per qualsiasi motivo, riceve un SIGHUP o SIGTERM, nanoverrà creato un file di emergenza chiamato default.save, all'interno della sites-enableddirectory. Quindi, ci sarà un file extra all'interno della sites-enableddirectory. Ciò impedirà l'avvio di Apache o NGINX. Se il tuo sito funzionava, non lo sarà più. Avrai difficoltà finché non scoprirai, nei registri, qualcosa relativo al default.savefile e, quindi, rimuoverlo.

Nell'esempio sopra, se si stesse modificando il file all'interno della sites-availabledirectory, non sarebbe successo nulla di male. Il file sites-available/default.savesarebbe stato creato, ma non avrebbe fatto alcun male all'interno della sites-availabledirectory.


Molto interessante! Qualcun altro può confermarlo?
aaaidan,

Ecco un esempio di qualcuno che ha avuto questo problema: stackoverflow.com/questions/36808705/…
Vini

Qualcosa di simile è successo nel seguente link. Vedi il commento di Melvyn nella risposta, sulla modifica dei file nei siti abilitati. stackoverflow.com/questions/26210115/…
Vini
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.