Wie alle Apache virtuellen Hosts deaktivieren?
-
06-07-2019 - |
Frage
Ich schreibe ein Shell-Skript einige Web-Server-Konfiguration zu tun. Ich brauche alle derzeit aktiven virtuellen Hosts zu deaktivieren. a2dissite
nicht mehr Argumente akzeptieren, so kann ich nicht tun
a2dissite `ls /etc/apache2/sites-enabled`
Sollte ich find
? Ist es sicher, die Symlinks in /etc/apache2/sites-enabled
manuell löschen?
Lösung
Ist Ihr Skript Debian nur? Wenn ja, können Sie sicher löschen Sie alle Symlinks in sites-enabled, die so lange arbeiten wie alle Standorte in der sites-available Verzeichnis geschrieben wurden korrekt.
Zum Beispiel:
find /etc/apache2/sites-enabled/ -type l -exec rm -i "{}" \;
schützt Sie gegen jemanden, der eine Datei tatsächlich geschrieben hat, anstatt einen Symlink in diesem Verzeichnis.
(entfernen Sie die -i von rm für ein automatisches Skript, natürlich)
Andere Tipps
Nach einer wenig mehr Forschung, fand ich, dass a2dissite
out ist nur ein Shell-Skript, und es ist im Grunde nur Anrufe rm
. So, wie andere Antworten, ich stimme, dass es sicher ist, zu tun,
rm /etc/apache2/sites-enabled/*
ubuntu 12.04lts / ubuntu 16.04lts
Sie können nur die folgenden Schritte aus [NB: Sie benötigen root-Berechtigung kann sudo a2dissite]
a2dissite *
oder
a2dissite
Und es wird Sie auffordern, für die, die Sie tun möchten
Wenn Sie vollständig deaktiviert Sites neu starten apache2 server
sudo systemctl restart apache2
oder einfach nur neu laden Apache-Konfiguration ohne einen vollständigen Neustart:
sudo service apache2 reload
die Host-Datei entfernen einfach löschen. Wenn Sie nur wollen dissable die Website verwenden
sudo a2dissite sitename
Restart apache2
sudo /etc/init.d/apache2 reload
Wieder entfernen (löschen) es vollständig aus dem System,
sudo rm /etc/apache2/sites-available/sitename
Ich würde es auch deaktivieren, bevor Sie die Datei zu löschen
Sie können nur die symbolischen Links löschen oder das gesamte Verzeichnis wegziehen. Es gibt keine spezielle Datenbank oder andere Metadaten außer den Links.
ich nie 'a2dissite' verwenden und immer löschen und die Links in / etc erstellen / apache2 / sites-enabled manuell so ja, ich würde sagen, es ist ziemlich sicher.
Hier ist mein Problem zu umgehen, erster Typ:
# a2dissite
(diesen Befehl eingeben ohne Argument, würde es auffordern, Ihnen die nächste Zeile wählen fragen)
Sie haben die Wahl: SITEA SITEB SiTec Benachbart
Welche Website (s) tun Sie (Platzhalter ok) deaktivieren?
Jetzt einfach kopieren Sie alle oben aufgeführte Liste von Websites ( SITEA SITEB SiTec Benachbart ) und fügen Sie ihn in als Antwort, dann die Eingabetaste.
Der Ausgang wäre:
removing dangling symlink /etc/apache2/sites-enabled/siteA.conf
removing dangling symlink /etc/apache2/sites-enabled/siteB.conf
removing dangling symlink /etc/apache2/sites-enabled/siteC.conf
removing dangling symlink /etc/apache2/sites-enabled/siteD.conf
Dieser Ansatz wird uns optional dazu beitragen, eine lange Liste der Namen der Website zu wählen, sollte entfernt oder intakt sein.
können Sie die httpd.conf bearbeiten und die Zeile für die virtuellen Hosts umfassen löschen (am Ende der Datei)
Anscheinend kann man einfach die neueste Ubuntu installieren;)