How-To, Installationsanleitung & Konfiguration von AwStats

Ein Betreiber einer Webseite möchte natürlich ganz genau wissen, wie es um die Besucherzahlen steht. So wird der Erfolg einer Webseite oftmals anhand der Zugriffstatistiken gemessen und daher ist es sehr wichtig, verschiedene Informationen über das Surfverhalten des Lesers zu erfahren.

AwStats Logo

Hierbei sind in der Regel folgende Punkte für die Auswertung entscheidend:

  • Wie viele Seitenaufrufe / Besucher / Traffic hat die Webseite am Tag / pro Woche / pro Monat?
  • Aus welchen Ländern kommen die Leser?
  • Wie lang ist die Aufenthaltsdauer?
  • Von welchen Webseiten (Suchmaschine, Direktaufruf, Links auf anderen Webseiten) gelangen die Besucher auf die Seite? Stichwort "Referrer".
  • Welche Seiten werden am meisten aufgerufen?
  • Wenn der Besucher über eine Suchmaschine auf die Seite weitergeleitet wurde, wie lautet der Suchbegriff?
  • Welchen Browser / welches Betriebssystem benutzt der Leser?

Mit diesen Informationen ist man in der Lage, gezielt auf die Anforderungen der eigenen Webseite zu reagieren und die Inhalte zu optimieren. Doch wie kann man solche Statistiken erstellen? Wenn der Provider keine Statistiken anbietet, man aber Zugriff auf den Webserver hat, so muss man zwei Stellen Hand anlegen: zum einen muss der Webserver (Apache, IIS, etc) die Zugriffe richtig mitloggen und zum anderen ist eine Software wie Webalizer oder AwStats erforderlich, welche die Logdateien auswertet und die gewünschten Statistiken erstellt.

AwStats - Webanalyser
AwStats Webanalyser
sieht schick aus und wertet zahlreiche Informationen aus

In diesem How-To wird beschrieben, wie man den Webanalyser "AwStats" für den Apache-Webserver einrichtet. Als Betriebssystem-Plattform dient die Linux-Distribution Gentoo. Dieses How-To wurde anhand folgender Versionen erstellt:

  • awstats 6.5-r1
  • Apache 2.0.58
  • Linux Gentoo 2006.1

1.) Schritt - LogFormat des Apache einrichten

Bevor AwStats überhaupt in der Lage ist, die Logdateien korrekt auszuwerten, muss das LogFormat des Apache eingestellt werden. Der Apache ist in der Lage, die unterschiedlichsten Informationen auszuwerten und in eine Log-Datei zu schreiben. Zugriffszeit, IP-Adresse, aufgerufende Seite, Browser-Informationen, Herkunftsseite, und und und... So gut wie alle wichtigen Informationen können mitgeloggt und nach einer bestimmten Reihenfolge in die Logdatei geschrieben werden.

Hier eine Beispiel-Zeile aus einer Logdatei des Apache:

lj512133.crawl.yahoo.net - - [28/Jul/2007:16:23:43 +0000] "GET /rund-um-die-dose/verlosung-erste-hilfe-kochkoffer.html HTTP/1.0" 200 17680 "-" "Mozilla/5.0 (compatible; Yahoo! Slurp; http:// help.yahoo.com/help/us/ysearch/slurp)"

Wie man sieht, stehen in dieser einen Zeile diverse Informationen über den Zugriff auf eine bestimmte Seite. Neben den Informationen an sich hat man auch die Möglichkeit, die Reihenfolge und Trenner zu definieren. Natürlich gibt es bereits einige Konventionen, wie diese Logdateien standardmäßig auszusehen haben. Hier ein Überblick der wichtigsten LogFormaten:

Common Log Format (clf)

Das Common Log Format ist sehr einfach gehalten und beinhaltet nur relativ wenige Informationen über den Zugriff auf die Webseite. IP-Adresse, Zugriffszeit, HTML-Status und Datei sind die wichtigsten Informationen. In der httpd.conf des Apache steht dann etwas in der Art wie:

// Auszug httpd.conf       

LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log common

Dieses Format wird von so gut wie allen Analyse-Tools unterstützt, enthält aber wie erwähnt nur wenige Information. So könnte ein Eintrag im Common Log Format aussehen:

127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET
/apache_pb.gif HTTP/1.0" 200 2326

Combined Log Format

Das Combined Log Format enthält zusätzlich noch zwei weitere Informationen, nämlich den Referrer (von welcher Seite kommt der Leser) und die Browserinformationen. In der httpd.conf des Apache steht dann folgendes:

//Auszug httpd.conf

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-agent}i\"" combined
CustomLog log/access_log combined

Wir erhalten also zwei weitere wichtige Informationen und ein Eintrag nach dem Combined Log Format könnte so aussehen:

 127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"

Es gibt natürlich noch weitere Logformate wie das IIS des ISA des Microsoft Internet Information Server, welche wiederum die Zugriffe anders mitloggen. Für den Webanalyser AwStats muss das Logformat auf das Combined Log Format umgestellt werden, was im nächsten Schritt getan wird.

2.) Schritt - Logging auf das Combined Log Format umstellen

In der Konfigurationsdatei des Apache httpd.conf sollte bereits das Combined Log Format definiert worden sein. Man sollte also folgende Einträge finden:

//Auszug httpd.conf

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\"
\"%{User-agent}i\"" combined
CustomLog log/access_log combined

Entscheidend ist der letzte Eintrag combined. Dieser ist ein Alias für das LogFormat und könnte auch "PetersLogFormat" heißen. Im nächsten Schritt muss man das Logging für die Webseite ändern. In folgendem Beispiel sieht man VirtualHost-Eintrag für eine Domain. In der Zeile CustomLog muss am Ende combined eingetragen werden. Steht dort common oder ein andere Eintrag, so wird ein andere LogFormat genutzt.

 websrv-gentoo htdocs # vi /etc/apache2/vhosts.d/00_default_vhost.conf

<VirtualHost 212.xxx.xxx.5>
        ServerName www.xxyyzz.de
        DocumentRoot /var/www/localhost/htdocs/web_xxyyzz.de/
        CustomLog /var/www/localhost/htdocs/log/xxyyzz-access_log combined
        ErrorLog /var/www/localhost/htdocs/log/xxyyzz-error.log
</VirtualHost>

An diesem Punkt haben wir die Grundlage für AwStats eingerichtet und können mit der Installati von AwStats beginnen.

3.) Schritt - Installation von AwStats

In diesem Abschnitt wird beschrieben, wie man AwStats unter Linux Gentoo installiert. Wer eine andere Linux Distribution oder Windows nutzt, muss AwStats mit der jeweiligen Software-Verwaltung oder dem entsprechenden Installer installieren. Unter folgendem Link gibt es auf der offiziellen AwStats-Webseite Installer für die unterschiedlichen Plattformen: http://awstats.sourceforge.net/#DOWNLOAD

Unter Linux-Gentoo reicht ein einfaches

USE="vhosts" emerge awstats

um Awstats zu installieren. Hier werden auch direkt die Abhängkeiten klar, welche AwStats benötigt:

tux-laptop chef # emerge -p awstats

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] perl-core/Time-Local-1.17 
[ebuild  N    ] app-admin/webapp-config-1.50.15 
[ebuild  N    ] virtual/perl-Time-Local-1.17 
[ebuild  N    ] net-www/awstats-6.5-r1  USE="-vhosts"

Nach der Installation sollte sich AwStats in folgendem Verzeichnis befinden:

websrv-gentoo tmp # ls /usr/share/webapps/awstats/6.5-r1/
hostroot  htdocs  installed_by_webapp_eclass  postinst-en.txt

4.) Schritt - Apache konfigurieren

Als erstes kopieren wir die Datei postinst-en.txt in das Konfigurationsverzeichnis des Apache. Diese Datei enthält einige wichtige Directory-Einträge, die der Apache für das Ausführen von AwStats benötigt. AwStats basiert nämlich auf Perl und benötigt daher "Ausführungsrechte".

cp /usr/share/webapps/awstats/6.5-r1/postinst-en.txt /etc/apache2/awstats.conf

Wenn man sich die neu angelegte Datei awstats.conf anschaut, sieht man, dass sie einige Berechtigungen und Aliase festlegt. Diese Datei muss nun in der Apache-Konfigurationsdatei httpd.conf eingebunden werden:

vi /etc/apache2/httpd.conf

...

Include /etc/apache2/awstats.conf
...

Nachdem wir im 2. Schritt das LogFormat des Apache eingerichtet und im 3. Schritt AwStats installiert haben, wurde nun in Schritt 4 AwStats für den Apache "ausführbar gemacht". Im nächsten Schritt kommen wir nun zur eigentlichen Konfiguration von AwStats für unser Web.

5.) Schritt - AwStats konfigurieren

Im Verzeichnis /etc/awstats befindet sich einer bereits vordefinierte Konfigurationsdatei namens awstats.model.conf.  Diese nehmen wir als Vorlage für unser Web, indem wir diese Datei kopieren. Hier muss man Namen der neuen Datei beachten, den AwStats findet die Konfigdatei nur im Verzeichnis /etc/awstats, wenn die neue Datei nach dem Schema awstats.DOMAIN.conf angelegt wurde.

cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.www.meineDomain.de.conf

Diese Datei ist sehr gut kommentiert und sollte als selbsterklärend. Hier aber trotzdem die wichtigsten Einstellungen kurz erklärt.

// Auszug /etc/awstats/awstats.www.meineDomain.de.conf 

//Angabe der Apache-Log-Datei
LogFile="/var/www/localhost/htdocs/log/www.meineDomain-Acces.log"

// Log-Typ. W steht für Web-Log, F für FTP-Log, usw...
LogType=W

//LogFormat festlegen. 1=Combined Log Format, 2 = IIS, usw
LogFormat=1

// Domain
SiteDomain="www.meineDomain.de"

// HostAliase eintragen, über die die Seite erreichbar ist
HostAliases="www.meineDomain.de meineDomain.de www.andereDomain.de"

//Hier werden die Statistiken von AwStats gespeichert
DirData="/var/www/localhost/htdocs/meineDomain.de/awstats/"

//Ausführbarer Pfad von AwStats. Relativ oder absolut.
// hier ist das Vrz als in /var/www/localhost/meineDomain/awstats/cgi-bin/
DirCgi="/awstats/cgi-bin/awstats"

// Hier sind die netten Icons
DirIcons="/awstats/icons"

An dieser Stelle sind wir mit der Konfiguration des Apche und AwStats am Ende. Im nächsten Schritt werden wir die Statistik erstellen.

6.) Schritt - AwStats-Statistik erstellen

Bevor wir die Statistik erstellen, starten wir den Apache neu, damit die in Schritt 4 vorgenommenen Änderungen wirksam werden.

/etc/init.d/apache2 restart

Die eigentliche AwStats-Statistik wird mit folgendem Befehl erstellt:

# Statistik erstellen
# Wichtig: der Parameter -config erwartet nur die Domain, nicht den Namen der Konfig-Datei
/usr/share/webapps/awstats/6.5-r1/hostroot/cgi-bin/awstats.pl -config=www.meineDomain.de -update

Jetzt wird auch deutlich, warum auf die Namenskonvention der AwStats-Konfigurationsdatei geachtet werden muss, denn es wird keine Konfig-Datei direkt angegeben (-config=www.meineDomain.de).

Wenn alles sauber durchgelaufen ist, kann man sich die neue Statistik unter www.meineDomain.de/awstats/awstats.pl betrachten.

Viel Spaß mit der neuen und ausführlichen Statistik!

Links

Offizielle Webseite von AwStats: http://awstats.sourceforge.net/

Infos zu den LogFormaten: http://httpd.apache.org/docs/2.2/logs.html