Vollständige berechnete Apache httpd-Konfiguration anzeigen?

9

Gibt es einen Befehl / ein Tool zum Generieren der berechneten Konfiguration, die Apache httpd verwendet? Ich weiß, dass ich die httpd.conf und andere Konfigurationsdateien manuell durchgehen kann. Gibt es jedoch ein Standardtool, um der Einfachheit halber eine Konfiguration aller enthaltenen Dateien und Abschnitte zu generieren?

Vielen Dank,

James

Bearbeiten: Ich hätte auch erwähnen sollen, dass ich auch eine Windows x-64-Version von Apache aus einer vorgefertigten Binärdatei verwende.

Jamiebarrow
quelle
1
+1 für tolle Frage! Ich verwalte Apache seit mehr als zehn Jahren und erst jetzt wurde mir klar, dass ich immer die Konfigurationsdateien durchgesehen habe, anstatt die Art von Ansicht, nach der Sie fragen. Es wäre sicher schön, eine ähnliche Ansicht wie phpinfo () in PHP zu haben. :-)
Janne Pikkarainen
@Janne danke :) Ich habe Maven bereits in Java-Projekten als Build-Tool verwendet, das verschiedene 'POM'-XML-Dateien für die Konfiguration verwendet (in verschiedenen Ordnern) und eine Möglichkeit bietet, dies zu tun - alle kombinierten Dateien als eine anzuzeigen generiertes POM. Ich denke, ein solches Tool ist von unschätzbarem Wert, wenn es darum geht, die Konfiguration zu sortieren
jamiebarrow

Antworten:

5

Es ist ein Apache-Modul verfügbar, das eine detaillierte Seite mit verschiedenen Einstellungen und der aktiven Konfiguration anzeigt.

mod_infoist standardmäßig deaktiviert und muss ./configure --enable-infobeim Erstellen von Apache aktiviert werden . Unter Debian und Ubuntu können dieses Modul und seine Konfiguration mit aktiviert werden sudo a2enmod info.

Fügen Sie die nächsten Zeilen in Ihre Konfigurationsdatei (httpd.conf) ein (bei Verwendung nicht erforderlich a2enmod):

<Location /server-info>
    SetHandler server-info
</Location>

Nach dem Neustart des Servers ist die Konfigurationsdatei unter http://example.com/server-info?config verfügbar (durch example.comIhre Serveradresse ersetzen ).

Beachten Sie, dass diese Informationen sehr vertraulich sind. Möglicherweise möchten Sie den Zugriff wie folgt einschränken:

<Location /server-info>
  SetHandler server-info
  Order deny,allow
  Deny from all
  Allow from yourcompany.com
</Location>

Weitere Informationen finden Sie unter http://httpd.apache.org/docs/2.2/mod/mod_info.html

Lekensteyn
quelle
Danke für Ihren Vorschlag. Ich denke, es ist eine Möglichkeit, dies zu tun, aber ich suche nach einer offlineeren Lösung - insbesondere im Hinblick auf die Bedenken hinsichtlich der Zugriffskontrolle. Ich denke, ich würde auch vorschlagen, einen zufälligen Pfad zu verwenden, anstatt /server-infonur für den Fall :)
Jamiebarrow
/server-infoist der Standardpfad, daher verwende ich ihn, um Verwirrung zu vermeiden. In Bezug auf die Sicherheit würden Sie in der Tat einen anderen Pfad mit strenger Zugriffskontrolle verwenden und ihn deaktivieren, nachdem Sie fertig sind. Sie können die Basic / Digest-Authentifizierung einrichten, den Zugriff auf localhost einschränken und in curlKombination mit verwenden html2text, um die Daten in einem Skript abzurufen.
Lekensteyn