1 Introduction
Cela fait plus d'un an que j'utilise Piwik et je n'avais pas encore fait d'article là dessus. C'est donc l'occasion de vous montrer l'équivalent de Google Analystic.
2 Prérequis
Configurez vous une base de donnée pour ensuite l'entrer dans l'installer sur une instance MySQL.
3 Installation
Mettez vous dans
Lancez ensuite l'installer http://serveur/piwik
4 Configuration
4.1 Serveur WSeb
Voici des configurations pour serveurs web si vous en avez besoin.
4.1.1 Nginx
Pour Piwik, voici la configuration :
/etc/nginx/sites-available/piwik.deimos.fr
|
server {
include listen_port.conf;
listen 443 ssl;
ssl_certificate /etc/nginx/ssl/deimos.fr/server-unified.crt;
ssl_certificate_key /etc/nginx/ssl/deimos.fr/server.key;
ssl_session_timeout 5m;
server_name piwik.deimos.fr;
root /usr/share/nginx/www/deimos.fr/piwik;
index index.php;
access_log /var/log/nginx/piwik.deimos.fr_access.log;
error_log /var/log/nginx/piwik.deimos.fr_error.log;
# Drop config
include drop.conf;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_cache mycache;
fastcgi_cache_key $request_method$host$request_uri;
fastcgi_cache_valid any 1h;
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_intercept_errors on;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}
|
4.2 Piwik
Nous allons créer un cron job pour alléger et optimiser les performances de Piwik :
crontab -e
|
5 * * * * php /var/www/deimos.fr/piwik/console core:archive --url=https://piwik.deimos.fr >> /var/log/piwik.log
|
Une fois le crontab ajoutée, on va dire à l'interface web de ne plus traiter automatiquement les données lors d'un accès à un rapport. Rendrez vous dans le menu :
- Paramètres > Onglets Paramètres Généraux
- Autoriser l'archivage de Piwik à se déclencher lorsque les rapports sont visionnés depuis le navigateur : Non
- Rapports du jour (ou n'importe quelle autre plage de dates incluant aujourd'hui) seront calculés tout au plus chaque : 3600 secondes
La configuration de Piwik est maintenant terminée, il vous faut rajouter des sites et les configurer pour envoyer les stats à Piwik.
4.3 MediaWiki
Piwik est un équivalent de google analytics, mais gratuit. Il permet donc d'avoir des stats de son site web avec de beaux graphs etc... Il existe un plugin permettant d'insérer du code dans chaque page (nécessaire), mais il est obsolète et dispose de failles de sécurité. Nous allons donc utiliser un autre module qui va nous permettre d'insérer simplement ce type de code.
Vous devez installer le module PCR GUI Inserts qui va vous permettre d'insérer des informations à divers endroits de vos pages. Activez l'extension dans un premier temps and ajoutant ces lignes :
LocalSettings.php
|
# PCR Extension for Piwik / Google Ads
require_once("$IP/extensions/pcr/pcr_guii.php");
|
Insérez dans le fichier de configuration de Mediawiki ceci :
LocalSettings.cfg
|
# PCR Piwik
$wgPCRguii_Inserts['SkinAfterBottomScripts']['on'] = true;
$wgPCRguii_Inserts['SkinAfterBottomScripts']['content'] = '
<!-- Piwik -->
<script type="text/javascript">
var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.deimos.fr/piwik/" : "http://www.deimos.fr/piwik/");
document.write(unescape("%3Cscript src=\'" + pkBaseURL + "piwik.js\' type=\'text/javascript\'%3E%3C/script%3E"));
</script><script type="text/javascript">
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
</script><noscript><p><img src="http://www.deimos.fr/piwik/piwik.php?idsite=x" style="border:0" alt="" /></p></noscript>
<!-- End Piwik Tracking Code -->
';
|
4.4 Gitweb
Si vous souhaitez qu'il y ai une intégration avec piwik, c'est assez simple, j'ai fais un patch, à vous de modifier le code javascript a afficher dans votre page dans ce patch :
piwik4gitweb.patch
|
*** gitweb.old 2011-04-05 14:05:06.120951481 +0200
--- gitweb.cgi 2011-04-05 14:04:41.913944817 +0200
***************
*** 3612,3617 ****
--- 3612,3633 ----
qq!</script>\n!;
}
+
+ print <<PIWIK;
+ <!-- Piwik -->
+ <script type="text/javascript">
+ var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.deimos.fr/piwik/" : "http://www.deimos.fr/piwik/");
+ document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
+ </script><script type="text/javascript">
+ try {
+ var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 10);
+ piwikTracker.trackPageView();
+ piwikTracker.enableLinkTracking();
+ } catch( err ) {}
+ </script><noscript><p><img src="http://www.deimos.fr/piwik/piwik.php?idsite=10" style="border:0" alt="" /></p></noscript>
+ <!-- End Piwik Tracking Code -->
+ PIWIK
+
print "\n</body>\n" .
"</html>";
}
***************
*** 7033,7038 ****
--- 7049,7066 ----
}
print <<XML;
</outline>
+ <!-- Piwik -->
+ <script type="text/javascript">
+ var pkBaseURL = (("https:" == document.location.protocol) ? "https://www.deimos.fr/piwik/" : "http://www.deimos.fr/piwik/");
+ document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
+ </script><script type="text/javascript">
+ try {
+ var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 10);
+ piwikTracker.trackPageView();
+ piwikTracker.enableLinkTracking();
+ } catch( err ) {}
+ </script><noscript><p><img src="http://www.deimos.fr/piwik/piwik.php?idsite=10" style="border:0" alt="" /></p></noscript>
+ <!-- End Piwik Tracking Code -->
</body>
</opml>
XML
|
4.5 Wordpress
Pour Wordpress, installez l'extension Piwik Analytics qui vous permettra simplement de configurer Piwik pour votre blog.