Awstats : analyser les statistiques en local

Auteur
Nibau Rui
Date
Catégories
Web
Tags
,

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.

1. 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 :

  1. /etc/apache2/apache2.conf
  2. y
  3. \foo.com\ (le nom de votre site)
  4. {ENTRER}
  5. {ENTRER}
  6. {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]]

2. 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 ce désagrément, il faut donc trier les entrées pour les replacer dans l'ordre chronologique. Un petit script fera l'affaire :

#!/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 [[fichier-log-original]] [[fichier-log-trié]]

3. Références

CHEN, A.. AWStats - web log analyser. Linux journal, . Guide d'installation d'Awstats sur Ubuntu.

CZEBOTAR, J.. Sorting Apache Log Files. Jehiah.com, . Source du script pour trier les logs Apache.

GNUKEMIST. Instalando Awstats em Ubuntu. Planeta Ubuntu Brasil, . Guide d'installation d'Awstats sur Ubuntu très claire mais en portugais :-).

HELLSTEETH. TUTORIAL: AWStats with APACHE2. Ubuntu forums, . Explication complète pour l'installation d'Awstats sur Ubuntu mais un peu confuse.