Récupérer des statistiques de vos sites web avec matomo
Installation
Installation de l’environnement
L’environnement que je vais vous montrer est composé de :
- base de données : mysql
- server web : nginx
- langage côté serveur : php-fpm
Pour la configuration de ces techno je vous renvoie vers les précédents tutos ;)
N’oubliez pas d’installer les paquet php-pdo et php-mysql
Configuration nginx
server {
listen 80;
server_name _;
root /var/www/html/matomo/;
index index.php;
location ~ ^/(index|matomo|piwik|js/index).php {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass 127.0.0.1:9000;
}
location = /plugins/HeatmapSessionRecording/configs.php {
include snippets/fastcgi-php.conf;
fastcgi_param HTTP_PROXY "";
fastcgi_pass 127.0.0.1:9000;
}
location ~* ^.+\.php$ {
deny all;
return 403;
}
location / {
try_files $uri $uri/ =404;
}
location ~ /(config|tmp|core|lang) {
deny all;
return 403;
}
location ~ \.(gif|ico|jpg|png|svg|js|css|htm|html|mp3|mp4|wav|ogg|avi|ttf|eot|woff|woff2|json)$ {
allow all;
}
location ~ /(libs|vendor|plugins|misc/user) {
deny all;
return 403;
}
}
Installation de matomo
Télécharger le projet sur le site officiel : https://builds.matomo.org/matomo.zip
décompressez le et placez le sur votre serveur
cd /var/www/html
wget https://builds.matomo.org/matomo.zip
unzip matomo.zip
chmod 755 -R matomo
chown www-data:www-data -R matomo
Connecter vous à votre matomo avec votre navigateur et suivez les instructions
Ajout du scripts
Pour finir il faut rajouter le script Javascript sur TOUTES les pages de votre site.
<!-- Matomo -->
<script type="text/javascript">
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(["setRequestMethod", "POST"]);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//arkalo.ovh/";
_paq.push(['setTrackerUrl', u+'data.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.type='text/javascript'; g.async=true; g.src=u+'data.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
N’oubliez pas de mettre l’adresse de votre matomo à la place de matomo.public.url.com
Attention l’url doit être public !
Petite particularité de ce script c’est que j’ai changé la method GET en POST pour ne pas être géné par les bloquer de pub
Voilà, normalement en vous connectant à matomo vous récupèrerai les stats de vos site.
Les bloqueur de pub et firefox sur desktop désactive le script Javascript du coup vous n’aurez pas de données pour ces cas là
Workaround nginx
Sur le même domaine que le site j’ai mis des proxy_pass pour rester dans le même domaine que le site. Toujours dans le but que les bloqueurs de pub me laisse tranquille
\# workaround ublock for matomo
location ^~ /data.js {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://matomo.private/matomo.js;
}
location ^~ /data.php {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://matomo.private/matomo.php;
}