AWstats

Aus schokokeks.org Wiki
Zur Navigation springen Zur Suche springen

Das Programm AWstats ist eine Alternative zu Webalizer zur Erstellung von Statistiken für Web-Zugriffe. Dieser Artikel beschreibt die Installation in Ihrem Account bei schokokeks.org. Bei AWstats handelt es sich nicht nur um ein eigenständiges Programm sondern auch um ein CGI-Script, mit dem Teile der Statistik über das Webinterface erzeugt werden können.

Die neuste Version des Programmpakets finden Sie unter /srv/download oder auf der Website von AWstats.

Um die Statistik online verfügbar zu machen, benötigen Sie einen Webserver-VHost. In unserem Beispiel soll dies awstats.schokokeks.org sein. Beim Erzeugen der Webserver-Einstellungen achten Sie bitte darauf, die Protokollierung von Fehlermeldungen zu aktivieren. Dies erleichtert die Fehlersuche falls etwas nicht funktioniert. Achten Sie bitte darauf, dass bei den Webserver-Einstellungen der Domain, für die die Statistik erzeugt soll irgend eine Form des Zugriffsprotokolls aktiviert ist.

Legen Sie dann das Verzeichnis an, das Sie im Webserver vorgesehen haben. In unserem Fall ist das websites/awstats.schokokeks.org/htdocs. Wechseln Sie in das Domain-Verzeichnis (nicht in htdocs).

mkdir -p websites/awstats.schokokeks.org/htdocs
cd websites/awstats.schokokeks.org

Entpacken Sie die Datei awstats-x.x.tar.gz dort, so dass dadurch ein Verzeichnis websites/awstats.schokokeks.org/awstats-X.Y erzeugt wird.

tar xzf /srv/download/awstats-*.tar.gz

Verschieben Sie den Inhalt von awstats-*/wwwroot nach htdocs.

mv awstats-*/wwwroot/* htdocs/

Und das Verzeichnis tools in das Website-Verzeichnis (außerhalb von htdocs).

mv awstats-*/tools .

Danach können Sie das Verzeichnis awstats-* löschen.

rm -rf awstats-*

Wechseln nach htdocs/cgi-bin

cd htdocs/cgi-bin

Dort befindet sich eine Datei awstats.model.conf. Diese muss für die zu verwaltende Domain (die, für die die Statistiken erstellt werden sollen) angepasst werden. Dazu wird zuerst eine Kopie der Datei erstellt. Das Schema ist immer awstats.domain.conf, wobei jede Seite für die eine Statistik gewünscht ist, einen eindeutigen domain-Teil bekommt.

cp awstats.model.conf awstats.schokokeks.org.conf

Bearbeiten Sie diese Datei entsprechend Ihrer Gegebenheiten. Folgender Vorschlag benutzt die Platzhalter USERNAME, DOMAIN, ADRESSE für den schokokeks.org-Benutzernamen, die Domain für die Sie eine Statistik erzeugen möchten und die Adresse unter der die Statistik abgerufen werden kann.

LogFile="/home/USERNAME/websites/ADRESSE/tools/logresolvemerge.pl /var/log/apache2/USERNAME/DOMAIN.log* |"
LogType=W          // Default
LogFormat=1        // Default
LogSeparator=" "  // Default
SiteDomain="DOMAIN"
HostAliases="localhost 127.0.0.1 www.DOMAIN"
DNSLookup=2    // Default
DirData="/home/USERNAME/websites/ADRESSE/htdocs/DOMAIN"
DirCgi="/cgi-bin"     // Default
DirIcons="/icon"    // Default
AllowToUpdateStatsFromBrowser=1  // Default 0
Lang="de"       // Default "auto" 

Dies sind nur die minimalistisch angelegte Konfigurationsoptionen. Awstats kann viel feiner konfiguriert werden. Eine Beschreibung der Optionen finden Sie in der Konfigurationsdatei selbst.


Das angegebene Verzeichnis für DirData muss natürlich noch erzeugt werden.

Durch Verwendung von mehreren Konfigurationsdateien und mehreren Daten-Verzeichnissen kann eine Installation von awstats Statistiken für mehrere Websites gleichzeitig erzeugen.

Zugriff beschränken

Meistens möchte man die Inhalte der Statistiken nicht aller Welt anbieten. Daher sollte man entweder einen Passwortschutz oder eine robots.txt erzeugen. Letztere verhindert eine Aufnahme in die gängigen Suchmaschinen, beschränkt aber nicht den Zugriff durch Fremde.

Eine robots.txt könnte etwa so aussehen:

User-agent: *
Disallow: /


Direkt im Verzeichnis htdocs müssen Sie eine Datei .htaccess erzeugen. Diese kann (siehe Kasten) einen Passwortschutz enthalten, wird aber in jedem Fall benötigt um das Ausführen von CGI-Scripten einzuschalten. Fügen sie bitte daher die Zeile

allow +ExecCGI -Indexes

ein. Dies verbietet zudem noch die Auflistung der Verzeichnisinhalte.

Achten Sie darauf, dass die Perl-Scripte (Endung .pl) in den Verzeichnissen cgi-bin und tools ausführbar sind. Sofern Sie das Archiv auf dem Server entpackt haben, sollte dies bereits der Fall sein.

Für einen Test stellen Sie bitte sicher, dass Sie sich direkt im Verzeichnis htdocs befinden und rufen Sie den Befehl

./cgi-bin/awstats.pl -config=DOMAIN

auf. (Wobei DOMAIN genau den Teil des Namens der Konfigurationsdatei beschreibt, der bei awstats.DOMAIN.conf benutzt wurde.)

Falls Fehler auftretten werden entsprechende Fehlermeldungen generiert und angezeigt. Läuft das Skript Fehlerfrei dann soll in dem Verzeichnis DOMAIN eine Textdatei mit dem Namen: awstatsMMYYYY.DOMAIN.txt entstehen.


Die Statistiken können nun mittels Zugriff per Browser abgerufen werden. Dazu muss (analog zum Offline-Test oben) die Adresse http://ADRESSE/cgi-bin/awstats.pl?config=DOMAIN aufgerufen werden.

Damit die Statistik-Adresse krzer eingegeben werden kann, empfehlen wir folgende Zeilen in der bereits erstellten Datei .htaccess:

RewriteEngine On
RewriteRule ^$ /cgi-bin/awstats.pl?config=DOMAIN [R]


Damit die Statistiken automatisch und zeitgesteuert erstellt werden, sollte noch ein Cronjob erstellt werden. Über den Befehl crontab -e sollten Sie eine passende Zeile eintragen. Ein Beispiel:

 16 5 * * * /home/USERNAME/websites/ADRESSE/tools/awstats_updateall.pl now -awstatsprog=/home/USERNAME/websites/ADRESSE/htdocs/cgi-bin/awstats.pl -configdir=/home/USERNAME/websites/ADRESSE/htdocs/cgi-bin/ > /dev/null

Es wird das Verzeichnis ../cgi-bin/ durchsucht und alle gefundene config Dateien wie: awstats.DOMAIN.conf nacheinander als Parameter für AWstats gesetzt.