Inhaltsverzeichnis
Webalizer
Mit Webalizer kann man sich aus den Logfiles unseres Webservers Statistiken erzeugen und grafisch anzeigen lassen. Diese werden in statischen HTML-Dateien gespeichert, die täglich von Webalizer erneuert werden. Webalizer hat gegenüber anderen Webseitenstatistiken den Vorteil, dass es unabhängig vom Client läuft. Es verwendet nur im Nachhinein die Webseitenlogs und muss nicht vom Client des Nutzers aufgerufen werden, und wird dadurch auch nicht von Werbeblockern abgelehnt. Es ist eine deutlich privatsphärenfreundlichere Alternative, aber natürlich weniger detailliert.
Genaue Dokumentation zu Webalizer gibt es in der Konfigurationsdatei /etc/webalizer/webalizer.conf
, der Manpage webalizer(1)
und den Dateien in /usr/share/doc/webalizer/
auf dem Shellserver.
Logfiles
Die Logfiles liegen aus Sicht des Shell- und Uploadservers in /home/log/SITENAME/
, wobei SITENAME
durch den eigenen Sitename zu ersetzen ist.
Einrichtung für eigene Seite
- Verbinde dich mit
shell.in-berlin.de
(siehe auch Shell). - Lege das Zielverzeichnis für die Statistik an (siehe
mkdir(1)
):
mkdir /home/www/SITENAME/public_html/webalizer
- Editiere mit
crontab(1)
die eigene Crontab mitcrontab -e
und kopiere folgende Zeile hinein (SITENAME
durch Sitenamen ersetzen):
30 0 * * * /usr/bin/webalizer -p -n SITENAME -o /home/www/SITENAME/public_html/webalizer /home/log/SITENAME/www.SITENAME.in-berlin.de/access.log.$(date --date=yesterday +\%Y\%m\%d)
Die 30 und 0 geben die Minuten bzw. Stunden an, wenn man die Statistik nicht um 0:30 Uhr täglich erzeugt haben will, kann man sie durch andere Werte ersetzen. - Die Statistik ist nun ab dem ersten Lauf unter
http://www.SITENAME.in-berlin.de/webalizer/
abrufbar.
Tipps:
- Wer mit dem Editor vi nicht vertraut ist, kann z.B. um nano zu benutzen den Aufruf folgendermaßen machen:
EDITOR=nano crontab -e
- Möchte man nicht warten, bis die Statistik zur angegebenen Uhrzeit erstmals erstellt wird, kann man webalizer hiermit auch vorher schon starten:
/usr/bin/webalizer -p -n SITENAME -o /home/www/SITENAME/public_html/webalizer /home/log/SITENAME/www.SITENAME.in-berlin.de/access.log.$(date --date=yesterday +%Y%m%d)
- Wer nicht möchte, daß die Statistik öffentlich einsehbar ist, kann
- auf einen Link dorthin verzichten
- mit den Mitteln des Webservers (
.htaccess
) den Zugriff einschränken. Siehe auch die Apache-Dokumentation hierzu. - die Statistik ausserhalb des Webpfades abspeichern und sich die Dateien herunterladen und selber ansehen.
Komprimierte Logfiles der Statistik hinzufuegen
Logfiles älter als drei Tage werden automatisch mit bzip2
komprimiert und sind an der Dateiendung .bz2
zu erkennen. Um diese Archive der Statistik hinzuzufuegen, benutzt man bzcat(1)
und leitet die Ausgabe direkt an webalizer weiter:
bzcat /home/log/SITENAME/www.SITENAME.in-berlin.de/access.log.DATUM.bz2 | /usr/bin/webalizer -p -n SITENAME -o /home/www/SITENAME/public_html/webalizer
Sämtliche Logfiles der Statistik hinzufuegen
Möchte man nicht jedes Logfile per Hand der Statistik hinzufuegen, kann man das mit diesem Shellskript automatisieren:
#!/bin/sh for file in /home/log/SITENAME/*; do if echo "$file" | grep -q '.bz2'; then bzcat $file | /usr/bin/webalizer -p -n SITENAME -o /home/www/SITENAME/public_html/webalizer - else /usr/bin/webalizer -p -n SITENAME -o /home/www/SITENAME/public_html/webalizer $file fi done
Dieses Skript speichert man z.B. unter webalizer.sh
ab, macht es mit chmod +x webalizer.sh
ausführbar und bei Ausführung mit ./webalizer.sh
werden sämtliche Logfiles von SITENAME
der Statistik hinzugefügt.
Entdecke die Möglichkeiten
Möchste man die Statistik selber gestalten, dann kann man sich Webalizer selber konfigurieren. Die Manpage webalizer(1)
verrät die Details dazu.
- Konfigurationsverzeichnis erstellen:
mkdir /home/shell/SITENAME/WebalizerConfDir/
- Konfigurationsdateien kopieren:
cp /etc/webalizer/webalizer.conf /home/shell/SITENAME/WebalizerConfDir/SITENAME.webalizer.conf
- Konfigurationsdateien editieren:
vi WebalizerConfDir/webalizer.conf
- Den Webalizer-Aufruf anpassen, sodass der diese Konfiguration benutzt:
/usr/bin/webalizer -c /home/shell/SITENAME/WebalizerConfDir/SITENAME.webalizer.conf