claim.gif
Linux Magazin Linux User Easy Linux Ubuntu User International Linux Community
Erschienen in EasyLinux 08/2003

Homepage-Statistiken mit Webalizer erstellen

Besucher im Blick

von Andrea Müller


Die eigene Homepage gehört mittlerweile zur virtuellen Grundausstattung. Wer Zugriff auf die Log-Dateien seines Web-Servers hat, erstellt mit Webalizer ausführliche Statistiken über die Besucher seiner Web-Präsenz.

Der eigene Internet-Auftritt ist nichts Besonderes mehr. Viele so genannte Web-Hoster buhlen um die Gunst der Kunden, so dass auch Pakete, die den Umfang einer Internet-Visitenkarte übersteigen, bezahlbar sind. Bei manchen Angeboten hat man dann auch Zugriff auf die Log-Dateien seines Web-Servers.

In der Zugriffsdatei (access.log) protokolliert der Web-Server, in den meisten Fällen ein Apache, welcher Benutzer wann auf eine Ihrer Seiten zugreift. Eine Zeile dieser Log-Datei sieht z. B. so aus:

80.128.239.223 - - [18/May/2003:15:31:07 +0200] "GET /mahjong/mj31.html HTTP/1.1" 200 4278 "-"\
"Mozilla /4.0 (compatible; MSIE 6.0; Windows NT 5.1; Q312461)"

Aus einer solchen Zeile kann man mehrere Informationen entnehmen. Man sieht, welche Datei (/mahjong/mj31.html) von welcher IP-Adresse (80.128.239.223) zu welcher Zeit angefordert wurde, als was sich der anfragende Browser vorgestellt hat (Mozilla/4.0) und ob der Web-Server die gewünschte Datei auch ausliefern konnte (Rückgabewert 200 für "Alles OK", Datei nicht gefunden wäre hingegen 404). Diese Angaben sind einzeln gesehen nicht sonderlich interessant, werten Sie aber alle Zeilen einer Log-Datei aus, erfahren Sie einiges über die Beliebtheit Ihres Internet-Auftritts: Welche Seiten die Besucher sich am liebsten ansehen, wie lange sie bei Ihnen verweilen und ob Teile Ihrer Homepage gar komplett ignoriert werden. Ist letzteres der Fall, deutet das oft auf einen kaputten oder fehlenden Link oder eine unübersichtliche Navigation hin.

Eine Statistik ist also eine praktische, hilfreiche Sache und befriedigt außerdem die persönliche Neugier. Eine solche zu erstellen, hört sich bei diesen unlesbaren Log-Zeilen jedoch nach viel Arbeit an, die wohl kein Mensch freiwillig auf sich nehmen würde. Deshalb gibt es das Programm Webalizer, das Log-Dateien einliest und umfangreiche Statistiken inklusive Grafik im HTML-Format erzeugt. Bei manchen Web-Hosting-Angeboten sind solche Statistiken schon Bestandteil des Pakets. Falls Ihr Provider keine Statistiken anbietet oder Sie trotzdem eine lokale Statistik erzeugen wollen, etwa um eine detailliertere Auswertung als bei Ihrem Provider zu erhalten, gilt es zunächst, Webalizer zu installieren.

Installation unter SuSE Linux

Webalizer ist nicht Bestandteil von SuSE Linux Personal, so dass nur Besitzer der Professional-Edition sofort loslegen können. Alle anderen gehen so vor:

Schritt 1

Laden Sie sich das Programmpaket vom FTP-Server von SuSE oder einem Mirror herunter. SuSE 8.1 Linux Anwender finden das passende Paket z. B. unter ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/8.1/suse/i586/webalizer-2.01-272.i586.rpm, Nutzer der neuen SuSE-Version 8.2 werden unter ftp://ftp.gwdg.de/pub/linux/suse/ftp.suse.com/suse/i386/8.2/suse/i586/webalizer-2.01-381.i586.rpm fündig.

Schritt 2

Bevor Sie Webalizer installieren, spielen Sie zunächst das Paket gd ein, das das Statistikprogramm zum Zeichnen von Grafiken benötigt. Starten Sie dazu YaST und wählen Sie den Punkt Software / Software installieren oder löschen.

Schritt 3

Stellen Sie den Filter auf Suche und geben Sie als Suchbegriff gd ein.

Schritt 4

Markieren Sie im rechten Fenster mit den Ergebnissen das Paket gd und klicken Sie auf Akzeptieren. Nach der Installation dieser Bibliothek können Sie das eben heruntergeladene Webalizer-Paket einspielen.

Schritt 5

Öffnen Sie den Dateimanager Konqueror über einen Klick auf das kleine Haus in der KDE-Leiste und wechseln Sie in Ihr Download-Verzeichnis. Klicken Sie das Webalizer-RPM-Paket an und wählen Sie danach im Paketinformationsfenster den Punkt Installiere Paket mit YaST (Abbildung 1).

Schritt 6

Geben Sie im Authentifizierungsdialog Ihr Administrator-Passwort ein und klicken Sie auf OK. Das RPM-Paket wird installiert und danach SuSE-config ausgeführt.

Abb. 1: Unter SuSE Linux installieren Sie heruntergeladene Pakete komfortabel mit dem Konqueror.

Installation unter Red Hat

Red-Hat-Anwender können sich den Download von Webalizer sparen, da das Programm schon auf den Installationsmedien zur Verfügung steht. Allerdings lauert hier eine andere Falle, die Sie wie folgt umgehen:

Schritt 1

Legen Sie Ihre Red-Hat-CD oder DVD ins Laufwerk. Den automatischen Start des Paketverwalters unterbinden Sie jedoch durch einen Klick auf Abbrechen. Der Paket-Manager kann nur mit Paketgruppen umgehen. Webalizer befindet sich in der Gruppe Server / Web Server. Markieren Sie diese, besteht der Red-Hat-Paket-Manager darauf, auch das Standardpaket dieser Grupppe, den Web-Server Apache, zu installieren. Da Sie aber vermutlich keinen eigenen Web-Server benötigen, installieren Sie Webalizer besser auf andere Weise.

Schritt 2

Navigieren Sie mit dem Datei-Manager Konqueror in das Unterverzeichnis RedHat/RPMS der CD/DVD.

Schritt 3

Doppelklicken Sie die Datei webalizer-2.01_10-9.i386.rpm. Bei Red Hat Linux 9.0 heißt das Paket webalizer-2.01_10-11.i386.rpm. Geben Sie dann Ihr root-Passwort ein und bestätigen Sie es durch Klick auf OK.

Schritt 4

Das Programm redhat-install-packages prüft nun die Abhängigkeiten und informiert Sie, dass außerdem das Paket mit der Bibliothek libgd installiert wird. Nehmen Sie den Vorschlag an, um die Pakete zu installieren. Bei Red Hat 9.0 besteht allerdings noch eine weitere Abhängigkeit. Dort ist es nicht ohne weiteres möglich, Webalizer zu installieren, wenn man nicht auch einen lokalen Web-Server installiert hat. Der ist für den Betrieb von Webalizer aber gar nicht nötig. Hier hat man bei Red Hat nicht mitgedacht und eine zu weit gehende Paketabhängigkeit definiert. In diesem Fall kommen zwei Lösungswege in Betracht. Entweder Sie folgen dem Vorschlag des Paketverwalters und installieren auch den Web-Server. Dieser wird nicht automatisch beim Hochfahren des Systems gestartet und stellt daher auch keine potentielle Sicherheitslücke dar. Eine andere Möglichkeit ist es, Webalizer und die benötigte Bibliothek über die Kommandozeile einzuspielen.

Öffnen Sie dazu ein Terminal und geben Sie su ein. In der nächsten Zeile müssen Sie Ihr Administrator-Passwort eintippen. Danach sind Sie als Systemverwalter unterwegs. Mit den folgenden zwei Kommandos installieren Sie Webalizer:

rpm -i /mnt/cdrom/RedHat/\
RPMS/gd-1.8.4-11.i386.rpm
rpm -i /mnt/cdrom/RedHat/RPMS/\
webalizer-2.01_10-11.i386.rpm \
--nodeps

Der Parameter --nodeps weist die Paketverwaltung an, die definierten Abhängigkeiten zu ignorieren und das Programm trotzdem einzuspielen.

Die erste Statistik

Nach diesem Installationsaufwand ist es Zeit, eine erste Statistik zu erzeugen. Im K-Menü suchen Sie jedoch vergeblich nach dem Log-Auswertungs-Tool. Webalizer ist ein Kommandozeilenprogramm, das Sie aus einem Befehlsfenster aufrufen müssen. Die einzelnen Optionen gibt man dem Programm entweder über Kommandozeilenparameter oder eine Konfigurationsdatei mit. Obwohl Webalizer über sehr viele Parameter verfügt, die Sie mit dem Aufruf von man webalizer nachlesen können, sind es nur einige wenige Schritte bis zu Ihrer ersten Statistik.

Schritt 1

Öffnen Sie den Konqueror und legen Sie in Ihrem Home-Verzeichnis ein Unterverzeichnis für die Log-Dateien an, für unser Beispiel nennen wir es logdateien. Hier speichern Sie die Zugriffsprotokolle Ihrer Homepage. Wie Sie die Log-Dateien herunterladen können, erfahren Sie von Ihrem Webhoster. Der Name der Logs hat meistens den Aufbau domainname-access.log. Ältere Log-Dateien werden regelmäßig zur Platzersparnis komprimiert und tragen daher Namen wie domainname-access.log.1.gz. Webalizer kann beide Varianten einlesen, es ist also egal, welche Log-Datei Sie für einen ersten Test herunterladen.

Schritt 2

Erzeugen Sie in dem eben angelegten Verzeichnis einen Unterordner für die HTML-Statistik mit dem Namen statistik.

Schritt 3

Nun beginnt die Arbeit von Webalizer. Öffnen Sie mit [Alt-F2] ein Schnellstartfenster und geben Sie dort konsole ein, um ein Eingabefenster zu öffnen.

Schritt 4

Wechseln Sie mit dem Befehl cd ~/logdateien in das Verzeichnis mit den Logs. Das Tilde-Zeichen (~) erreichen Sie über [AltGr-+].

Schritt 5

Rufen Sie Webalizer mit Eingabe von

webalizer -n meinedomain.de\
 -o statistik meinedomain.log

auf. Hinter dem -n sollte der Name Ihrer Domain stehen, da Webalizer sonst als Überschrift für die Statistik den Rechnernamen verwendet. Mit -o (für output) legen Sie fest, in welchem Verzeichnis Webalizer die Statistik ablegt. Der letzte Teil der Eingabe ist die Log-Datei, aus der die Statistik erzeugt werden soll. Webalizer nimmt seine Arbeit auf und produziert dabei einiges an Ausgaben (Abbildung 2). Hauptsächlich erfahren Sie dort, was Webalizer gerade tut, aber auch über auftretende Fehler informiert Sie das Programm. Nutzen Sie Red Hat Linux, wird Webalizer Sie darüber unterrichten, dass er seine Statusinformationen nicht schreiben konnte. Doch selbst wenn Fehler auftreten, erstellt Webalizer eine Statistik. Die Ursache der Fehlermeldung und wie Sie sie als Red-Hat-Nutzer beseitigen, lesen Sie in Kasten 1 nach.

Schritt 6

Im Verzeichnis /home/benutzername/logdateien/statistik liegen nun mehrere HTML-Dateien und Grafiken. Betrachten Sie die Datei index.html mit einem Brower, sehen Sie die eben erzeugte Besucherübersicht. Darunter befindet sich eine Tabelle mit den Zugriffen in numerischer Form und den Monaten, für die eine Besucherstatistik erstellt wurde (Abbildung 3). Wieviele Monate dort zu sehen sind, hängt davon ab, wie oft Ihr Web-Hoster die Log-Dateien komprimiert. Duch Klick auf einen der Monate gelangen Sie zur entsprechenden Detailstatistik.

Abb. 2: Webalizer informiert Sie in seiner Ausgabe darüber, was er genau tut.

Abb. 3: Von Webalizer erstellte Statistik. Die Tabelle bietet Zugriff auf Detailstatistiken der einzelnen Monate.

Bei den Monatsauswerungen bleibt Ihrer Neugier nichts verborgen. Hier finden Sie die Zugriffszahlen für jeden einzelnen Tag, ja sogar eine Auflistung, um welche Tageszeit die meisten Zugriffe erfolgten. In der Top-30-Liste lesen Sie nach, welche Ihrer Seiten am beliebtesten sind, bei den Entry Pages sehen Sie die Seiten, über die die meisten Besucher zu Ihrer Web-Präsenz finden und die Exit Pages verraten Ihnen den Ausgang, also über welche Seite Ihre Besucher die Website verlassen haben. Hatte Webalizer bei der Erstellung der Statistiken Zugriff auf einen DNS-Server, sehen Sie sogar, aus welchen Ländern die meisten Ihrer Besucher kommen und die Tabelle mit den User Agents verrät Ihnen, welchen Browser die Surfer nutzen bzw. vorgeben zu benutzen. Wirklich verlässlich ist diese Angabe nicht, da man bei den meisten Browsern selbst eintragen kann, als was sie sich vorstellen. Da es leider einige Seiten gibt, die nur dem Internet Explorer oder Netscape Zugang gewähren, weisen Benutzer anderer Programme diese oft an, sich als Netscape oder IE auszugeben.

Webalizer für Profis -- die Jahresstatistik

Rufen Sie Webalizer nun mit demselben Befehl für eine andere Log-Datei auf, wird Ihre eben erzeugte Statistik überschrieben. Das liegt daran, dass Webalizer im Normalmodus die Log-Datei für einen ganzen Monat erwartet. Die meisten Web-Hoster komprimieren die Log-Dateien aber in kürzeren Abständen, um Festplattenplatz zu sparen. Doch auch damit kann Webalizer umgehen. Mit dem Parameter -p schalten Sie das Programm in den inkrementellen Modus. Dabei merkt sich Webalizer, wo die letzte verarbeitete Log-Datei endete und macht bei der Bearbeitung einer neuen Datei genau dort weiter. Selbst wenn Ihr Web-Hoster wöchentlich die Log-Dateien komprimiert, kommen Sie so zu einer übersichtlichen Jahresstatistik.

Schritt 1

Laden Sie alle gepackten Log-Dateien Ihrer Homepage herunter. Bei der gepackten Datei mit der höchsten Zahl im Namen handelt es sich um das älteste Log. Dieses muss zuerst ausgewertet werden.

Schritt 2

Gehen Sie vor, wie oben beschrieben, nur rufen Sie Webalizer diesmal zusätzlich mit dem Parameter -p auf:

webalizer -n meinedomain.de\
 -o statistik -p meinedomain\
.log.x.gz

Das x steht für die höchste Zahl, die in Ihren gepackten Log-Dateien vorkommt.

Schritt 3

Rufen Sie Webalizer nun auch für die anderen Logs in dieser Form auf und passen Sie dabei den Namen der Log-Dateien an, also z. B.

webalizer -n meinedomain.de\
-o statistik -p meinedomain.\
log.5.gz
webalizer -n meinedomain.de\
-o statistik -p meinedomain\
.log.4.gz
...

Um nicht so viel tippen zu müssen, blättern Sie einfach mit der [Pfeil hoch]-Taste zum zuletzt eingegebenen Befehl zurück. Dort müssen Sie dann nur die Zahl ändern.

Schritt 4

Haben Sie alle gepackten Log-Dateien so bearbeitet, könnte das Ergebnis wie in Abbildung 4 aussehen.

Schritt 5

Sobald Ihr Web-Hoster erneut die Log-Dateien komprimiert, laden Sie sich das neueste Exemplar herunter (die Datei mit der niedrigsten Nummer) und rufen wieder Webalizer auf. Dabei ist es wichtig, dass Sie bei jedem Aufruf dieselben Optionen verwenden, da es ansonsten zu Fehlern beim inkrementellen Modus kommen kann. (eba)

Abb. 4: Von Webalizer mit der Option -p erzeugte Statistik über einen längeren Zeitraum.
Tipp: Tipparbeit reduzieren

Wer nicht jedesmal eine lange Befehlswurst tippen will, sondern sich lieber auf ein einfaches webalizer logdatei beschränkt, kann die Optionen für den Webalizer-Aufruf in eine Datei schreiben. Standardmäßig sucht Webalizer nach der Datei webalizer.conf. Diese erwartet er in seinem Arbeitsverzeichnis. Für unser Beispiel legen Sie daher die Datei /home/benutzername/logdateien/webalizer.conf an. Schreiben Sie mit einem Text-Editor folgende Optionen in die Datei.

#Verzeichnis für die Statistik
OutputDir /home/benutzername/logdateien/statistik
#Name der Domain, für die die Statistik erzeugt wird
HostName meinedomain.de
#keine Länderstatistik erzeugen
CountryGraph no
#Inkrementeller Modus
Incremental  yes
#Liste mit allen User Agents erzeugen
AllAgents    yes

Die mit # beginnenden Zeilen sind Kommentare, die die Bedeutung der einzelnen Optionen erläutern. Sie werden von Webalizer nicht beachtet.

Kasten 1: Stolperfalle unter Red Hat Linux

Die Erzeugung einer Statistik im inkrementellen Modus funktioniert bei Red Hat Linux nicht auf Anhieb. Schuld daran ist ein Eintrag in der Datei /etc/webalizer.conf, der das Programm anweist, seine Verlaufsinformationen in die Dateien /var/lib/webalizer/webalizer.hist und /var/lib/webalizer/webalizer.current zu schreiben. Dort haben Sie als normaler Benutzer allerdings kein Schreibrecht. Webalizer erzeugt zwar trotzdem eine Statistik, kann jedoch keine Statusinformationen speichern. Das ist schnell behoben:

  • Öffnen Sie über Systemtools / Terminal ein Eingabefenster und geben Sie den Befehl su ein. Tippen Sie danach Ihr root-Passwort. Jetzt arbeiten Sie als Administrator.
  • Geben Sie kwrite /etc/webalizer.conf ein, um die systemweite Konfigurationsdatei von Webalizer im Text-Editor kwrite zu öffnen. Nutzen Sie die Suchfunktion des Editors, um die mit HistoryName ind IncrementalName beginnenden Zeilen zu finden. An den Anfang dieser Zeilen setzen Sie ein Rautezeichen (#). Das sorgt dafür, dass Webalizer die Einträge nicht mehr beachtet und seine Verlaufsinformationen zukünftig im Verzeichnis mit den HTML-Dateien speichert.
  • Speichern Sie die Datei und beenden Sie den Editor. Im Eingabefenster geben Sie nun noch exit ein, um wieder als normaler Benutzer zu arbeiten.

Alternativ können Sie die /etc/webalizer.conf auch als normaler Benutzer in das Verzeichnis mit den Log-Dateien kopieren und diese Kopie mit einem Editor anpassen. Webalizer liest dann nur die Konfiguration aus dem aktuellen Verzeichnis und ignoriert die systemweite Vorgabe.

Dieser Online-Artikel kann Links enthalten, die auf nicht mehr vorhandene Seiten verweisen. Wir ändern solche "broken links" nur in wenigen Ausnahmefällen. Der Online-Artikel soll möglichst unverändert der gedruckten Fassung entsprechen.

Druckerfreundliche Version | Feedback zu dieser Seite | Datenschutz | © 2012 Linux New Media AG | Last modified: 2007-01-25 16:20

[Linux-Magazin] [LinuxUser] [Linux-Community] [Admin-Magazin] [Ubuntu User] [Smart Developer] [Linux Events] [Linux Magazine] [Ubuntu User] [Admin Magazine] [Smart Developer] [Linux Magazine Poland] [Linux Community Poland] [Linux Magazine Brasil] [Linux Magazine Spain] [Linux Technical Review]