AWStats und JAWStats unter Debian

by rocco

AWStats ist ein freies Logfile Analyseprogramm, und das einen mit vielen Informationen über die Besuche auf seinem Webserver versorgt. Da AWStats selber nicht wirklich ansehnlich ist, war ich sehr begeistert, als ich JAWStats entdeckt habe, welches die Informationen aus AWStats aufhübscht.

Die Installation der der beiden Tools ist recht einfach und schnell gemacht, doch es kann ja nie schaden alle Informationen noch mal auf einem Haufen vor sich zu haben.

Zuerst wird AWStats installiert, und das geschieht auf debian-typische Weise:

~$ apt-get install awstats

Dadurch wird AWStats installiert und einige Dateien und Verzeichnisse erstellt, die gleich noch benötigt werden:

  • /usr/lib/cgi-bin/awstats.pl
  • /etc/awstats/awstats.conf
  • /var/lib/awstats/
  • /etc/cron.d/awstats

Jetzt geht es an die Konfiguration. Auch wenn nur eine Server beobachtet werden soll, muss eine extra Konfigurationsdatei angelegt werden, da diese später für JAWStats gebraucht wird.

~$ cp /etc/awstats/awstats.conf /etc/awstats/awstats.meineseite.conf

In der neuen Datei müssen jetzt die Parameter angepasst werden:

  • LogFile: Der Pfad zur Logdatei, in diesem Fall /var/log/apache2/access.log
  • LogType: W
  • LogFormat: 1
  • SiteDomain: meineseite
  • HostAliases: weitere Bezeichnungen der Domain, also z.B. localhost 127.0.0.1 usw.

Die Datei ist sehr gut Dokumentiert, für weitere Informationen einfach mal die Kommentare lesen.

Damit die Logdateien auch von AWStats gelesen werden können, müssen noch Berechtigungen angepasst werden:

chmod o+r /var/log/apache2/access.log

Damit die Datei immer diese Berechtigung hat, muss noch in der logrotate-Datei vom Apachen die Zeile

create 640 root adm

abgeändert werden in

create 644 root adm

Wenn sich der Aufruf von Logrotate und AWStats überschneiden, kann es passieren dass einige Einträge verloren gehen. Das kann man verhindern in dem man in die logrotate-Datei zusätzlich noch folgendes einfügt:

prerotate
	/usr/lib/cgi-bin/awstats.pl -config=awstats.meineseite.conf  -update
endscrip

AWStats ist damit schon fast fertig eingerichtet und der erste Analyselauf kann gestartet werden:

~$ perl /usr/lib/cgi-bin/awstats.pl -config=meineseite -update

Wenn das einmal durchgelaufen ist (was ein wenig dauern kann), kann man sich das Ergebnis im Browser ansehen:

http://meineseite.tld/cgi-bin/awstats.pl?config=meineseite

Wenn alles richtig gemacht wurde erhält man nun schöne Statistiken über die Besuche seiner Seite.

Als letztes muss noch der Cronjob angepasst werden. Dazu die Datei /etc/cron.d/awstats öffnen und so aussehen lassen:

*/30 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache2/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=meineseite -update >/dev/null

Das Intervall (hier alle 30 Minuten) kann und sollte natürlich an die eigenen Bedürfnisse angepasst werden.

Damit sollte AWStats fertig eingerichtet sein. Zur Sicherheit empfiehlt es sich, den Zugang zu der Seite per .htaccess zu beschränken.

Jetzt muss nur noch JAWStats installiert werden. Dafür erstellen wir im DokumentRoot des Webservers ein entsprechendes Verzeichnis und laden dorthin die aktuelle JAWStats-Version und entpacken sie.

~$ mkdir /var/www/jawstats
~$ cd /var/www/jawstats
~$ wget http://www.jawstats.com/src/jawstats-0.6beta.tar.gz
~$ tar -xvzf jawstats-*.tar.gz

Als nächstes wird die Datei config.dist.php in config.php umbenannt, und in ihr einige Parameter angepasst. In der Datei gibt es für jede zu beobachtende Seite ein Array, welches entsprechend angepasst werden muss:

$aConfig["meineseite"] = array(
  "statspath"   => "/var/lib/awstats/",
  "updatepath"  => "/usr/lib/cgi-bin/awstats.pl/",
  "siteurl"     => "http://meineseite.tld",
  "theme"       => "default",
  "fadespeed"   => 250,
  "password"    => "my-1st-password",
  "includes"    => ""
);

Jetzt kann JAWStats durch http://meineseite.tld/jawstats aufgerufen werden.
Genauere Informationen zur Konfiguration findet man in den Dokumentationen.
Auch hier empfiehlt es sich, den Zugang per .htaccess zu schützen.