19 décembre 2010
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 :
[…] mis à jour régulièrement. Pour se faire, j’utilise un script récupéré sur ce site: http://tavie.onsenfout.com/2010/12/19/configurer-les-plugins-awstats-de-localisation-geographique/ J’ai dû l’adapter à Debian au niveau des chemins des fichiers Dat. En voici le contenu […]
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…
Non je connaissais pas, ça a l’air pas mal, je vais regarder ça.
Merci 🙂
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.