KvFG Wiki

Karl-von-Frisch-Gymnasium Dußlingen

Benutzer-Werkzeuge

Webseiten-Werkzeuge


ag:computer:karlchen:logfiles

Logfileanalyse

Logfileanalyse in Dokuwiki

Um keinen Webalizer installieren zu müssen, wurde DokuWiki selbst um ein entsprechendes PlugIn erweitert:

http://www.sds-project.fr/howto/doku.php?id=wiki:statdisplay
http://www.sds-project.fr/howto/doku.php?id=wiki:logstats

Zusätzlich musste hierzu dann eine Grafikbibliothek für PHP installiert werden:

apt-get install php5-gd

Dann noch die

/etc/php5/apache2/php.ini

anpassen und das Modul aktivieren in der Sektion „Dynamic Extensions“

extension=gd.so

Ab jetzt logt DokuWiki selbst mit:

http://www.kvfg.info/doku.php?id=statistik

Webalizer

Webalizer wurde am 28.05.2010 wieder entfernt, weil awstats einfach hübscher ist.

Nunja - jetzt kommt er doch noch auf die Platte um auch die Zugriffe außerhalb des Dokuwikis besser dokumentieren zu können:

sudo apt-get install webalizer

Webalizers Webfrontend landet dann in

/var/www/webalizer/

Dann muss die Konfigurationsdatei angepasst werden:

vi /etc/webalizer/webalizer.conf

Und außerdem muss ein Cronjob erstellt werden:

crontab -e

Der cronjob soll jede Stunde laufen:

0 *  * * *  /usr/bin/webalizer

Jetzt muss auf die Webalizerseite noch ein Passwortschutz drauf:

vi /etc/apache2/sites-available/default

Hier dann eintragen:

<Directory /var/www/webalizer/>
AuthType Basic
AuthName "Protected Area"
AuthUserFile /etc/apache2/htaccess/webalizer.auth
require valid-user
</Directory>

:!: Nicht vergessen: Diese Anweisungen gehören in die default und in die default-ssl :!:

Damit das funktioniert muss das entsprechende Verzeichnis auch angelegt werden:

mkdir /etc/apache2/htaccess

In diesem Verzeichnis dann

htpasswd -c /etc/apache2/htaccess/webalizer.auth benutzername

Jetzt noch den Apachen neu starten

/etc/init.d/apache2 restart

und alles ist gut.

awstats

Webalizer sieht einfach altbacken aus. Awstats ist viel viel hübscher. Deswegen kommt der jetzt auch noch auf die Platte und dann wählen wir aus:

apt-get install awstats

Konfiguration

Dann wird die Apache Conf bearbeitet:

vi /etc/apache2/apache2.conf

Hier dann am Ende eingefügt:

# awstats
ScriptAlias /awstats /usr/lib/cgi-bin/
Alias /awstats-icon/ /usr/share/awstats/icon/

Jetzt bearbeiten wir die Konfigurationsdatei:

vi /etc/awstats/awstats.conf

Hier die Zeilen finden und den Inhalt abändern:

LogFile="/var/log/apache2/access.log"
SiteDomain="www.kvfg.info"

oder die awstats.conf kopieren und unter neuem Namen - z.B. kvfg.conf - hier wieder ablegen. Dies muss dann bei den folgenden Schritten berücksichtigt werden.

Eigentlich sollte für den Apache wohl LogFormat=4 passen, aber dann liest awstats keine Betriebssystem und Browserkennungen aus dem Log aus. Deswegen nutzen wir (testweise)

LogFormat=1

Cron muss nun auch noch angepasst werden, damit die Logs an den richtigen Stellen gesucht und gefunden werden und die richtigen Skripte aufgerufen werden - und hierzu editieren wir

vi /etc/cron.d/awstats

und schreiben den Inhalt wie folgt um:

*/10 * * * * root /usr/lib/cgi-bin/awstats.pl -config=/etc/awstats/kvfg.conf -update > /dev/null

Der Apache wird nun einmal neu gestartet:

/etc/init.d/apache2 restart

und awstats einmal von Hand aufgerufen:

/usr/lib/cgi-bin/awstats.pl -config=kvfg.conf

Im Browser überprüfen wir dann, ob es Fehlermeldungen gibt (meist wegen dem doppelten Aufruf des Plugins für die Hashfiles) und korrigieren diese.

In Zukunft wird der händische Aufruf wie folgt erfolgen:

/usr/lib/cgi-bin/awstats.pl -config=kvfg.conf -update

Nun fehlt noch der .htaccess Schutz für die Webseite, der wie bei webalizer, aber mit den folgenden Pfaden in die entsprechende Siteconfig des Apachen eingetragen wird:

<Directory /usr/lib/cgi-bin/>
AuthType Basic
AuthName "Protected Area"
AuthUserFile /etc/apache2/htaccess/awstats.auth
require valid-user
</Directory>

:!: Nicht vergessen: Diese Anweisungen gehören in die default und in die default-ssl :!:

Dann den Schutz setzen

htpasswd -c /etc/apache2/htaccess/awstats.auth benutzername

Jetzt noch den Indianer neu starten:

 /etc/init.d/apache2 restart

Das müsste es weitestgehend gewesen sein.

Konfiguration 2

Wer sicherer sein will, nimmt für den Eintrag in /etc/cron.d/awstats den folgenden Eintrag vor, der jedoch nicht immer reibungslos funktioniert:

*/10 * * * * www-data /usr/lib/cgi-bin/awstats.pl -config=/etc/awstats/kvfg.conf -update > /dev/null

Damit die Leserechte für die Apache access.log im zweiten Fall richtig gesetzt werden können, schreiben wir die Logfiles nun für eine andere Benutzergruppe (alternative Konfigurationsvorschläge ändern die Rechte auf 644 - aber die Welt hat hier IMHO nichts zu suchen):

vi /etc/logrotate.d/apache2

Hier dann die entsprechende Zeile suchen und adm durch www-data ersetzen:

create 640 root www-data

Jetzt noch die Leserechte der schon vorhandenen Logdatei anpassen:

chgrp www-data /var/log/apache2/access.log

Sollte schlicht nichts passieren, dann liegt dies an falsch gesetzten Rechten auf irgendwelchen Ordnern über den oben angegebenen Dateien: Da darf der Apache nicht rein. Man muss in diesem Fall die Ordnerrechte z.B. auf 755 setzen … mit allen Nebenwirkungen.

Durch die Nutzung unserer Seiten erklären Sie sich mit der Verarbeitung Ihrer Daten in der in unserer Datenschutzerklärung niedergelegten Form einverstanden. Datenschutzerklärung ansehen
ag/computer/karlchen/logfiles.txt · Zuletzt geändert: 2011/08/03 12:21 von d.weller