Configurer les plugins AWStats de géolocalisation

Testé sous Debian 5.0 Lenny – AWStats 6.7

AWStats est un outil très populaire d’analyse statistique du trafic d’un site web. Il ne se résume pas à cela car il peut également être configuré pour analyser des logs FTP ou mail, mais décrire toutes les fonctionnalités d’AWStats sort largement du cadre de cet article. Alors comme d’habitude, pour plus d’infos, RTFM!

Dans sa configuration par défaut, AWStats fournit quelques informations rudimentaires sur la géolocalisation des visiteurs basées sur la résolution inverse de l’adresse IP des visiteurs. C’est un processus plutôt consommateur de ressources et imprécis car si la résolution inverse donne quelque chose comme std75-10-xxx-xxx-xxx-xxx.fbx.proxad.net (cas d’un abonné Free) l’extension .net ne donne aucune information sur l’origine géographique.

La solution consiste à activer 2 plugins AWStats, geoip et geoip_city_maxmind, qui fournissent des informations sur le pays, la région et la ville à partir de l’adresse IP d’origine. Ces plugins utilisent les bases de données géographiques gratuites de la société MaxMind, qui propose également des solutions payantes plus complètes et mises à jour plus régulièrement.

Ces deux plugins ont besoin du module Perl Geo::IP. L’installation sous Debian se fait via aptitude :

aptitude install libgeo-ip-perl

Il faut ensuite télécharger et décompresser les bases de données géographiques GeoIP.dat.gz et GeoLiteCity.dat.gz. Je les ai mises dans /usr/share/awstats/plugins, on peut bien sur les mettre ailleurs.

Modifiez ensuite le fichier /etc/awstats/awstats.nom_du_site.conf et activez les plugins :

LoadPlugin="geoip GEOIP_STANDARD /usr/share/awstats/plugins/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/share/awstats/plugins/GeoLiteCity.dat"

Si vous avez plusieurs sites, il peut être judicieux de configurer les plugins dans /etc/awstats.conf.local

Il ne reste plus qu’à mettre un petit script bash dans /etc/cron.monthly pour actualiser les bases tous les mois :

#!/bin/sh
# Mise à jour bases GeoIP pour awstats
#set -x
LOCALPATH=/usr/share/awstats/plugins
if [ -f "$LOCALPATH/GeoIP.dat.gz" ]; then
     rm -f "$LOCALPATH/GeoIP.dat.gz"
fi
/usr/bin/wget -q -N --output-document="$LOCALPATH/GeoIP.dat.gz" http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
gunzip -f "$LOCALPATH/GeoIP.dat.gz"
     if [ -f "$LOCALPATH/GeoLiteCity.dat.gz" ]; then
     rm -f "$LOCALPATH/GeoLiteCity.dat.gz"
fi
/usr/bin/wget -q -N --output-document="$LOCALPATH/GeoLiteCity.dat.gz" http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip -f "$LOCALPATH/GeoLiteCity.dat.gz"

Note du 9/02/2011 : Le téléchargement avec wget ne fonctionne plus depuis mon serveur, je ne comprends pas bien pourquoi. IP blacklistée? Et pourquoi moi?

Liens :

How to set up geography-related plug-ins for AWStats.

No votes yet.
Please wait...

4 commentaires

  1. Ping : Paramétrage de Awstats sur un serveur WEB Apache | Linuxtips – Mes trucs et astuces LINUX
  2. Clair, net, précis. Marche avec Awstats sous Squeeze sans souci. Merci 🙂

    Tiens, si tu connais pas : http://www.jawstats.com/
    Je trouve ça plus sympa que l’interface d’Awstats par défaut.

    No votes yet.
    Please wait...
    1. Non je connaissais pas, ça a l’air pas mal, je vais regarder ça.
      Merci 🙂

      No votes yet.
      Please wait...
    2. J’ai testé jawstats, c’est plutôt joli, par contre je n’ai pas réussi à faire afficher les éléments complémentaires (géolocalisation, logins, extra section, etc…). J’ai pas passé des heures à chercher non plus…

      No votes yet.
      Please wait...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.