AA_PO-22262-Kurvendiagramm.jpg

© Sebastian Duda, 123rf.com

Zugriffsdaten auswerten mit Webalizer

Zahlenspiele

Wer heutzutage eine erfolgreiche Webseite betreiben will, muss nicht nur auf Barrierefreiheit, Browserunabhängigkeit und Suchmaschinenoptimierung achten, sondern auch die Besuche auswerten. Als Klassiker der Logfile-Analyse gilt Webalizer.

Bei vielen Anwendern lösen Dienste wie Google Analytics [1] ein zwiespältiges Gefühl aus. Zwar verursacht Googles Webseitenanalyse keine Kosten und lässt sich sehr einfach bedienen, doch in der heutigen Zeit möchten viele Nutzer ihre Daten nicht an externe Dienstleister übermitteln. Moderne Analysetools wie Piwik [2] schaffen zwar insofern Abhilfe, als sie auf dem eigenen Server laufen und dort sehr detailliert Daten aufbereiten. Um zuverlässig zu funktionieren, sind sie jedoch auf Javascript-Ausführung im Browser angewiesen. Noch vor der Web-2.0-Zeit entstand der Klassiker Webalizer [3] – und beruht daher auf einem anderem Ansatz. Er benötigt weder externe Dienste, noch führt er Skripts auf dem Client aus – vielmehr begnügt er sich mit den gängigen Logfiles, die jeder Webserver standardmäßig anlegt. Zudem verarbeitet Webalizer auch Protokolle gängiger FTP-Server und Proxies.

Datenschutz ist wichtig

Die Vorgabe-Einstellungen so gut wie aller Linux-Distributionen sehen das Protokollieren sämtlicher Web- und FTP-Zugriffe vor. Doch wohlgemerkt: Hier herrscht in Deutschland juristisch gesehen bei weitem keine Narrenfreiheit. Organisationen benötigen ab einer gewissen Größe einen Datenschutzbeauftragten, nahezu jede Webseite braucht eine Datenschutzerklärung, und selbst dann dürfen Sie nicht nach Gutdünken protokollieren und auswerten. Insbesondere Firmen drohen empfindliche Strafen, falls sie den gesetzlichen Regelungen zuwiderhandeln. Daher sollten Sie zumindest vor der gewerblichen Nutzung von Analysetools entsprechenden Rat einholen.

Die Installation

Unser Testsystem besteht aus einem Server mit der aktuellen 32-Bit-Version von Ubuntu 10.10 ("Maverick Meerkat") mit Apache als Webserver. Webalizer selbst steht als fertiges Ubuntu-Paket zur Verfügung. Sie installieren das Programm mittels sudo apt-get install webalizer, wobei als Zielverzeichnis für die aufbereiteten Statistiken das Verzeichnis /var/www/webalizer entsteht.

Standardmäßig startet Webalizer mittels Cronjob in /etc/cron.daily/webalizer einmal am Tag automatisch. Dabei liest er jedoch nicht die aktuelle Protokolldatei /var/log/apache2/access.log ein, sondern die jeweils schon durch die Log-Rotation archivierte Version mit dem Namen /var/log/apache2/access.log.1, um bei Schreibzugriffen während des Webalizer-Laufs keine Daten zu verlieren. Anstatt nun erst einige Tage zu warten, bis genug Material vorhanden und die Auswertung erzeugt ist, zwingen Sie Logrotate einfach dazu, die Dateien sofort zu rotieren, und führen Webalizer einmal händisch aus. Dazu geben Sie folgende Befehle auf der Konsole ein:

$ sudo logrotate -f /etc/logrotate.d/apache2
$ sudo /etc/cron.daily/webalizer

Diese Methode sollten Sie jedoch nur auf einem Testsystem nutzen, keinesfalls auf einem Produktionssystem. Nach dem Rotieren der Logdateien und dem Webalizer-Durchlauf öffnen Sie die Adresse http://Rechner/webalizer/ im Browser. Sogleich präsentiert sich die Auswertung (Abbildung 1) – naturgemäß noch mit recht wenig Daten, denn die Installation ist ja ganz frisch.

Abbildung 1: Webalizer nach dem ersten Durchlauf.

Einlasskontrolle

Allein schon aus Datenschutzgründen stellen Sie vor der weiteren Konfiguration von Webalizer besser sicher, dass kein ungebetener Gast Zugang zu den Daten erhält. Dazu bieten sich zwei Möglichkeiten an: Zum einen die Zugriffsbeschränkung auf bestimmte IP-Bereiche, zum anderen ein Passwortschutz. Beide Varianten konfigurieren Sie über die Datei /etc/apache2/conf.d/webalizer, die Sie zunächst anlegen müssen.

Um den Zugriff auf das Verzeichnis /var/www/webalizer nur dem lokalen Rechner (127.0.0.1 per IPv4 und ::1 per IPv6), dem lokalen Netzwerk (192.168.*.*) sowie allen Hosts unterhalb der Domain linux-user.de zu erlauben, tragen Sie die Zeilen aus Listing 1 in die Datei ein.

Listing 1

<Directory /var/www/webalizer>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from 192.168
Allow from linux-user.de
</Directory>

Soll sich hingegen die Seite zwar von überall öffnen lassen, aber nur mit dem richtigen Passwort (Abbildung 2), legen Sie mittels

$ sudo htpasswd -s -c /var/www/webalizer/.htuser webalizer

einen gleichnamigen Benutzer an und tragen in /etc/apache2/conf.d/webalizer die sechs Zeilen aus Listing 2 ein.

Listing 2

<Directory /var/www/webalizer>
AuthType Basic
AuthName "Webalizer"
AuthUserFile /var/www/webalizer/.htuser
Require valid-user
</Directory>

In beiden Fällen starten Sie Apache mittels sudo /etc/init.d/apache2 reload neu, um die Konfiguration zu aktivieren.

Abbildung 2: Sicher ist sicher – die Passwortabfrage schützt vor neugierigen Blicken.

Passwörter im Klartext

Der Passwortschutz per .htaccess überträgt Passwörter im Klartext und ist daher unsicher. Setzen Sie ihn nur ein, wenn die Webalizer-Instanz über eine SSL-verschlüsselte Verbindung läuft, und aktivieren Sie dann in der Webalizer-Konfiguration zudem die Direktive UseHTTPS.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Auswertung von Webserver-Logdateien
    Webserver sind äußerst gesprächig. Sie protokollieren penibel jede Anfrage und jeden Zugriff als graue Zahlenkolonnen. Mit der richtigen Software werden daraus aussagekräftige Grafiken.
  • Zu Befehl
    Auch wenn sich viele Dinge bequem über grafische Oberflächen wie KDE oder GNOME regeln lassen – wer sein Linux-System richtig ausreizen möchte, kommt um die Kommandozeile nicht herum. Abgesehen davon gibt es auch sonst viele Situationen, wo es gut ist, sich im Befehlszeilendschungel ein wenig auszukennen.
  • Auf der Heft-DVD
Kommentare
Aussagekraft der "Anfragen"
Susa (unangemeldet), Donnerstag, 13. September 2012 17:57:11
Ein/Ausklappen

Eine Frage: der Webalizer führt ja auch die Anfragen je Seite auf (unter Top 30 von XY URLs), also z.B. 1028 Anfragen für /dateiordnerXY/index.html. Sagt jetzt diese Zahl aus, wie oft eine Zeile beim Aufruf dieser html-Seite in das Logfile geschrieben wird, oder umfasst sie auch alle Elemente auf dieser Seite? Falls nicht, wäre diese Zahl doch recht aussagekräftig bezüglich der Häufigkeit an Aufrufen (natürlich nicht über die Besucher)?


Bewertung: 211 Punkte bei 43 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...