Benutzer-Werkzeuge

Webseiten-Werkzeuge


webalizer

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 mit crontab -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
webalizer.txt · Zuletzt geändert: 2020/04/26 10:14 von julian