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?

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top