Install awstats in Debian
#apt-get install awstats
This will complete the installation
Now you need to Run the awstats configure script located at cd /usr/share/doc/awstats/examples/awstats_configure.pl to setup awstats for the domain you want to monitor. You need to repeat the configuration process for each domain you want to monitor.
when this script starts it will prompt for some configuration questions first one is setup from non standard directory type yes and press enter
Webserver install location type /etc/apache2/httpd.conf and press enter
Need to create new config file type y and press enter
Define config file path as default one and and press enter
This will complete the configuration script setup
Now you need to set up an alias for awstats-icons in httpd.conf. Inserted it in the Aliases section. The awstats_configure.pl script adds it in the end of httpd.conf you need to comment or remove it.
Your entry for /awstats-icon/ in the Aliases section should look like:
Alias /awstats-icon/ /usr/share/awstats/icon/
Allow from all
Now you can restart apache using the following command
Now you need to configure for domain configuration file located at /etc/awstats/awstats.full-domain-name.conf and change the following parameters save and exit the file
SiteDomain="your domain name"
Generate stats the first time by using the following command
Update for config "/etc/awstats/awstats.full-domain-name.conf"
With data in log file "/var/log/apache2/access.log"...
Phase 1 : First bypass old records, searching new record...
Searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Jumped lines in file: 0
Parsed lines in file: 1585
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 1585 new qualified records.
You can now check the stats in your browser by point it to http://serverip/cgi-bin/awstats.pl?config=full-domain-name.You should see similar to the following screen
Cron Job Setup
If you want to get your website stats update every 5min you can use the following command
*/5 * * * * 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=full-domain-name -update >/dev/null
Possible error and Solution
When run awstats config script at the end you might see similar to the following error
-----> Create config file ‘/etc/awstats/awstats.Test.conf'
Error: Failed to open ‘/usr/share/doc/awstats/examples/wwwroot/cgi-bin/awstats.model.conf' for read.
make sure you unzipped the awstats.model.conf file:
where you will find some important parameters near head of file, which are meant to be edited by package maintainers. Unfortunately this seems not to have happened for Debian.
Note:- You also may have to modify these paths in the generated apache2.conf manually afterwards.