I am planning to update this page to contain full installation and configuration of awstats for apache as I have time to. If you want to add something, go ahead. -th0th
mod_perl is required to run awstats with apache. ArchTrack/pkg package is available in repo extra. So you can install it using pacman.
# pacman -S mod_perl
Awstats package is available in AUR. You can use yaourt to build it or you can obtain tarball from AUR and build it yourself.
$ yaourt -S awstats
Enable mod_perl for Apache
To enable mod_perl in apache, you should add following line to apache configuration (/etc/httpd/conf/httpd.conf).
LoadModule perl_module modules/mod_perl.so
Configure Apache to log for Awstats
By default awstats requires Apache to record access logs as 'combined'. Unless you want a different behavior, you should set your access log format as 'combined'. To do so, your apache configuration should look like this:
<VirtualHost *:80> ServerAdmin firstname.lastname@example.org DocumentRoot "/srv/http/xxx" ServerName www.returnfalse.net ErrorLog "/var/log/httpd/returnfalse-error_log" CustomLog "/var/log/httpd/returnfalse-access_log" combined </VirtualHost>
The important line here is:
CustomLog "/var/log/httpd/returnfalse-access_log" combined
Including Awstats Configuration to Apache's Configuration
If you set the log format, then next step is including awstats config file to apache. The package in AUR has a default one, and it's working without any problem. But incase you want to create your own configuration, default one is this:
Alias /awstatsclasses "/srv/http/awstats/classes/" Alias /awstatscss "/srv/http/awstats/css/" Alias /awstatsicons "/srv/http/awstats/icon/" ScriptAlias /awstats/ "/srv/http/awstats/cgi-bin/" <Directory "/srv/http/awstats"> Options None AllowOverride None Order allow,deny Allow from all </Directory>
Include this file (in AUR case, the path is /etc/httpd/conf/extra/httpd-awstats.conf) to apache's main configuration:
Now if you have done all steps correctly, you should be able to see awstats running on http://domaincomeshere.com/awstats/awstats.pl of course after restarting apache. One last thing, which is the actual aim, make awstats read logs and convert them to stats.
Package in AUR comes with a out of the box hourly cron to update stats shown on awstats. This cron script reads awstats configuration files in /etc/awstats