Michael's Domain

The fact that everything looks different doesn't mean that all has changed

Installing awstats on ubuntu feisty

I started to use awstats for creating the site statistics on our server. After installing the ubuntu package, there are still a few things that I had to do:

1. Install libnet-ip-perl and libgeo-ipfree-perl in order to map the dns entries to countries.

Download
http://www.maxmind.com/download/geoip/api/c/GeoIP-1.4.2.tar.gz
http://www.maxmind.com/download/geoip/api/perl/Geo-IP-1.27.tar.gz
http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
http://www.maxmind.com/download/geoip/database/GeoIP.dat.gz
http://www.maxmind.com/download/geoip/database/asnum/GeoIPASNum.dat.gz
in order to use the free, but non-open source versions of GeoIP.

2. Since I use vhosts, I put for every vhost one configuration file into the /etc/awstats/ directory.

3. Into the vhost-specific configuration file I only put directives that are different from the default configuration file /etc/awstats/awstats.conf. For my own vhost (jeltsch.org) these directives are as follows:

LogFile="/var/log/apache2/jeltsch.org/access.log"
LogFormat=1
DNSLookup=1
SiteDomain="jeltsch.org"
HostAliases="www.jeltsch.org"
AllowToUpdateStatsFromBrowser=1
AllowFullYearView=3
EnableLockForUpdate=1
AllowAccessFromWebToAuthenticatedUsersOnly=1
AllowAccessFromWebToFollowingAuthenticatedUsers="jeltsch"
DefaultFile="index.html index.php"
LoadPlugin="geoipfree"

If you want to use the non-OSS GeoIP stuff, replace the last line by the following:

LoadPlugin="geoip GEOIP_STANDARD /usr/local/share/perl/5.8.8/Geo/IP/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/share/perl/5.8.8/Geo/IP/GeoLiteCity.dat"
LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /usr/local/share/perl/5.8.8/Geo/IP/GeoIPASNum.dat"

Compile the GeoIP-1.4.2 stuff according to the INSTALL file. You probably need to get some stuff first to be able to do the compilation. Execute apt-get install build-essential
Compile Geo-IP-1.27 according to the INSTALL file. Unzip the 3 databases and put them into the /usr/local/share/perl/5.8.8/Geo/IP/ directory.

4. In order to protect the statistics I limit access to authenticated users.
The following lines has to be added to the vhost-specific apache configuration file /etc/apache2/sites-available/jeltsch.org:


AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
AuthType basic #added line
AuthName "cgi-bin restricted" #added line
AuthUserFile /etc/apache2/.htpasswd #added line
#added line
Require valid-user #added line
#added line

The you need to create the /etc/apache2/.htpasswd file and add a user password with the command:

htpasswd -c /etc/apache2/.htpasswd username

5. Now everything works apart from the images which awstats expects to be in the icon subdirectory of the document root for the vhost. I just created a link:

ln -s /usr/share/awstats/icon /var/www/jeltsch.org/icon

On some Ubutu installs the log files cannot be accessed and even if you change the permissions to
chomd -R 755 /var/log/apache2
they keep being switched back by the logrotation script. In order to fix that read this post.


© Michael Jeltsch 2006

Powered by Drupal - Design by M&M