Remplacer Google Analytics par Piwik

vignette

Rédigé par P3ter - - 7 commentaires

Ce n'est un secret pour personne, Google récupère et utilise tout ce que vous faites sur leur réseau. Ainsi Google Analytics, qui vous permet de construire des statistiques sur votre site web, alimente les bases de données de Google avec les informations de vos visiteurs. Je vous propose donc de remplacer Analytics par Piwik, une solution libre à installer soit même.


Le scandale autour de PRISM et de la NSA, la goûte qui fait déborder le vase, ma pousser à installer Piwik, je vous montre ici comment faire.

 

 

 

 

 

Pré-requis

Nous avons besoin d'un serveur NGINX, de PHP 5.3 minimum et de MySql. Pour l'installation de NGINX et de PHP sous Debian je vous invite à utiliser le script de Nicolargo , ou bien, mes scripts si vous êtes sous Ubuntu ou Raspbian (Raspberry Pi).
 

Installation de MySql

sudo apt-get install mysql-server php5-mysql php5-gd

 

Création de la base de donnée de Piwik

mysql -u root -p
create database piwik character set utf8;
create user 'piwik'@'localhost' identified by 'MOTDEPASSE'; #mettre le mot de passe de votre choix
grant all privileges on piwik.* to 'piwik'@'localhost';
exit

 

Configuration de PHP

Si votre site a un trafic supérieur à 100 visites par jour, augmentez la taille maximale de RAM dédiée à PHP à au moins 128MO.

sudo vim /etc/php5/fpm/php.ini
#modifier la ligne ci-dessous
memory_limit = 128M

 

Téléchargement de Piwik

Il suffit de récupérer l'archive sur le site de Piwik et de l'extraire à la racine de votre virtualhost.
cd /var/www
wget http://builds.piwik.org/latest.zip
unzip latest.zip


Ensuite il faut changer les droits sur votre dossier piwik et son contenu. Dans mon cas (installation par scripts - voir Pré-requis)  l'utilisateur qu'utilise NGINX est www-data.
chmod -R 770 /var/www/piwik
chown -R www-data:www-data /var/www/piwik

 

Configuration de NGINX

Il suffit de créer un nouveau virtualhoast en créant un fichier dans /etc/nginx/sites-enabled, avec le contenu ci-dessous :
server {
  listen       80;
  server_name  localhost;
  root         /var/www/piwik;
  access_log /var/log/nginx/stats.access.log;
  error_log /var/log/nginx/stats.error.log;
 
  # Static
  location / {
    index  index.html index.htm index.php;
  }
 
  # PHP scripts -> PHP-FPM server listening on 127.0.0.1:9000
  location ~ \.php$ {
    try_files $uri =404;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    include fastcgi_params;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  }
 
  # Security
  location ~ /\.ht {
    deny  all;
  }
  location /version {
    return 404;
  }
  location ~ /data/configuration/* {
    return 404;
  }
 
  # Stuffs
  location = /favicon.ico {
    access_log  off;
    return  204;
  }
 
  location ~* ^.+\.(jpg|jpeg|gif|css|png|js|xml)$ {
    expires  30d;
    #access_log off;
  }
}

Remplacez localhost (ligne 3) par votre nom de domaine ou votre adresse IP.
 

Installation de Piwik

Commencez par redémarrer NGINX et PHP.

sudo service nginx restart
sudo service php5-fpm restart

... , puis connectez vous sur le Piwik avec un navigateur web. Il suffit de dérouler les écrans d'installation. Piwik vous demandera d'indiquer le nom de la base de données (piwik) ainsi que l'utilisateur et son mot de passe (piwik / MOTDEPASSE).

 

A la fin de l'installation, Piwik vous affichera le code à ajouter au thème de votre site qui lui permettra de remonter les statistiques. Ajoutez simplement ce code par copier/coller entre les balises <head> ... </head> de votre thème.

Optimisation pour les trafics moyens ou élevés

Si vous avez plus de 100 visiteurs par jour, il est conseillé de désactiver l'archivage automatique des données à l'ouverture du tableau de bord de Piwik. Ceci permet de ne pas surcharger les ressources du serveur.

 

Pour ce faire connectez vous à Piwik, et aller dans Paramètres (en haut à droite). Puis cliquer sur Paramètre généraux. Enfin, choisir Non pour la première options (Autoriser l'archivage...) et indiquer 3600 secondes pour l'option suivante (Rapports du jour...).

 

 

L'archivage automatique étant désactivé, il faut maintenant créer une tâche cron pour lancer le script d'archivage automatiquement 1 fois par jour à 4h du matin. Ainsi vous aurez le lendemain les statistiques de la veille.

sudo crontab -e
# ajouter les lignes ci-dessousMAILTO="test@mail.fr"
00 04 * * * /var/www/piwik/misc/cron/archive.sh > /dev/null

La variable MAILTO permet à cron de vous envoyer les erreurs liées aux tâches qu'il exécutera.

 

 

 

ATTENTION : je vous conseil de configurer NGINX pour utiliser HTTPS sur le virtualhost de votre Piwik, afin que votre login et mot de passe ne soit pas transmis au serveur en clair sur le réseau.


Site officiel : piwik.org
Fil RSS des commentaires de cet article

Écrire un commentaire

Quelle est la première lettre du mot mqpyp ?

#1  - convertic a dit :

Le problème avec Piwik c'est la taille de la bdd qui grossit à vue d'oeil. Comment as tu réglé ce problème?

Répondre

#2  - Pedro CADETE a dit :

@convertic : Effectivement j'en ai conscience. Mais pour le moment je ne m'en suis pas occupé. Je mettrai l'article à jour quand j'aurai mis en place une solution.

Répondre

#3  - Pedro CADETE a dit :

@convertic : Pour la gestion de la base de données, Piwik permet, dans l'écran de paramétrage, de s'occuper lui même de supprimer les anciens rapports. Pour ma part, j'ai ainsi configurer Piwik pour supprimer les rapports de plus de 3 ans.

Répondre

#4  - Roger COLY a dit :

Je pense qu'on s'avance un peu trop vite en disant que Piwik risque de remplacer Analytics. Il peut être un concurrent très sérieux sur un certains segment : tous les utilisateurs n'ayant pas besoin de l'usine à gaz Analatycs. Et il y en a beaucoup. On verra bien mais je suis séduit par cet outil

Répondre

#5  - caribou a dit :

Bonjour,

merci pour ce tuto très précis et utile. Je débute dans tout ça, et en suivant toutes les instructions, j'obtiens quand je charge la page de piwik un "403 Forbidden" de nginx. J'ai vérifié les permissions des dossiers et fichiers, sans rien trouver. As-tu idée d'où cela pourrait venir?

Répondre

#6  - caribou a dit :

problème résolu :)

Répondre

#7  - Franck PARIENTI a dit :

C'est incroyable que des sites de l'administration utilisent Piwik.

Répondre