Formation Matomo

Installer Matomo sur votre serveur

  • Episode N° 3
  • Difficulté facile
  • Publié le 23/05/2019 par
  • Dernière mise à jour le 03/12/2023
Retour à la formation Matomo

Matomo existe sous plusieurs formats, l'offre Cloud et l'offre On-Premise. L'offre Cloud est une version de Matomo hébergé directement par la société éditrice de Matomo, vous devrez donc payer un abonnement tous les mois pour pouvoir l'utiliser (à partir de 30€/mois). Nous allons apprendre à installer Matomo par nous même afin de limiter les frais et avoir une flexibilité maximale sur notre installation, c'est l'offre On-Premise de Matomo qui va nous intéresser.

Installation sur un serveur

Pour installer Matomo, il vous faudra avoir un serveur web. Votre serveur doit permettre de faire tourner des sites en PHP. Un serveur standard avec Apache2, PHP et MySQL/MariaDB fait très bien l'affaire (une configuration identique à celle d'un serveur WordPress fonctionne parfaitement). Si ces termes ne vous parlent pas, comprenez simplement que Matomo fonctionne sur la très grande majorité des serveur web que vous pourrez commander chez un hébergeur.

Pour réaliser nos tests, j'ai choisi de travailler avec un serveur local (gratuit, mais qui ne fonctionnera que sur ma machine, ce qui est suffisant pour pouvoir faire une démonstration). Je suis un utilisateur de Windows et j’ai donc choisi d’utiliser WampServer pour avoir un serveur web prêt à l'emploi très simplement. Si vous êtes un utilisateur de Mac je vous recommande d’installer Mamp, l'équivalent de Wamp pour les utilisateurs de Mac.

Télécharger Matomo

Une fois votre serveur mis en place, il ne vous reste plus qu'à télécharger l’archive sur le site officiel de Matomo. Pour cela rendez-vous sur le site officiel https://matomo.org et cliquez sur le menu ‘On-premise’ puis ‘Download for free’. Sinon, vous pouvez téléchargez l'archive de Matomo depuis ce lien. L'archive téléchargée devrait faire un peu moins de 19 Mo.

Uploader Matomo sur le serveur

L’archive téléchargée contient tous les fichiers nécessaires à l'installation de Matomo. Pour continuer l'installation de Matomo, il vous faudra extraire le contenu de l'archive, et l'uploader dans le répertoire prévu à cet effet sur votre serveur.

Sur un serveur dédié classique (VPS) : /var/www/matomo

Sur un serveur local (WAMP) : C:/wamp64/www/matomo

Une fois tous les fichiers placés sur votre serveur, nous allons pouvoir passer à la mise en place de la base de données.

Création de la base de données

Pour continuer l’installation, vous devrez dans un premier temps créer une base de données vierge afin que Matomo puisse stocker les informations relatives au tracking et à son propre fonctionnement. Pour créer la base de données, rendez-vous sur l’URL http://localhost/phpmyadmin ou utilisez un outil de gestion de base de données comme PhpMyAdmin, SequelPro ou Mysql Workbench.

Une fois sur votre outil de gestion de base de données, connectez-vous avec vos identifiants root et laissez le mot de passe vide pour Wamp, ou root et root pour Mamp. Vous pourrez ensuite créer une nouvelle base de données vierge que vous pouvez appeler matomo en minuscule. Une fois ce travail réalisé, vous n'avez plus rien à faire au niveau de votre serveur, Matomo va organiser la base de données pour vous et créer les tables dont il à besoin pour fonctionner lors de son installation.

Les étapes d’installation

Avant de configurer Matomo, réfléchissez bien au domaine ou sous-domaine d’installation. Je vous conseille de mettre Matomo sur un sous domaine, ou sur un domaine séparé, mais pas sur le même nom de domaine que votre site :

Ne pas faire : https://mon-site.com/matomo

Mais préférez : https://matomo.mon-site.com

Pour débuter l’installation, rendez-vous sur le domaine que vous aurez choisi. Si vous avez un serveur local, rendez-vous simplement sur http://localhost/matomo (assurez-vous d'avoir bien démarré votre serveur local avant) - sur MAMP, vous devrez rajouter le port 8080 à votre URL.

Étape 1 - Désactivez votre adBlock

La première étape est une étape de bienvenue que vous pouvez passer rapidement. Pour éviter tout problèmes, Matomo vous recommande de désactiver votre bloqueur de publicité si vous en possédez un.

Étape 2 - Vérification du système

C’est pendant la deuxième étape que Matomo vérifie que votre environnement (votre serveur) est correctement paramétré pour pouvoir fonctionner. Matomo va donc établir lui-même une check liste de vérifications. Dans la grande majorité des cas, tout est bon, sauf parfois le HTTPS (lorsque vous êtes sur un serveur local, vous êtes de base en HTTP, donc rien de grave). 

Étape 3 - Connexion à la base de données

Vous pouvez ensuite passer à la troisième étape où on vous demande de relier Matomo à la base de données. Comme nous avons déjà créé la base de données, il vous suffira de remplir les champs suivants :

  • Serveur de la base de donnée : 127.0.0.1
  • Compte utilisateur : root (ou votre identifiant défini par la BDD)
  • Mot de passe :  (laissez vide, ou votre mot de passe si défini avant)
  • Nom de la base de donnée : matomo
  • Préfixe des tables : matomo_
  • Adaptateur : PDO\MYSQL

Une fois les informations fournies, Matomo va commencer à créer la structure de la base de données pour vous, cela peut prendre quelques secondes.

Étape 4 - Création de la base de données

Félicitation, Matomo à réussi à installer la base de données correctement, vous pouvez passer à l’étape 5 !

Si la configuration de votre base de données à échouée, vérifiez bien l'adresse de votre serveur de BDD, regardez également le type de base de données utilisé. Une erreur fréquente avec l'utilisation de WAMP est d'avoir deux systèmes de gestions de bases de données (SGBD) installés, et de ne plus savoir lequel est actif (MySQL ou MariaDB) !

Étape 5 - Création du profil administrateur

Matomo vous demande ensuite de créer le premier utilisateur qui se verra attribuer le rôle de ‘Super Utilisateur’ et possèdera tous les droits. Créez le compte utilisateur sans négliger la force du mot de passe, n'oubliez pas que l'ensemble des données seront accessibles via ce compte utilisateur, il ne faudrait pas qu'il tombe entre de mauvaises mains.

Depuis l'ajout du Tag Manager interne, l'accès au compte Super Utilisateur permet (dans le cadre d'un usage volontairement malsain) de publier du code source malicieux sur le site, sans aucune restriction. Nous en parlerons en détail dans la section Tag Manager de la formation. Ne négligez pas la robustesse de votre mot de passe.

Étape 6 - Ajout du premier site web

Il ne vous reste plus qu'à renseigner les informations du site internet à suivre. Le nom servira à différencier les sites lorsque vous en ajouterez plusieurs (Matomo permet d'ajouter autant de sites à suivre que vous le souhaitez).

L'URL lui permet d’ajouter le domaine de votre site internet, le fuseau horaire permet de synchroniser les visites dans le monde entier et d’afficher des dates cohérentes et relatives à votre position sur le globe.

Et la dernière option vous permet d’activer un suivi e-commerce, très utile si votre site est/ou possède une partie boutique en ligne.

Étape 7 - Mise en place du code de suivi

Pour fonctionner, Matomo à besoin que vous ajoutiez un petit morceau de code JavaScript à l'ensemble des pages de votre site web.

Matomo vous invite évidement à le mettre en place au plus vite, mais sâchez qu'il est possible de passer cette étape et d'installer le script de suivi plus tard, vous retrouverez le code dans la partie administration de Matomo. Nous allons mettre en place le code de suivi dans le prochain épisode de cette formation.

Pour facitiliter la maintenance de votre code de suivi, je vous invite à créer un petit fichier séparé dans le quel vous collerez uniquement le code JavaScript de Matomo. C'est ce fichier que vous allez inclure à l'ensemble des pages de votre site, de cette facon, si vous modifiez le script de suivi, les changements s'appliqueront sur l'ensemble des pages

Étape 8 - Application du RGPD

Dans l’étape 8, Matomo vous propose d’appliquer les règles du RGPD sur la collecte de données, assurez-vous de bien cocher les deux cases (DoNotTrack et Masquer les IPs). Nous nous attarderons plus tard sur le respect du RGPD avec Matomo prochainement dans cette formation.

Dans le prochain épisode nous verrons comment correctement déployer le script de suivi de Matomo sur votre site internet.

Allez, ne t'arrête pas maintenant !
Commentaires

Vous devez être connecté pour pouvoir commenter. Se connecter

  • Publié par sblb

    Bonjour,

    Si nous changeons de solution de web analytics et TMS en passant des outils Google vers Matotmo, existe-t'il un moyen de reprendre les données historiques (visites, events...) ?

    Merci d'avance pour votre retour

    1. Publié par Ronan

      Bonjour,

      Oui, il existe un plugin Matomo qui permet d'importer les données de Google Analytics via l'API: https://plugins.matomo.org/GoogleAnalyticsImporter

      L'utilisation de ce plugin nécessite quelques prérequis :

      • Une version de Matomo auto-hébergée
      • L'activation d'un CRON d'archivage automatique
      • Des droits d'administrateurs sur le serveur afin d'autoriser des extensions PHP

      Voici l'épisode qui traite du sujet : https://ronan-hello.fr/series/matomo/import-google-analytics-dans-matomo

      En espérant vous avoir aidé au maximum

  • Publié par manuarmand

    Bonjour et bravo pour votre site, Je ne me suis pas encore lancé dans l'install. Vous conseillez d'installer Matomo sur un sous domaine (ex : matomo.monsite.fr). Si j'ai bien compris on peut ensuite ajouter autant de sites web que l'on veut. Pour accéder aux données Matomo du site A par exemple, il faudra saisir une url de type matomo.monsite.fr/siteA ? Est ce que pour des raisons de sécurité ce n'est pas mieux d'avoir un nom de domaine dédié sans site internet lié ? Merci.

    1. Publié par Ronan

      Bonjour et merci pour votre retour.

      Dans l'idée, c'est bien ça, vous n'avez qu'une seule installation de Matomo, dans lequel vous allez pouvoir enregistrer plusieurs propriétés (plusieurs sites). Pour passer d'un site à l'autre dans Matomo, vous avez un petit bouton qui permet de basculer (cela à pour effet de rajouter un paramètre &siteId=1 ou &siteId=2 dans l'url).

      On peut penser qu'installer Matomo avec un nom de domaine dédié permet d'augmenter la sécurité, mais cela ne change pas grand chose. Par contre, je vous recommande d'avoir un serveur séparé pour Matomo, cela aura un meilleur impacte pour la sécurité !

    2. Publié par Ronan

      Quant au choix du domaine/sous-domaine, n'importe quel utilisateur pour le trouver en quelques secondes en lisant le code source de la page, ou en regardant les requêtes réalisées par votre navigateur (dans le cadre d'un suivi coté client en JavaScript par exemple), cela ne sert donc à rien d'essayer de le cacher à vos visiteurs.

      J'espère avoir répondu à vos interrogations, bonne continuation. ?

    3. Publié par manuarmand

      Merci beaucoup Ronan, En fait je ne voulais pas cacher le domaine. Mais si je comprends bien, mes clients vont devoir se connecter à ce domaine pour consulter les stats Matomo de leur site. C'est bien ça ? J'imagine que je peux créer un utilisateur (en plus du superadmin) qui permet d'accéder seulement aux stats du site A par exemple ? Si oui il faut que le domaine ne soit pas complètement n'importe quoi non :) Merci (après j'arrête de vous ennuyer et je teste)

    4. Publié par Ronan

      Je comprend mieux, oui c'est bien cela. On peut également ajouter des utilisateurs en lecture seule, et leur donner un accès restreint à une seule propriété (les données de leur site) ce qui permet d'avoir plusieurs clients sur une seule instance de Matomo. Attention tout de même, un client est en droit d'exiger de quitter votre service avec toutes ses données, le fait d'avoir plusieurs clients sur une seule instance peut compliquer le départ d'un client.

    5. Publié par manuarmand

      Vous dites "Attention tout de même, un client est en droit d'exiger de quitter votre service avec toutes ses données, le fait d'avoir plusieurs clients sur une seule instance peut compliquer le départ d'un client."

      Merci pour cette précision. C'est très ennuyeux. Alors quelle est la bonne pratique pour une agence ? Installer des instances de Matomo sur chaque hébergement client ? Mais du coup cela devient l'enfer pour les mises à jour :) Merci de votre aide. Suggestion : peut être ajouter un mot dans votre article concernant les agences et les bonnes pratiques ?

    6. Publié par Ronan

      C'est bien le souci, il faudrait en effet avoir une instance de Matomo par client (si vous connaissez Docker cela peut être une solution). Je vous rassure, la plupart des agences qui hébergent Matomo pour leurs clients installent Matomo sur le même serveur que le site de production, cela limite les coûts au détriment de la sécurité.

      Bonne idée, je vais voir comment je peu mettre à jour cet article pour traiter ce sujet.

  • Publié par manuarmand

    Bonjour, A aucun moment vous n'évoquez la solution d'installation via le plugin Wordpress. Devons nous en conclure que vous ne conseillez pas cette méthode ? :) Merci.

    1. Publié par Ronan

      Bonjour @manuarmand,

      Je ne parle en effet pas du plugin WordPress et je vous déconseille de l'utiliser. Le plugin WP installe une version incomplète de Matomo, mélange la base de données de votre site et de l'outil (risque élevé pour la sécurité). De plus, le plugin risque de ralentir fortement votre site web du à son fonctionnement.

      Je vous recommande donc une offre Cloud ou onPremise (classique) et de simplement copier/coller le code de suivi sur vos pages web.

      En espérant avoir répondu à votre question. Ronan

  • Publié par manuarmand

    Bonjour Ronan, Que préconises tu pour les droits de l'utilisateur de la base de données ? Tous les privilèges ? J'ai lu sur un site "Vous n’êtes pas obligé de donner tous les droits à l’utilisateur MySQL, seules ces permissions suffisent : SELECT, INSERT, UPDATE, DELETE, CREATE, INDEX, DROP, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES. Que me conseilles tu ? Merci

    1. Publié par Ronan

      Bonjour @manuarmand,

      En effet, l'utilisateur de la BDD n'a pas besoin de tous les droits pour que Matomo fonctionne correctement. Je recommande dans tous les cas de créer un utilisateur spécifique pour votre installation (et un utilisateur par installation bien entendu). Si possible, fermez les connexions externes de votre serveur de base de données, cette dernière ne devrait être accessible uniquement depuis localhost.

Vous préférez une formation Matomo sur-mesure ?

Je réalise des formations professionnelles sur-mesure. Si ça peut vous intéresser, n'hésitez pas à me contacter 🤓

Je fais une demande