Bin ich hosting ein paar Dokumente auf meinem lokalen Rechner Apache für meine Gruppe.
Ich habe kopiert/verlinkt werden die Dokumente unter /var/www/html
.
Gibt es eine Möglichkeit zum protokollieren der Anfragen mit Zeitstempel für jede Anforderung?
InformationsquelleAutor Lazer | 2011-03-14
Anmeldung sollte bereits aktiviert sein und out of the box, und die Protokollierung in einer Datei namens access_log. Ich habe nie gesehen, eine Installation, wo es nicht bereits eingeschaltet ist.
In der Regel die Richtlinie für die wo log wird in eine Datei namens httpd.conf.
Die meisten der Zeit, die Datei ist in /var/log/apache2.
wiki.apache.org/httpd/DistrosDefaultLayout
Haben Sie einen Blick auf den link covener schlug mit jeder distribution die Standard-http-Zugriff auf log-Verzeichnis? Welche Distribution verwenden Sie?
tail -F /var/log/apache2/access.log
Ja, wenn Sie den Speicherort der access-log in /var/log/apache2, dass der Befehl funktioniert. Aber die OP nicht weiß dass.
InformationsquelleAutor Lynn Crumbling
Vorausgesetzt, der apache server läuft, und Sie haben den shell-Zugriff:
hierzu:
.. das ist ein apache-daemon-Prozess. Sie sind auf der Suche nach "-f /etc/apache2/http.conf".
Wenn Ihr apache-server wurde nicht gesagt (von der Distribution, init-Skripte), wo man die config-Datei Aussehen wird, in der Standard-Speicherort, die könnte man unter: /etc/apache2/ oder /etc/httpd/ (oder sonst irgendwo, wirklich, aber diese beiden sind die häufigsten). In diesem Ordner findest du eine Datei namens apache2.conf oder httpd.conf
nur versuchen, diese:
Sobald Sie die Konfigurationsdatei für den apache-server, suchen Sie nach der Zeile, wo Sie umfassen die Module-Konfigurationen. Auf meinem system sieht es wie folgt aus:
Nun müssen Sie, um herauszufinden, wo die log-Datei ist:
du suchst: CustomLog /var/log/apache2/access_log common.
Beachten Sie, dass diese CustomLog-Anweisung konnte in der main apache2.conf-Datei zu.
Jetzt haben Sie den Speicherort der log-Datei. Die wahrscheinlichste Sache zu stoppen Ihre server anmelden, nun ist die Datei-Berechtigungen. Stellen Sie sicher, dass das Verzeichnis unter CustomLog vorhanden ist und dass der apache-server schreiben können:
als root:
wo APACHEUSER ist wahrscheinlich apache oder www oder auch httpd. Sie können das herausfinden, indem Sie ausführen:
Also die Benutzer, die den apache-server auf meinem system ist eigentlich als apache. Es ist nicht root. Oder zumindest nicht sein sollte.
starten Sie Ihren server nach dem ändern der Berechtigung der Datei. Ich weiß nicht, wie Ihre Distribution macht. Es ist ein service, der[s] - Befehl auf ubuntu, denke ich. Aber man kann immer führen Sie das init-Skript direkt:
/etc/init.d/apache restart (ir werden können, unter einem anderen Speicherort auf Ihrer Distribution) einfach starten Sie den gesamten computer, wenn Sie schräg herausfinden, wie man starten Sie den apache-server.
Wenn die access_log-Datei ist leer nach Neustart des server ändern APACHEUSER, um root in den oben genannten Befehl.
nachdem alle diese nur verwenden Ihre Lieblings-pager-oder text-editor, um sich das Protokoll ansehen. Oder auch tail-f überwachen Sie in Echtzeit. Ich hoffe, das hilft. gl.
InformationsquelleAutor Ярослав Рахматуллин
Kann ich mir vorstellen, Sie haben virtuelle host einrichten (so genannte vhost) für Ihre /var/www/html document-root.
So können Sie einfach fügen Sie Ihre log set-up-Anforderungen, die innerhalb dieser bestimmten vhost, sothat Sie bekommen einen speziellen log-Datei.
Wie in diesem Beispiel :
Finden Sie die Art der Protokolle formatiert sind, die in der apache-Konfigurationsdatei, z.B. /etc/apache2/apache2.conf in die debian-Distributionen wie. Oder Sie nehmen, wie Sie sind, oder überschreiben Sie Sie in Ihrem virtual-host-Konfiguration. Wenn Sie nicht arbeiten mit virtuellen hosts, dass sich nicht viel ändern diese Grundsätze.
Dann können Sie manipulieren die Zugang.melden Sie - Datei zu extrahieren, zu analysieren, zu kopieren oder zu tun, was Sie will. Sie können dies entweder in der shell, bash-scripting oder perl oder auch python oder C oder...). Ich würde empfehlen, bash, Sie können leicht automatisiert als cronjob.
InformationsquelleAutor hornetbzz
die Ausgabe wie unten (timestamp) in die log-Datei doc_root_access_log
Sollten Sie wirklich finden hier, wie Sie haben, füllen der Erklärung vor allem auf das loggen.
InformationsquelleAutor Jasonw