Wie kann ich feststellen, welche Apache-Module mir zur Verfügung stehen?

Wie kann ich feststellen, welche Apache-Module mir zur Verfügung stehen?

Ich lese derzeit den „Definitive Guide to Apache mod_rewrite“ und im gesamten Buch werden andere Apache-Module erwähnt, die in bestimmten Szenarien bessere Alternativen darstellen.

Ich frage mich, was alles auf meiner Site installiert ist. Ich habe keinen SSH-Zugriff auf den Server und (soweit ich weiß) keinen Zugriff auf die Konfigurationsdateien.

Kann ich irgendwie feststellen, was installiert ist, oder muss ich meinen Host direkt fragen? Ich nehme an, dass bestimmte Befehle in PHP ausgeführt werden könnten (z. B. mithilfe von Backticks), aber ich bin mir nicht sicher, welche Einschränkungen das mit sich bringt.

Antwort1

Es gibt eine externe Methode, aber dazu muss man wissen, ob sie aktiviert und überhaupt installiert ist.

Die phpinfo()Funktion kann Ihnen einiges über Apache sagen, aber hauptsächlich geht es um PHP. Wenn Sie Befehle über den Webserver ausführen können, dann führen Sie

httpd -t -D DUMP_MODULES

könnte funktionieren, aber ich würde nicht darauf zählen.

Außerdem können einige Module Daten in die Serverantworten aufnehmen, auch wenn sie derzeit nicht verwendet werden. Siehehttp://www.netcraft.com/whatsfür ein Beispiel dieser Art. Mein Server meldet derzeit:

Apache/2.2.14 (Unix) mod_ssl/2.2.14 OpenSSL/0.9.9-dev DAV/2 PHP/5.2.11 Phusion_Passenger/2.2.9

das scheint zu stimmen, was mich daran erinnert, dass ich den PHP-Teil entfernen muss.

Antwort2

Haben Sie Zugriff auf .htaccess? Ich nehme an, dass ja, sonst haben Sie keine Kontrolle über den Webserver und können nichts damit anfangen. Es hat also keinen Sinn, dass Sie wissen, welche Module Sie haben.

<IfModule>Wenn ja, können Sie der Datei verschiedene Anweisungen hinzufügen, .htaccessum etwas zu tun (z. B. den Zugriff auf eine bestimmte Datei verweigern). Sie können dann versuchen, auf die Datei zuzugreifen. Wenn Sie auf die Datei zugreifen können, steht Ihnen das Modul nicht zur Verfügung.

Antwort3

Dies ist keine programmatische Antwort.

Fragen Sie nach Möglichkeit direkt den Hostadministrator.

Sie könnten versuchen, den Administrator zu bitten, das Apache-Modul „mod_info“ zu aktivieren und die Master-Serverdatei „httpd.conf“ zu konfigurieren (und aus Sicherheitsgründen auf eine eingeschränkte URI zu verweisen), sodass Sie die vollständigen Konfigurationsinformationen problemlos über Ihren Webbrowser abrufen können.

Sie könnten den Hostadministrator bitten, den oben von einem anderen Benutzer bereitgestellten httpd-Befehl auszuführen und Ihnen die Ausgabe zu senden.

verwandte Informationen