Webstatistiken mittels awstats erstellen (Debian/Ubuntu)

Awstats ist ein mächtiges aber sehr gut dokumentiertes Tool für die Analyse von Log-Files, welche z.B vom Apache Webserver generiert werden. Aber auch die Logfiles des Proxy-Server Squid oder des Webserver nginx  können von awstats gelesen werden. In diesem kleine HowTo möchte ich zeigen, wie ich awstats in meiner Umgeben verwende.

Zuerst muss awstats installiert werden. Dazu verweden wir apt-get

apt-get install awstats libgeo-ipfree-perl libnet-ip-perl

Wenn dies erfolgt ist geht es an die Konfiguration. Zuerst kopieren wir das mitgelieferte Konfigurationsbeispiel um es an unsere Bedürfnisse anzupassen:

cd /etc/awstats/
cp /etc/awstats/awstats.conf /etc/awstats/awstats.example.com.conf
# öffnen der Datei im Editor nano
nano /etc/awstats/awstats.example.com.conf

Die mitgeliferte Konfiguration ist sehr gut dokumentiert. Um fürs erste eine funktionierede Konfiguration zu erhalten sind folgende Variablen azupassen:

LogFile="/var/log/apache2/example.com/access.log"
SiteDomain="example.com"
HostAliases="www.example.com"

Ich bevorzuge es die Reports statisch generieren zu lassen anstatt dynamisch per cgi. Um dies umsetzen muss ein Ordner erstellt werden, in welchem die Reports gespeichert werden und ein Cronjob zu generieren erstellt werden. Weiterhin werden die Cronjobs, welche von Debian per default angelegt werden auskommentiert. Dazu wird die Datei /etc/cron.d/awstats geöffnet

MAILTO=root

#*/10 * * * * www-data [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/update.sh

# Generate static reports:
#10 03 * * * www-data [ -x /usr/share/awstats/tools/buildstatic.sh ] && /usr/share/awstats/tools/buildstatic.sh

*/10 * * * * www-data /usr/share/awstats/tools/awstats_buildstaticpages.pl -awstatsprog=/usr/lib/cgi-bin/awstats.pl -update -config=example.com -dir=/var/www/stats/ > /dev/null

In diesem Beispiel werden die Reports unter /var/www/stats abgelegt.

 

Nun muss nur noch der vHost angepasst werden unter dem die Reports angezeigt werden sollen. Dazu wird in die jeweilige vHost Datei folgendes angefügt:

Alias /webstats /var/www/stats
Alias /awstats-icon "/usr/share/awstats/icon/"
<Directory /var/www/web1/stats>
        Require all granted
        Options None
</Directory>

Nu sollte nach einmaligen ausführen von dem script unter dem User des Apache  Webservers die jeweiligen Reports erstellt werden.

*/10 * * * * www-data /usr/share/awstats/tools/awstats_buildstaticpages.pl -awstatsprog=/usr/lib/cgi-bin/awstats.pl -update -config=example.com -dir=/var/www/stats/