Installation d'awstats

Installation d'awstats

Installation

aptitude install awstats

Configuration d'un hôte

Créer un fichier dans /etc/awstats portant un nom de la forme awstats.www.guim.info.conf :

/etc/awstats

SiteDomain="www.guim.info"
LogFile="/var/log/apache2/www.guim.info.access.log"
LogFormat=1
HostAliases="www.guim.info guim.info 12.34.56.78"
DirData="/var/lib/awstats"
DirIcons="/awstats-icon"
DNSLookup=1
SkipHosts="127.0.0.1 REGEX[^192\.168\.] localhost 12.34.56.78"
DefaultFile="index.php"
Lang="fr"
#StyleSheet="/aws/awstats_bw.css"
LoadPlugin="hostinfo"

Droits pour awstats

chmod 755 /var/log/apache2
chmod 644 /var/log/apache2/*

Initialisation de la base

Dans le cas où le serveur web vient juste d'être mis en activité :

sudo -u www-data /usr/lib/cgi-bin/awstats.pl -config=www.guim.info

Si le serveur est en activité depuis plusieurs mois (il y a plusieurs fichiers de log), il faut traiter les anciens fichier de log.

Voici un script qui concatène les fichier de log en un seul :

#!/bin/sh

SITE=www.guim.info
rm ${SITE}.log

for f in /var/log/apache2/${SITE}.access.log.*.gz
do
        echo $f
        zcat $f >> ${SITE}.log
done
cat /var/log/apache2/${SITE}.access.log.1 >> ${SITE}.log

Il suffit de l'exécuter pour générer un fichier contenant tous les logs. Ensuite on modifie le fichier awstats.www.guim.info.conf pour y indiquer ce fichier de log de façon temporaire :

awstats.www.guim.info.conf

LogFile="/tmp/www.guim.info.access.log"

Puis on lance la commande de mise à jour :

sudo -u www-data /usr/lib/cgi-bin/awstats.pl -config=www.guim.info

Crontab

Dans /etc/cron.d/awstats.www.guim.info :

/etc/cron.d/awstats.www.guim.info

0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.www.guim.info.conf -a -r /var/log/apache/www.guim.info.access.log ] && /usr/lib/cgi-bin/awstats.pl -config=www.guim.info -update >/dev/null