| Niederösterreichisches | Bildungsservice |
| Konfigurationsdatei | Apache-Logdatei | Testen von webalizer | Starten mit cron | Monatlich komprimieren |
Bei den SUSE-Distributionen ist auch das Programm webalizer (Paket
webalize) enthalten, mit dem man eine sehr schöne und informative
Statistik über die Zugriffe auf die eigenen WWW-Seiten erhält.
Das Program ist derzeit u. a. bei http://www.pinoe-hl.ac.at/webalizer/
und bei http://www.asn-noe.ac.at/web/stat/
im Einsatz.
Ob das Programm bereits installiert ist, kann man als Benutzer root
dadurch testen, dass man den Befehl
webalizer -h
eingibt. Ist das Programm bereits installiert, dann erscheint ein Hilfetext.
Wenn es noch nicht installiert wurde, kann es von der CD Nr. 1 nachinstalliert
oder bei der Adresse www.mrunix.net/webalizer/
heruntergeladen werden. Eine compilierte deutsche Fassung (Version 2.01) kann
von ftp.pinoe-hl.ac.at/pub/linux/webalizer_2_01_dt.tgz
heruntergeladen werden. (Achtung! Die alte Version 1.30 hat einen Fehler
und hört mit der Statistik am 4. Oktober 2001 auf!)
ist die Datei /etc/webalizer.conf, die auf die eigenen Bedürfnisse angepasst werden kann. Der folgende Auszug dieser Datei enthält nur die Konfigurationszeilen ohne Kommentare.
LogFile /var/log/httpd.access_log
#LogType clf
#OutputDir /var/lib/httpd/htdocs/usage
#HistoryName webalizer.hist
#Incremental no
ReportTitle Statistik der Zugriffe auf
HostName www.DOMAINNAME.ac.at
#HTMLExtension html
PageType htm*
PageType cgi
#PageType phtml
#PageType php3
#PageType pl
#UseHTTPS no
#DNSCache dns_cache.db
#DNSChildren 0
#HTMLHead <META NAME="author" CONTENT="The Webalizer">
#HTMLBody <BODY BGCOLOR="#E8E8E8" TEXT="#000000"
LINK="#0000FF" VLINK="#FF0000">
HTMLPost <BR CLEAR="all">
HTMLTail <A HREF="index.html">WWW-Statistik</A> | <A
HREF="../homepage.htm">1. Seite</A>
HTMLEnd </BODY></HTML>
#Quiet no
#ReallyQuiet no
#TimeMe no
#GMTTime no
#Debug no
#FoldSeqErr no
#VisitTimeout 1800
#IgnoreHist no
#CountryGraph yes
#DailyGraph yes
#DailyStats yes
#HourlyGraph yes
#HourlyStats yes
#GraphLegend yes
#GraphLines 2
#TopSites 30
#TopKSites 10
#TopURLs 30
#TopKURLs 10
#TopReferrers 30
#TopAgents 15
#TopCountries 30
#TopEntry 10
#TopExit 10
#TopSearch 20
#TopUsers 20
#AllSites no
#AllURLs no
#AllReferrers no
#AllAgents no
#AllSearchStr no
#AllUsers no
IndexAlias home.htm
IndexAlias homepage.htm
HideSite 192.168.100.*
#HideSite localhost
#HideReferrer mrunix.net/
#HideReferrer Direct Request
HideURL *.gif
HideURL *.GIF
HideURL *.jpg
HideURL *.JPG
HideURL *.png
HideURL *.PNG
HideURL *.ra
#HideAgent RealPlayer
#HideUser root
#HideUser admin
#GroupURL /cgi-bin/* CGI Scripts
#GroupURL /images/* Images
GroupSite 192.168.100.*
#GroupSite *.compuserve.com
#GroupReferrer yahoo.com/ Yahoo!
#GroupReferrer excite.com/ Excite
#GroupReferrer infoseek.com/ InfoSeek
#GroupReferrer webcrawler.com/ WebCrawler
#GroupUser root Admin users
#GroupUser admin Admin users
#GroupUser wheel Admin users
#GroupAgent MSIE Micro$oft Internet Exploder
#HideAgent MSIE
#GroupAgent Mozilla Netscape
#HideAgent Mozilla
#GroupAgent Lynx* Lynx
#HideAgent Lynx*
#HideAllSites no
#GroupDomains 0
#GroupShading yes
#GroupHighlight yes
#IgnoreURL /test*
#IgnoreReferrer file:/*
#IgnoreAgent RealPlayer
#IgnoreUser root
#IgnoreURL *
#IncludeURL ~joeuser*
#IgnoreUser *
#IncludeUser someuser
#MangleAgents 0
SearchEngine yahoo.com p=
SearchEngine altavista.com q=
SearchEngine google.com q=
SearchEngine eureka.com q=
SearchEngine lycos.com query=
SearchEngine hotbot.com MT=
SearchEngine msn.com MT=
SearchEngine infoseek.com qt=
SearchEngine webcrawler searchText=
SearchEngine excite search=
SearchEngine netscape.com search=
SearchEngine mamma.com query=
SearchEngine alltheweb.com query=
SearchEngine northernlight.com qr=
#DumpPath /var/lib/httpd/logs
#DumpHeader no
#DumpExtension tab
#DumpSites no
#DumpURLs no
#DumpReferrers no
#DumpAgents no
#DumpUsers no
#DumpSearchStr no
Die genaue Bedeutung dieser Einstellungen ist aus den Kommentaren der
Datei /etc/webalizer.conf oder aus der Dokumentation im
Verzeichnis /usr/doc/packages/webalize ersichtlich.
Noch eine Bemerkung zu einigen Einträgen. Mit GroupURL wird
eine Zugriffsstatistik für eine ganze Gruppe von URL erstellt. Mit
GroupURL /cgi-bin/*
also für alle CGI-Skripts. Zusätzlich würde noch jedes Skript einzeln in der
Statistik aufscheinen. Will man das verhindern, muss man noch zusätzlich
HideURL /cgi-bin/*
eingeben. Mit
GroupSite 192.168.100.*
kann man die Zugriffe aus dem eigenen Netz zu einer einzigen Gruppe
zusammenfassen. (Außer man will genau wissen, von welchem PC wie oft
zugegriffen hat.)
Mit dem Eintrag
HTMLTail <A
HREF="index.html">WWW-Statistik</A> | <A
HREF="../homepage.htm">1. Seite</A>
in der Datei /etc/webalizer.conf gibt es von jeder
Monatsstatistik ein Rücksprung auf die Startseite der Statistik oder auf die
Homepage, wenn diese homepage.htm heißt.
Achtung: Die Zeilenlänge der Einträge darf eine Maximalzahl
(= 80 ?) von Zeichen nicht überschreiten, sonst wird sie abgeschnitten!
Möchte man auch eine Statistik der Browser (User Agent)
haben, mit denen auf die WWW-Seiten zugegriffen wurde, dann muss die Datei /etc/httpd/httpd.conf
angepasst werden. Die folgende Zeile wird auskommentiert:
#CustomLog /var/log/httpd.access_log common
und bei der etwas weiter unten stehenden Zeile entfernt man das Zeichen #
CustomLog /var/log/httpd.access_log combined
(Konsequenz ist aber, dass die Logdatei größer wird.) Bei dieser Gelegenheit
sollte auch gleich die Einstellung
ServerSignature on
gesetzt werden.
Damit diese Einstellungen wirksam werden, muss der Apache Server oder LINUX neu
gestartet werden!
Mit dem Befehl webalizer kann das Programm getestet und die
erste Statistik erstellt werden. Bei jedem Aufruf von webalizer
wird immer zuerst die aktuelle Version von /etc/webalizer.conf
gelesen. (LINUX muss nicht neu gestartet werden!) Ein Experimentieren mit
verschiedenen Einstellungen in der Datei /etc/webalizer.conf
ist daher sehr einfach möglich.
Über wie viele Monate die Statistik erstellt wird, hängt von der Logdatei
/var/log/httpd.access_log ab. Die erzeugten HTML-Seiten finden sich bei
der Standardeinstellung im Verzeichnis /usr/local/httpd/htdocs/webalizer.
Die Startseite heißt index.html.
Zum automatischen und regelmäßigen Start des Programmes webalizer
kann das Programm cron verwendet werden. Dazu wird die Datei /etc/crontab
editiert und folgende Zeile eingefügt:
10 0 * * * root /usr/bin/webalizer
Damit wird an jedem Tag um 0:10 das Programm webalizer
gestartet und die Statistik akualisiert.
Achtung! Bei einem Testcomputer mit 16MB RAM bricht das Programm mit einem Fehler (segmentation fault) ab!
Wenn das Programm webalizer getestet wurde und bereits eine
zufriedenstellende Statistik angelegt hat, können die folgenden Ergänzungen
vorgenommen werden.
In der Datei /etc/webalizer.conf wird die folgende Einstellung
geändert:
Incremental yes
Im Verzeichnis /var/log legt man als Benutzer root ein neues
Verzeichnis old an:
cd /var/log
mkdir old
Im Verzeichnis /usr/local legt man ein neues Verzeichnis adm
an:
cd /usr/local
mkdir adm
In diesem Verzeichnis legt man eine Datei mit dem Namen rotate_logs
mit folgendem Inhalt an:
#!/bin/sh
# halt the server
/sbin/init.d/apache stop
# define backup names
OLD_ACCESS_LOG=/var/log/old/httpd.access_log.`date +%y%m%d-%H%M%S`
OLD_ERROR_LOG=/var/log/old/httpd.error_log.`date +%y%m%d-%H%M%S`
# make end of month copy for analyzer
cp /var/log/httpd.access_log /var/log/httpd.access_log.backup
# move files to archive directory
mv /var/log/httpd.access_log `echo $OLD_ACCESS_LOG`
mv /var/log/httpd.error_log `echo $OLD_ERROR_LOG`
# restart web server
/sbin/init.d/apache start
# compress the archived files
/bin/gzip $OLD_ACCESS_LOG
/bin/gzip $OLD_ERROR_LOG
(Eine komprimierte Version dieser Datei mit dem Namen rotate.zip
kann hier heruntergeladen werden. Diese Datei in das Verzeichnis /usr/local/adm
kopieren. Dann mit dem Befehl
mv rotate.zip rotate_logs.gz
umbenennen und mit
gunzip rotate_logs.gz
entpacken.)
Diese Datei muss ausführbar sein. Dies erreicht man mit
chmod 744 rotate_logs
Zum automatischen Start wird wieder das Programm cron
verwendet. Dazu fügt man in der Datei /etc/crontab folgende
Zeilen ein:
0 0 1 * * root /usr/local/adm/rotate_logs
5 0 1 * * root /usr/bin/webalizer -Q /var/log/httpd.access_log.backup
Damit werden an jeden Monatsersten um 0:0 die Logdateien komprimiert. Um 0:5
wird das Programm webalizer gestartet. Dabei wird die vorher
erstellte Datei /var/log/httpd.access_log.backup ausgewertet.
Letzte Änderung am
04.04.2003
webmaster@pinoe-hl.ac.at.