AWstats
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.
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.