Setting up AWStats on Gentoo
August 28, 2004
Some notes to myself on setting up AWStats on a Gentoo box.
-
First, emerge the awstats package. I added the “vhosts” USE flag because it’s listed as a USE flag that awstats reads, and I need support for virtual hosts (although I don’t know for sure what it does - I reckon it has something to do with the webapps-config package that’s a dependency).
emerge -pv awstats
USE=”vhosts” emerge awstats -
Don’t use the webapp-config program that the emerge process tells you to use at the end unless you know what you are doing. There have been reports that it isn’t exactly ideal in the Gentoo forums.
-
Make a symbolic link to the Apache configuration directives we need to add to Apache in a convenient location. You may also want to make the file owner-writable (chmod u+w) since it’s read-only.
ln -s /usr/share/webapps/awstats/6.1/postinst-en.txt /etc/apache2/conf/awstats.conf -
I had to add this bit to /etc/apache2/conf/awstats.conf prevent a 403 error when accessing the ScriptAliased /awstats directory.
<directory “/usr/share/webapps/awstats/6.1/hostroot/cgi-bin/”>
Options +ExecCGI +FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all</directory> -
Include the AWStats-required configuration directives in the main Apache config file (mine’s /etc/apache2/conf/apache2.conf).
Include conf/awstats.conf -
I’m using name-based virtual hosts, with logs for each of them (they are in the included vhosts/vhosts.conf file). AWStats by default parses the Combined log format and this is what I specify for my access logs as well. An example VirtualHost directive:
<VirtualHost *:80>
ServerName blog.codefront.net
DocumentRoot /www/codefront.net/htdocs/blog
ServerPath /blog
CustomLog /var/log/apache2/blog.codefront.net/access_log combined
ErrorLog /var/log/apache2/blog.codefront.net/error_log
</VirtualHost> -
Now, create an AWStats configuration file for each virtual-host.
cp /etc/awstats/awstats.model.conf /etc/awstats/awstats.blog.codefront.net.confNotice that the configuration file name is of the format “awstats.domain.tld.conf”.
-
Edit the configuration file (/etc/awstats/awstats.blog.codefront.net.conf). The important things to change are:
- LogFile (point this to your access log)
- SiteDomain (your site’s domain name)
- HostAliases (any aliases your site may have)
- DirData (AWStats database where your results will be stored. This has to be writable by the Apache user if the AllowToUpdateStatsFromBrowser option is turned on.)
- DirCgi (AWStats CGI directory)
- DirIcons (AWStats icons directory)
-
Restart Apache.
/etc/init.d/apache2 restart -
You can access AWStats from www.example.com/awstats/awstats.pl?config=www.example.com.
-
Set password-protection for the AWStats directory.
-
Run AWStats from the command line to update it. You’d likely want to set up a cron job for this.
/usr/bin/awstats_updateall.pl now -awstatsprog=/usr/share/webapps/awstats/6.1/hostroot/cgi-bin/awstats.pl -configdir=/etc/awstats/
Useful links:





Hi there, just what I was looking for :D Thanks alot, I just went from webalizer to awstats. Many times I think the post installation procedure gets lost when installing stuff with portage, especially when they write wrong this in the installer. Well, I went thrue your howto and worked quite well. I did have some 403 problems which might could update your article with. Also have you posted this over at the Gentoo forum? That might be a good idea, I did look over there for a few days ago and could find anything, it might be the first place to look for when having problem with Gentoo.
Also an example of your conf files might good, so people have a good look. Another thing that I noted when copying and pasting some character changed for examlple ” turned into . Hmm strange. Well , thanks again for a great howto.
Posted by: Jens Wedin on October 18, 2004 4am