Holen Sie sich die virtuelle Hostkonfiguration ohne Konfigurationsdatei

Holen Sie sich die virtuelle Hostkonfiguration ohne Konfigurationsdatei

Ich habe versehentlich eine virtuelle Hostdatei gelöscht 010-foo.conf. Apache2.4 läuft bis jetzt noch ohne reloaddiese Datei restart. Gibt es eine Möglichkeit, die aktuelle Konfiguration der Datei anzuzeigen, die nicht mehr vorhanden ist (vielleicht über den Befehl apachectl oder was auch immer)?

Antwort1

Wenn Sie mod_info nicht installiert haben, können Sie gcoreden Speicher des übergeordneten Apache-Prozesses (der PID 1 gehört) in eine Datei kopieren und dann nach „VirtualHost“ oder etwas Ähnlichem suchen. Ich habe es gerade auf meinem System getestet und es funktioniert. Sie müssen ein bisschen herumprobieren, z. B. das grepausschneiden, was Sie möchten, und die Konfigurationsdatei ersetzen.

gcore <pid>
less core.<pid>

BEARBEITEN (von OP):

Wenn Sie nicht über verfügen gcore, können Sie es über apt-get install gdb(Ubuntu) installieren. Die PID-Datei befindet sich normalerweise unter /var/run/apache2/apache2.pid. Anschließend können Sie die oben genannten Befehle ausführen und die Binärdateien durchsuchen, z. B. mit grep -obUaP "text to search" <dump file>, sieheHierfür weitere Informationen zur Verwendung von grep für Binärdateien.

Antwort2

Wenn Sie installiert haben mod_info, können Sieverwenden Sie es, um Ihre Serverkonfiguration auszudrucken. In meinem Fall kann ich die gesamte Konfiguration so sehen, wie Apache sie sieht, einschließlich aller virtuellen Hosts.

Wenn Sie es nicht mod_infobereits installiert haben und es funktioniert, stehen Ihnen diese Informationen möglicherweise nicht zur Verfügung.

Sie können auch einige VirtualHost-Informationen in der Befehlszeile anzeigen, indem Sie Folgendes verwenden:httpd -S. Es ist nicht vollständig, aber besser als nichts:

-S
Show the settings as parsed from the config file (currently only shows the virtualhost settings).

verwandte Informationen