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/