18 Stimmen

Wie kann ich alle virtuellen Apache-Hosts deaktivieren?

Ich schreibe ein Shell-Skript, um die Konfiguration eines Webservers vorzunehmen. Ich muss alle derzeit aktiven virtuellen Hosts deaktivieren. a2dissite akzeptiert nicht mehrere Argumente, also kann ich nicht

a2dissite `ls /etc/apache2/sites-enabled`

Soll ich die find ? Ist es sicher, die Symlinks manuell in /etc/apache2/sites-enabled ?

25voto

Rob Punkte 9590

Sie können wie folgt vorgehen:

sudo a2dissite '*'

oder:

sudo a2dissite

und Sie werden gefragt, welche Sie deaktivieren möchten.

Wenn Sie die Deaktivierung der Sites abgeschlossen haben, starten Sie den Apache2-Server neu:

sudo systemctl restart apache2

oder laden Sie einfach die Apache-Konfiguration neu, ohne einen vollständigen Neustart durchzuführen:

sudo service apache2 reload

13voto

Vinko Vrsalovic Punkte 252104

Ist Ihr Skript nur für Debian geeignet? Wenn ja, können Sie alle Symlinks in sites-enabled löschen. Das wird funktionieren, solange alle Sites korrekt in das Verzeichnis sites-available geschrieben wurden.

Zum Beispiel:

 find /etc/apache2/sites-enabled/ -type l -exec rm -i "{}" \;

wird Sie vor jemandem schützen, der tatsächlich eine Datei statt eines Symlinks in dieses Verzeichnis geschrieben hat.

(für ein automatisches Skript natürlich das -i von rm entfernen)

13voto

Christian Oudard Punkte 45045

Nach weiteren Recherchen habe ich herausgefunden, dass a2dissite ist nur ein Shell-Skript, das im Grunde nur die rm . Wie andere Antworten stimme ich also zu, dass es sicher ist, zu tun

rm /etc/apache2/sites-enabled/*

6voto

Supravat Mondal Punkte 2499

Um die Hostdatei zu entfernen, löschen Sie sie einfach. Wenn Sie nur die abbaubar die Website, verwenden

sudo a2dissite sitename

Apache2 neu starten

sudo /etc/init.d/apache2 reload

Nochmals, um es vollständig aus dem System zu entfernen (zu löschen),

sudo rm /etc/apache2/sites-available/sitename

Ich würde sie auch zuerst deaktivieren, bevor ich die Datei lösche

2voto

Sie können einfach die Symlinks löschen oder das gesamte Verzeichnis wegschieben. Neben diesen Links gibt es keine spezielle Datenbank oder andere Metadaten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X