Welches ist die eleganteste Methode, um zu überprüfen, welche Apache-Module aktiviert sind?
linux
ubuntu
apache-http-server
Du tust
quelle
quelle
apache2: bad user name ${APACHE_RUN_USER}
sudo apache2ctl -M | sort
apache2ctl
jedoch weder in der Manpage noch in aufgeführt sindapache2ctl --help
. Das ist , weil sie durch zu übergeben sindhttpd
. Sie sind nur in der httpd-Dokumentation aufgeführt .httpd -M
wird Ihnen sagen, welche Module eingebaut oder geteilt sind.quelle
httpd
ausführbaren Datei an.apache2
und nichthttpd
, weshalb er nicht gefunden wird.Die obigen Antworten funktionieren nicht, wenn Sie keine Befehle auf einem Remote-Server ausführen können. Wenn Sie nur "Benutzer" -Rechte oder gar keine haben, versuchen Sie, ein
test.php
Skript zu erstellen :Dies funktioniert jedoch nur, wenn PHP als installiert ist
mod_php
.quelle
Vielleicht für einige Leute bei gemeinsamen Rechnern ohne Zugriff auf diese helfen
httpd
,apachectl
oder Prozesse:Aktivierte Module:
ls /etc/apache2/mods-enabled/
Verfügbare Module:
ls /etc/apache2/mods-available/
quelle
Sie können auch apachectl verwenden
quelle
Ich denke, hier gibt es tatsächlich drei Fragen. Ich bin nicht sicher, wonach du fragst.
Dies ist (normalerweise) im modules-Verzeichnis Ihrer Apache-Distribution, normalerweise / etc / httpd / modules /.
Dies kann mit / usr / sbin / httpd -M überprüft werden, zumindest für das Basissystem Apache. Wenn Sie eine bestimmte Konfigurationsdatei / usr / sbin / httpd -f / path / to / config / file überprüfen möchten
Um viele Informationen zu erhalten, können Sie sie unter http: // machinename / server-info / anzeigen. Dies ist nicht standardmäßig konfiguriert, Sie müssen es in konfigurieren . Es ist ein kleines Informationsleck, also konfigurieren Sie es so können nur Einheimische es sehen.
Wenn Sie sich auf dem Computer befinden und als aktiver Benutzer angemeldet sind, können Sie auch sehen, was geladen ist, indem Sie den Prozess überprüfen. Sie finden den übergeordneten Prozess mit:
Dann check out
quelle
Wenn Sie auf Redhat / CentOS sind,
httpd
wird anstelle von verwendetapache2ctl
.Dies bedeutet, dass Sie die verwenden müssen
Befindet sich
httpd
jedoch fast nie auf dem Weg, den Sie erwarten.Ich kann auf CentOS 5.8 bestätigen, dass der tatsächliche Pfad ist
/usr/sbin/httpd
.Aber wenn das nicht der Weg ist, können Sie es entdecken. Hier ist, wie ich das konnte.
Zuerst habe ich den Daemon überprüft, der zur Steuerung verwendet wird.
Um die Linie 40ish
Was mir genau gesagt hat, wo ich es finden kann. Hoffe das hilft.
quelle
Listet alle aktivierten Module auf
quelle
Auf meinem gentoo kann ich
apache2ctl modules
die aufgelisteten Module ausführen und sehen.quelle
Überprüfung aus dem PHP-Skript (für mod_xsendfile):
Die Prüfung für PHP_SAPI soll ausschließen, wenn PHP als CGI ausgeführt wird, da apache_get_modules () in diesem Kontext nicht funktioniert. Wenn dies unter PHP <5.0.0 ausgeführt wird, wird nur der
apache2handler
Kontext das erwartete Ergebnis liefern.quelle
Ich habe ein kleines Python-Skript erstellt, um Ihnen dabei zu helfen. Bitte werfen Sie einen Blick auf https://github.com/zioalex/unused_apache_modules
Das können Sie davon erwarten:
quelle