Matomo
La protection de la vie privée est un enjeu de plus en plus présent dans le développement web et notamment dans la mise en place de collecte de données lors de la visite d’un site internet. L’outil le plus connu pour faire cela est sous doute Google Analytics. Un petit script à ajouter et ça fonctionne presque instantanément. Le problème, c’est que je ne sais pas où sont stockées les données, ce qui est réellement stocké, qui/quoi les utilise et à quelle fin (j’entends par là, autre que le ciblage publicitaire). Pour cette raison, que ce soit d’un point-de-vue personnel ou même au sein l’agence pour laquelle je travaille, nous en sommes venus à recommander des solutions telles que Matomo pour certains de nos clients. Il présente deux avantages. Tout d’abord, il est open-source. C’est-à-dire que l’on peut inspecter le code, analyser finement les données qui sont collectées et voir où tout cela est sauvegardé. Ensuite, je peux installer Matomo (stocker les données) sur un serveur dont j’ai le contrôle et dans un endroit géographique précis. Pour des sites étatiques, ce serait presque un prérequis.
Objectif
Dans cet article, je vais te guider à travers l’installation de Matomo en auto-hébergé (sur ton serveur). Je vais te décrire l’installation sur un serveur ainsi que quelques ajustements recommandés par Matomo et deux ou trois éléments de configuration que je trouve utiles.
Tu peux également ouvrir la documentation de Matomo en parallèle. Sait-on jamais, que la procédure aurait évolué depuis la création de ce billet.
Matomo.mondomaine.com
Pour accéder à Matomo, je vais devoir choisir une URL spécifique. Si je prends le nom du service comme sous-domaine, cela me donne matomo.nouslesdevs.com comme URL d’accès et cela me convient parfaitement. Si comme moi tu as fait ce choix, tu vas avoir besoin de pointer le sous-domaine sur l’IP du serveur où l’installation sera faite, et bien évidemment, de créer le virtualhost associé.
Installation des fichiers
Connecte-toi en SSH, place-toi dans le répertoire où tu veux installer Matomo et exécute la commande suivante. Tu peux également utiliser un logiciel FTP pour placer le contenu du fichier zip dans le répertoire cible.
wget https://builds.matomo.org/matomo.zip && unzip matomo.zip
En exécutant la commande, cela me crée une structure qui ne me plaît pas du tout.
'How to install Matomo.html' matomo matomo.zip
Je fais un peu le ménage en supprimant la documentation et le fichier .zip, je déplace tout le contenu du dossier matomo à l’endroit où je me trouve, c’est-à-dire là où je veux réaliser l’installation et je supprime le dossier matomo qui est à présent vide. Ça fait beaucoup plus propre.
rm 'How to install Matomo.html'
rm matomo.zip
mv matomo/* .
rm -r matomo
Étape 1 : Bienvenue
En te rendant sur l’URL matomo.tondomaine.com, tu arriveras sur la page d’accueil qui consistera juste à cliquer sur le bouton suivant.
Étape 2 : Vérification du système
Normalement si tu installes Matomo sur un serveur relativement récent, il ne va pas te mettre de warning (si ce n’est pas le cas regarde plus bas). Appuie sur « Suivant ».
Étape 3 : Installation de la base de données
Renseigne les informations de ta base de données. Moi j’en ai créé une nouvelle totalement séparée de mon site web. Ensuite renseigne l’utilisateur, le password, le nom de la base et valide les informations.
Étape 4 : Création des tables
Si Matomo arrive bien à utiliser la base de données et qu’il a su écrire dedans, il t’affichera un message d’information. Tu pourras alors continuer le processus d’installation en cliquant sur « Suivant » qui se trouve toute en bas.
Étape 5 : Super Utilisateur
Renseigne à présent le login et le mot de passe qui te permettront d’accéder à ton Matomo. Je te conseille des identifiants assez forts.
Étape 6 : Paramètrer un site
À cette étape, il faut juste indiquer le nom, l’URL de ton site et choisir si c’est un eshop ou pas. Je n’ai pas encore pu expérimenter l’audit eshop avec Matomo, mais si tu as un eshop n’hésite pas à activer la fonctionnalité.
Étape 7 : Code de suivi JavaScript
L’opération consiste maintenant à ajouter le code de suivi que Matomo te propose juste avant la fermeture de la balise </head>. Chez moi ça ressemble à ça :
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="//matomo.nouslesdevs.com/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '1']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</head>
Étape 8 : Félicitations
L’installation est terminée, Matomo t’affiche un message de félicitations. Maintenant on va pouvoir se pencher sur le contrôle de la configuration et l’ajustement de deux ou trois petites choses.
Se connecter à Matomo
Tu peux te connecter à ton Matomo en allant sur l’URL (matomo.tondomaine.com) que tu as choisi. Entre ton login et ton mot de passe et connecte-toi !
Contrôle des systèmes
Dans la barre de menu bleue, clique sur l’icône avec un engrenage, c’est l’administration de Matomo.
Dans le menu à gauche, va dans « Diagnostic » et clique sur le sous-menu « Vérification du système »., tel que désigné dans le screenshot ci-dessous. Sur la page, tu pourras voir quelques warnings. Je ne te les affiche pas ici mais je vais traiter quelques points récurrents lors des quelques installations que j’ai pu faire.
La première chose que tu peux faire, c’est forcer le SSL, car ce n’est pas configuré de base. Éditer le fichier config.ini.php qui se trouve dans le dossier config (contrairement à ce qui est noté dans la doc, ce n’est pas le dossier conf) et y placer le code mentionné (dernière ligne dans mon exemple). Tu devrais avoir un truc qui ressemble à ça :
[General]
salt = "quelquechoseici"
trusted_hosts[] = "matomo.nouslesdevs.com"
trusted_hosts[] = "nouslesdevs.com"
force_ssl = 1
La deuxième chose qui peut poser problème, c’est la taille maximale des paquets (max_allowed_packet). Il te demande d’avoir au moins 64MB, mais 16MB sont configurés de base sur la plupart des serveurs. Pour résoudre ce problème, connecte-toi en SSH et édite le fichier de configuration de MySQL.
Ajoute simplement la directive max_allowed_packet à la valeur que tu souhaites, sous la section [mysqld]. Dans l’exemple ci-dessous, je la configure à 128M.
Ensuite, redémarre le service MySQL (oui la commande est un peu barbare mais au moins elle redémarre tout).
service mysql restart && service mariadb restart && service mysqld restart
Tu pourras vérifier cette valeur avec la commande MySQL suivante. Si tu n’es pas trop à l’aise avec MySQL, dans phpMyAdmin ça marche tout aussi bien.
SHOW VARIABLES LIKE "max_allowed_packet";
Matomo ready
Tu viens d’installer Matomo dans son plus simple appareil, félicitations. Dans quelques visites, tu pourras t’amuser à parcourir la multitude de graphiques et analyser les différentes données que te propose Matomo pour faire de la stratégie et donner plus de visibilité à ton site ou simplement obtenir le nombre de visites et d’autres métriques. À toi d’auditer.
Bonus
Avec Matomo, comme pour Google Analytics à vrai dire, l’une des premières choses que tu voudrais sans doute faire, c’est exclure ton IP pour le suivi. Cela évitera que tu totalises beaucoup de visites, surtout si tu administres souvent ton site. C’est typiquement mon cas, je suis fourré dessus toute la journée et je pourrais totaliser des centaines de vues mais ce n’est surtout pas ce que je veux. Pour configurer cela, rends-toi dans l’administration, section « Sites web » puis dans le sous-menu « gérer » sélectionne ton site (tu peux en avoir plusieurs).
Scroll un peu dans la page jusqu’à trouver l’option « IPs Exclues ». Un champ te permettra d’entrer une ou plusieurs adresses IP et n’oublie pas de bien sauvegarder via le bouton « ENREGISTRER » en bas de page.
Bonus #2
Pour améliorer la sécurité de ton Matomo, je te recommande d’activer l’authentification à deux facteurs. Rends-toi dans l’administration (icône engrenage) et clique sur « Personel » puis « Sécurité ». Sous la section mot de passe, tu pourras voir un encart qui te permettra d’activer cette fonctionnalité. Il te fournira une liste de codes à conserver ainsi que le QR code à « flasher » avec ton smartphone. Il te demandera également un code de confirmation. Une fois introduit et validé, le système entrera en fonction.
19/11/2022
Yann Vangampelaere - nouslesdevs -