12-01
2010

Gentoo Release 2 OVH: Recompiler Webalizer en utilisant GeoIP

Si vous utilisez la Release 2 OVH, basée sur Gentoo, vous serez surpris que la version de Webalizer n'inclus pas GeoIP et ne vous permet donc pas de suivre les pays d'origine de vos visiteurs. Vous devez posséder GeoIP, si vous ne l'avez pas, compilez !
# Attention aux majuscules
whereis GeoIP
Maintenant, recherchez le binaire Webalizer :
emerge --search webalizer
*  app-admin/webalizer
      Latest version available: 2.01.10-r15
      Latest version installed: 2.01.10-r15
      Size of files: 354 kB
      Homepage:      http://www.mrunix.net/webalizer/
      Description:   Webserver log file analyzer
      License:       GPL-2

*  app-admin/webalizer-ovh
      Latest version available: 2.01.10
      Latest version installed: [ Not Installed ]
      Size of files: 408 kB
      Homepage:      http://www.mrunix.net/webalizer/
      Description:   Webserver log file analyzer
      License:       GPL-2
Comme vous le voyez, une jolie version OVH sort, qui est normalement installée par défaut (désolé, les mises à jour ayant été faites pour ce petit billet, je n'en ai pas de vierge). Vous devez donc installer le vrai paquet Webalizer, en désinstallant tout d'abord le paquet fourni par OVH.

Désinstallation

emerge --unmerge webalizer-ovh
Une fois l'opération effectuée, vous avez le droit à quelques avertissements vous signalant que des fichiers de configurations sont encore présents. Laissez-les ! Ceci vous permettra d'avoir déjà une configuration valide pour la suite.

Installation

Installez ensuite Webalizer, la version officielle fournie par Gentoo, en utilisant les options de compilation nécessaires. Vous devrez aussi spécifier la langue.
# LINGUAS permet de spécifier la langue
# La langue fournie par OVH est française, nous conservons
# On rajoute ensuite l'option geoip
LINGUAS="fr" USE="nls -apache2 geoip" emerge --verbose webalizer
Webalizer devrait maintenant être compilé correctement, si vous avez eu quelques avertissements, ceci est normal et dû à l'installation de la version précédente de la part d'OVH.

Configuration

OVH place la génération des statistiques dans un fichier unique situé dans /etc/cron.daily/
nano /etc/cron.daily/logrotate.cron
#!/bin/sh
sudo -u user1 /usr/local/bin/webalizer -c /etc/webalizer.conf.user1
sudo -u user2 /usr/local/bin/webalizer -c /etc/webalizer.conf.user2
[...]
Si vous regardez où se situe le bin de webalizer, vous verrez que la nouvelle installation a déplacé le bin dans /usr/local/bin/
whereis webalizer
webalizer: /usr/bin/webalizer /etc/webalizer.conf /usr/share/man/man1/webalizer.1.bz2
Il va donc vous falloir remplacer /usr/local/bin/webalizer par /usr/bin/webalizer
nano /etc/cron.daily/logrotate.cron
# Utilisation de la fonction remplacer de nano
# Ctrl + * (notté Ctrl + \ sur les claviers QWERTY)
# Vous pouvez utiliser Echap M
Recherche (à remplacer): /usr/local/bin/webalizer
Remplacer par: /usr/bin/webalizer
# Sélectionnez tout (Touche T)
Voilà, le fichier est prêt.

Edition des fichiers de configuration

Vous souhaitez ajouter la gestion de GeoIP à vos fichiers de configuration de Webalizer. Si votre serveur est déjà configuré, vous allez devoir tapper une petite commande vous permettant d'éditer tous les fichiers. Je vous suggère tout d'abord de faire un test et de copier tous les fichiers de configuration dans un dossier temporaire pour tester le script.
cp /etc/webalizer.conf.* /tmp/
Le script est le suivant :
for i in webalizer.conf.* ;
do echo "CountryGraph yes" >> $i;
echo "" >> $i;
echo "GeoIP yes" >> $i;
echo "" >> $i;
echo "GeoIPDatabase   /usr/share/GeoIP/GeoIP.dat" >> $i;
echo "" >> $i;
done
Voilà, vous avez enfin accès à la librairie GeoIP pour vos graphiques webalizer.

 

 

Aucun commentaire pour ce billet.

 

Votre commentaire