Plugin GeoIP Piwik 2.0

De EjnTricks
Révision de 27 octobre 2016 à 13:06 par Etienne (discussion | contributions)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)

Avec la version 1.9, mais il n'a été réellement étudié qu'avec la version 2.0, la localisation a été intégrée et améliorée. Il est possible d'utiliser "nativement" des dictionnaires d'addesse, comme ceux publié par Maxmind, et d'autre solutions comme:

  • Module PECL
  • Module GeoIP Apache

L'utilisation des dictionnaires de Maxmind étant déjà mis en place pour l'outil Awstats, ceci a été mutualisé. Le module d'Apache n'est pas implémenté, car il nécessite de modifier la configuration de php, et des effets de bords sont craints.


Hand-icon.png Votre avis

Nobody voted on this yet

 You need to enable JavaScript to vote


System-Install-icon.png Installation

La configuration du mode de localisation s'effectue au niveau des paramètres de l'application, dans le menu Paramètres - Géolocalisation:


Du fait des mises à jour succéssives, la copie d'écran présente l'option GeoIp déjà activé. Par défaut, celle-ci n'est pas disponible. Son activation est très simple et ne nécessite que la présence du fichier .../misc/GeoLiteCity.dat dans le répertoire d'installation de Piwik. Ce fichier est disponible sur le site Maxmind, l'interface de paramétrage rappelant le lien.

Une fois le fichier détecté, le plugin est mentionné comme Installé. Son activation s'effectue en sélectionnant le bouton radio.


Update icon.png Update automatique

Piwik étant une application "standalone", il est tout naturel qu'il soit proposé une mise à jour automatique du dictionnaire. Celle-ci se configure dans la page de paramètre de Géolocalisation:


L'URL d'accès au fichier est rappelée, permettant de l'effectuer en copiant celle-ci dans le champs URL de téléchargement, en face de Base de données de localisation.

Il suffit ensuite de configurer la fréquence de mise à jour, une fois par mois est suffisant car Maxmind ne publie gratuitement que tous les mois.


Cependant, cette approche n'a pas été retenue pour cause de mutualisation avec Awstats, comme présenté en introduction.


Icon-database.png Fichier centralisé

La procédure de mise à jour est dérite dans les pages Plugin GeoIP Awstats et Plugin GeoIP Piwik en version 1.X. Cependant, les étapes vont être explicitées de nouveau dans cet article.

  • Création du répertoire de téléchargement /var/opt/maxmind.
#sudo mkdir /var/datas/maxmind
#sudo chown www-data:www-data /var/datas/maxmind
#sudo chmod 750 /var/datas/maxmind
  • Création du script pour la tâche planifiée à l'emplacement /var/opt/geo/download_geoLiteCity.sh.
#sudo mkdir /var/opt/geo
#sudo chown www-data:www-data /var/opt/geo
#sudo chmod 750 /var/opt/geo
  • Création du script pour la tâche planifiée à l'emplacement /var/opt/geo/download_geoLiteCity.sh.
#!/bin/bash
LOCALPATH=/var/datas/maxmind/
DOWN_FILE=$LOCALPATH"GeoLiteCity.dat.gz"

if [ -f $DOWN_FILE ]; then
        rm -f $DOWN_FILE
fi

/usr/bin/wget -q --output-document=$DOWN_FILE http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip -f $DOWN_FILE


  • Modification de la crontab.
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
35 5    3 * *   root    cd / && /var/opt/geo/download_geoLiteCity.sh > /dev/null
#

Ainsi le fichier GeoLiteCity.dat, extrait du téléchargement, sera disponible dans le répertoire /var/opt/maxmind. Du fait de l'utilisation de Linux, il est ensuite facile de mettre en place un lien vers celui dans le répertoire misc de l'installation de Piwik:

#sudo ln -s /var/datas/maxmind/GeoLiteCity.dat /var/opt/piwik-2.0.1/misc/GeoLiteCity.dat
#sudo chown -h www-data:www-data /var/opt/piwik-2.0.1/misc/GeoLiteCity.dat


Viewer icon.png Voir aussi

Mise en place du plugin en version 1.9

Documentation officielle: http://piwik.org/faq/how-to/#faq_163

Documentation officielle: http://piwik.org/faq/how-to/#faq_164

Documentation officielle: http://piwik.org/faq/how-to/#faq_165