---
title: "Adding AWstats to Gentoo"
date: "2009-05-07"
path: "/35-adding-awstats-to-gentoo.html"
section: "/ramblings"
aliases:
  - "/35"
  - "/35-adding-awstats-to-gentoo"
  - "/35.html"
  - "/blog/addingawstatstogentoo"
  - "/ramblings/35-adding-awstats-to-gentoo.html"
---

I followed the following basic steps:

```
USE="vhosts" emerge -p awstats
```

Remove -p pretend after you've seen what dependancies are required.

Create conf file:

```
ln -s /usr/share/webapps/awstats/6.9-r1/postinst-en.txt /etc/apache2/vhosts.d/awstats.conf
```

Edit the apache conf file:

```
nano /home/dev/apache/conf/vhosts.conf
```

Add something similar like this, changing the default location of awstats for security. Further access restrictions are set below:

```
ScriptAlias /pkd-stats "/usr/share/webapps/awstats/6.9-r1/hostroot/cgi-bin/"
Alias /pkd-stats-icons "/usr/share/webapps/awstats/6.9-r1/htdocs/icon/"

<Directory /usr/share/webapps/awstats/6.9-r1/hostroot/cgi-bin/>
        Options +ExecCGI +FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

<Directory /usr/share/webapps/awstats/6.9-r1/htdocs/icon/>
        Options +ExecCGI +FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
</Directory>

CustomLog "|/usr/sbin/cronolog /home/dev/apache/logs/tcs-%Y-%m-%d.log" combined
```

Duplicate the config file creating a new for the domain that your running and edit:

```
cd /etc/awstats/
cp awstats.module.conf awstats.www.pkdavies.com.conf
nano /etc/awstats/awstats.www.pkdavies.com.conf
```

Set the following:

```
LogFile="/usr/bin/logresolvemerge.pl /home/dev/apache/logs/pkd-*.log |"
SiteDomain="www.pkdavies.com"
DNSLookup=1
DirCgi="/pkd-stats"
DirIcons="/pkd-stats-icons"
AllowFullYearView=3
AllowToUpdateStatsFromBrowser=1
SkipHosts="127.0.0.1 REGEX[^192\.168\.] REGEX[^10\.]"
```

Change the owner of the files:

```
cd /usr/share/webapps/awstats/6.9-r1/hostroot
chown -R apache:apache datadir
chown -R apache:apache cgi-bin
```

Now update the stats from existing log files

```
perl awstats.pl -config=www.pkdavies.com -update
```

Now password protect the access.\
Create the password file (replace the word username & password with anything you like)

```
htpasswd -bc /etc/awstats/.htpasswd username password
```

In my case it involved editing the main httpd.conf file and adding the awstats.conf file uncommenting:

```
<Location "/pkd-stats/awstats.pl">
    AuthType Basic
    AuthName "AWStats authenticated zone"
    AuthUserFile /etc/awstats/.htpasswd
    Require valid-user
</Location>
```

Reload Apache

```
apache2ctl configtest
apache2ctl graceful
```
