Debian Admin - Your way to Debian World

June 4, 2007

Apache Log file analyzer Using Awstats in Debian

by @ 8:50 am. Filed under Webserver

If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!

AWStats is a free powerful and featureful tool that generates advanced web, streaming, ftp or mail server statistics, graphically. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical web pages. It uses a partial information file to be able to process large log files, often and quickly. It can analyze log files from all major server tools like Apache log files (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C log format) and a lot of other web, proxy, wap, streaming servers, mail servers and some ftp servers.

Install awstats in Debian

#apt-get install awstats

This will complete the installation

Configuring Awstats

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.

perl /usr/share/doc/awstats/examples/awstats_configure.pl

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/
<Directory /usr/share/awstats/icon>
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>

Now you can restart apache using the following command

#/etc/init.d/apache2 reload

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

1)LogFile=”/var/log/apache/access.log”

to

LogFile=”/var/log/apache2/access.log”

2)LogFormat=4

to

LogFormat=1

3)SiteDomain=” ”

to

SiteDomain=”your domain name”

Generate stats the first time by using the following command

#/usr/lib/cgi-bin/awstats.pl -config=awstats.full-domain-name.conf
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

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.

Solution

make sure you unzipped the awstats.model.conf file:

gunzip /usr/share/doc/awstats/examples/awstats.model.conf.gz

Then, edit

/usr/share/doc/awstats/examples/awstats_configure.pl

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.

Tags: , , , , ,

You may also be interested in...

2 Responses to “Apache Log file analyzer Using Awstats in Debian”

  1. Lachlan Musicman Says:

    Hola,

    I’ve got a successful Awstats install that I created using roughly the same procedure. I might have followed the debianhelp instructions though…

    I was wondering if you know much about the cron part?

    I can’t seem to get the cron working. I don’t have a special cron for awstats - I’ve got my logrotate set up as follows:

    /var/log/apache2/*.log {
    weekly
    missingok
    rotate 52
    compress
    delaycompress
    notifempty
    create 644 root adm
    sharedscripts
    prerotate
    /path/to/awstats_buildstaticpages.pl -config=engagemedia
    .org -update -awstatsprog=/path/to/cgi-bin/awstats.pl -dir=/path/to/awstats/ -buil
    ddate=%YY%MM%DD
    endscript
    postrotate
    if [ -f /var/run/apache2.pid ]; then
    /etc/init.d/apache2 restart > /dev/null
    fi
    endscript
    }

    If I run “logrotate /etc/logrotate.conf from the command line, it works fine, but cron wont run it, despite logrotate being in /etc/cron.daily?

    less /etc/cron.daily/logrotate

    #!/bin/sh

    test -x /usr/sbin/logrotate || exit 0
    /usr/sbin/logrotate /etc/logrotate.conf

    Help appreciated

  2. Gabriel Filion Says:

    Lachlan: even though your logrotate runs daily, you have set the config “weekly” in your logrotate file for apache. it will thus rotate only once every week. change it to “daily” if you want dayly rotation of your logs.

Leave a Reply

Subscribe RSS Feed

subscribe to the Debian Admin RSS feed

Internal links:

Sponsors:



Categories:

Support Debian Admin

Amount $:
Website(Optional):

Sponsors:

Archives:

Related Links:


Favourite Sites:

Wordpress Collection
Windows Reference
Ubuntu Geek
DebianHelp
All About Debian Tutorials
Power Electrical
Check Your IP Here
Debian,Ubuntu News
DebCentral
Tuxmachines
Capnkirby
Libervis
Nuxifield
Linux Horizon
Linux Appfinder
Debuntu
GNU/Linux For Everyone
Free Penguin
DebianAdmin is not related to the Debian Project.
This site is copyright © 2006,2007 Debian Admin
All Trademarks are the property of their respective owners.
The contents of this website may not be mirrored or archived without the express written permission of DebianAdmin Site Owner.

DISCLAIMER: All the information, troubleshooting methods, utilities offered in this website is provided AS-IS, without any warranties. Though I strive for perfection, and always test the validity and effectiveness of the troubleshooting content in various systems, I assume no responsibility for your use of these Fixes, Utilities and other troubleshooting advice. The author will not be liable for any special, incidental, consequential or indirect damages due to loss of data or any other reason. All use is completely at your own risk. Changes to the existing content and new additions are made to this website periodically, without notification.
Rodney's Kontera DynamiContext Plugin plugged in.