Webalizer
Es gibt viele Tools, mit denen man sich Statistiken zur Nutzung seiner Webseiten erstellen lassen kann. Ein alter Bekannter ist Webalizer, von dem es auch mehrere Weiterentwicklungen gibt. Mit Webalizer kann man sich aus den Logfiles unseres Webservers Statistiken erzeugen und grafisch anzeigen lassen. Diese Ergebnisse 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. Dadurch wird es 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 Manpage webalizer(1)
und den Dateien in /usr/share/doc/webalizer/
auf dem Shellserver.
Logfiles
Die Logfiles liegen aus Sicht des Shellservers in /home/log/SITENAME/
, wobei SITENAME
durch den eigenen Sitename zu ersetzen ist.
Einrichtung für die eigene Webseite
- 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 wenn man die Statistik nicht täglich um 0:30 Uhr erzeugt haben möchte, kann man die zeiten durch andere Werte ersetzen. - Die Statistik ist nun ab dem ersten Lauf unter
https://SITENAME.in-berlin.de/webalizer/
oderhttps://domain.tls/webalizer/
abrufbar. Den Pfadnamen kann man auch anpassen.
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 dazu auch die Apache-Dokumentation. - die Statistik außerhalb des Webpfades abspeichern und sich die Dateien herunterladen und woanders ansehen.
Komprimierte Logfiles der Statistik hinzufügen
Logfiles älter als drei Tage werden automatisch mit bzip2
komprimiert und sind an der Dateiendung .bz2
zu erkennen.
Um diese Archive der Statistik hinzuzufügen, 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 hinzufügen
Möchte man nicht jedes Logfile per Hand der Statistik hinzufügen, kann man das mit diesem Shellskript automatisieren:
#!/bin/sh
for file in /home/log/SITENAME/www.SITENAME.in-berlin.de/*; 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
, 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, so dass dieser eine bestimmte Konfiguration benutzt:
/usr/bin/webalizer -c /home/shell/SITENAME/WebalizerConfDir/SITENAME.webalizer.conf