Awstats : analyser les statistiques en local

Attention : les informations contenues dans ce document sont anciennes et peuvent être obsolètes.

Troisième billet de la série sur le développement web local : comment analyser les statistiques de son site à partir des logs Apache que l'on a rapatrier sur son ordinateur.

Les hébergeurs web fournissent généralement un service de calcul de statistiques, mais il est parfois intéressant de pouvoir soi-même analyser les visites de son site, au calme sur son ordinateur, ne serait-ce que pour se focaliser sur les données qui vous semble les plus pertinentes.

L'un des outils les plus efficace pour ce faire s'appelle Awstats, logiciel-libre écrit en php disponible sous forme de paquetage pour Ubuntu. Je ne vais pas détailler l'utilisation de cet utilitaire (j'en serai d'ailleurs incapable) mais simplement pointer quelques problèmes que vous pourriez rencontrer en l'utilisant en local.

Awstats sur Ubuntu

D'abord, une fois installé sur Ubuntu, Awstats nécessite malheureusement quelques petits ajustements. Voici une synthèse de la méthodologie à appliquer après la consultation de multiple documentations plus ou moins pertinentes.

D'abord, sauvegardez votre fichier de configuration Apache (on ne sait jamais) :

sudo cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf.original

Copiez le dossier « examples » de Awstats et créez les dossiers wwwroot et wwwroot/cgi-bin :

sudo cp -r /usr/share/doc/awstats/examples /usr/local/awstats
sudo cd /usr/local/awstats
sudo mkdir wwwroot
sudo mkdir wwwroot/cgi-bin

Décompressez le fichier modèle de configuration de Awstats et placez-le dans wwwroot/cgi-bin :

sudo gunzip awstats.model.conf.gz
sudo mv awstats.model.conf wwwroot/cgi-bin

Lancez enfin le script de configuration de Awstats :

sudo ./awstats_configure.pl

Lors de cette configuration, plusieurs questions vous seront posées. Voici les réponses les plus simples :

/etc/apache2/apache2.conf
y
[foo.com] (le nom de votre site)
{ENTRER}
{ENTRER}
{ENTRER}

Construisez les liens nécessaires et accordez les droits utiles à certains répertoires :

sudo ln -s /usr/local/awstats/css/ wwwroot/
sudo ln -s /usr/share/awstats/* wwwroot/
sudo ln -s /usr/lib/cgi-bin/awstats.pl wwwroot/cgi-bin/
sudo chown -R –dereference www-data:www-data wwwroot
sudo chown -R –dereference www-data:www-data /var/lib/awstats
sudo chown root:www-data /var/log/apache2/access.log

Nota : si vous avez suivit mon exemple et changé le propriétaire des fichiers créés lors d'une session Apache, il faudra bien-sur remplacer « www-data » par votre login.

Editez le fichier de configuration Awstats de votre site :

sudo gedit /etc/awstats/awstats.[foo.com].conf

Le manuel de Awstats vous en dira plus sur les différentes options. Ici, le plus important à considérer est l'entrée « LogFile ». Par défaut, elle pointe vers le fichier log d'Apache. Or, ce ne sont pas les connections de votre serveur Apache local que l'on souhaite analysé, mais celles de votre site web que vous avez rapatrié. Il faut donc faire pointer cette entrée au bon endroit :

LogFile=/chemin/de/votre/fichier/log.log

Pour lancer la mise à jour des statistiques :

/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=[foo.com] -update

Pour consulter les statistiques :

http://127.0.0.1/awstats/awstats.pl?config=[foo.com]

Ré-arrangement chronologique des logs apache

Par ailleurs, il se peut que les entrées des logs Apache ne soient pas dans un ordre chronologique strict. C'est par exemple mon cas sur le serveur OVH qui héberge ce site : certains logs arrivent avec 4 jours de retard. Si vous n'y prenez pas garde, le calcul des statistiques peut être grandement faussé, avec plus de la moitié des entrées considérées comme « corrompues ». Pour éviter ca, il faut trier les entrées pour les replacer dans l'ordre chronologique :

#!/bin/sh
if [[ ! -f $1 ]]; then
   echo "Usage: $0 "
   exit
fi
echo "Sorting $1"
sort -t ' ' -k 4.9,4.12n -k 4.5,4.7M -k 4.2,4.3n -k 4.14,4.15n -k 4.17,4.18n -k 4.20,4.21n $1 > $2

Pour l'utiliser :

sort-logs.sh <original-file> <sorted-file>

Références

Titre
AWStats - web log analyser
Auteurs
  • A. CHEN
Éditeur
Linux journal
Date
Remarque
Guide d'installation d'Awstats sur Ubuntu.
Titre
Sorting Apache Log Files
Auteurs
  • J. CZEBOTAR
Éditeur
Jehiah.com
Date
Remarque
Source du script pour trier les logs Apache.
Titre
Instalando Awstats em Ubuntu
Auteurs
  • GNUKEMIST
Éditeur
Planeta Ubuntu Brasil
Date
Remarque
Guide d'installation d'Awstats sur Ubuntu très claire mais en portugais :-).
Titre
TUTORIAL: AWStats with APACHE2
Auteurs
  • HELLSTEETH
Éditeur
Ubuntu forums
Date
Remarque
Explication complète pour l'installation d'Awstats sur Ubuntu mais un peu confuse.