Accueil
Expertises Toutes les expertises Server-side GTM & dataLayer Analytics Conversion API Data Warehouse
Cas clients Tous les cas clients E-commerce SaaS Apps mobiles Lead generation
Ressources Toutes les ressources Google Tag Manager Mobile App Tracking RGPD & Consent Mode Google Analytics (GA4) Server-side tracking
Outils gratuits Tous les outils Diagnostic server-side Générateur de plan de tracking
À propos Prendre RDV
WEB ANALYSE

Comment Installer Matomo sur votre Serveur

Les prérequis techniques réels pour installer Matomo self-hosted (PHP 8, MySQL/MariaDB, Docker officiel), les étapes manuelles, la sécurisation et le cron d'archivage.

· 10 min de lecture
Dans ce guide
  1. Prérequis techniques réels
  2. L'option Docker officielle
  3. Installation manuelle classique
  4. Sécuriser l'installation, pas seulement la faire tourner
  5. Configurer précisément le cron d'archivage

Installer Matomo sur son propre serveur (par opposition à Matomo Cloud) donne un contrôle total sur les données, mais suppose de tenir des prérequis techniques précis, et de ne pas négliger la sécurisation une fois l'installation terminée.

Prérequis techniques réels

  • PHP : PHP 8 minimum pour Matomo 5, avec compatibilité confirmée jusqu'à PHP 8.1, 8.2 et 8.3 depuis la version 5.0.0. Toujours utiliser la dernière version 8.x disponible sur le serveur pour de meilleures performances mémoire.

  • Base de données : MySQL 5.5 ou supérieur, ou MariaDB. MySQL 8 ou plus est recommandé pour une nouvelle installation.

  • Extensions PHP requises : pdo avec pdo_mysql, ou à défaut l'extension mysqli, généralement activées par défaut sur un hébergement PHP standard.

  • Extensions PHP recommandées : php-curl, php-gd (nécessaire pour les sparklines et graphiques dans les rapports email et l'application mobile), php-cli, php-xml, php-mbstring.

L'option Docker officielle

Matomo maintient une image Docker officielle, publiée sur Docker Hub et sur GitHub, avec un exemple docker-compose minimal fourni dans le dossier .examples du dépôt officiel (Matomo avec Apache inclus, MariaDB, et éventuellement Redis pour le cache). Les variables d'environnement honorées par l'image pour la configuration base de données sont MATOMO_DATABASE_HOST, MATOMO_DATABASE_ADAPTER, MATOMO_DATABASE_TABLES_PREFIX, MATOMO_DATABASE_USERNAME, MATOMO_DATABASE_PASSWORD et MATOMO_DATABASE_DBNAME. Dans l'assistant d'installation web qui suit, le champ "Database Server" se renseigne avec le nom du service compose (généralement db), et les identifiants correspondent aux variables MYSQL_USER/MYSQL_PASSWORD/MYSQL_DATABASE définies côté conteneur MariaDB. Les données MySQL vivent dans un volume dédié, la configuration Matomo (dossier config/) dans le volume applicatif.

Installation manuelle classique

L'archive officielle se télécharge à l'adresse https://builds.matomo.org/matomo.zip, Matomo déconseille explicitement toute source de téléchargement tierce et recommande de vérifier la signature GPG de l'archive. Après décompression, l'upload vers le serveur se fait via SSH/SCP/SFTP (le FTP n'est recommandé qu'à défaut de SSH), dans un sous-dossier dédié ou un sous-domaine séparé.

Sur les permissions : le serveur web a besoin d'un accès en lecture sur l'ensemble des fichiers, mais l'écriture doit être restreinte. Le dossier tmp/ est le seul dont l'écriture est requise en permanence, exemple de commande donnée par Matomo pour un serveur Apache tournant en www-data : sudo chown -R www-data:www-data /var/www/html/matomo/tmp/*. Le dossier config/ a besoin d'être temporairement writable pendant l'installation, puis il est recommandé de le repasser en lecture seule une fois la configuration terminée. Sur le vhost Apache ou Nginx, la documentation officielle Matomo ne publie pas d'exemple de configuration clé en main, elle part du principe que le serveur web est déjà "configured and working" avant de lancer l'installeur, un point à combler soi-même avec un vhost PHP-FPM générique plutôt qu'un modèle officiel qui n'existe pas. Une fois le serveur prêt, il suffit de naviguer vers l'URL de Matomo dans un navigateur pour déclencher l'assistant d'installation en 5 étapes.

Sécuriser l'installation, pas seulement la faire tourner

Plusieurs recommandations officielles concrètes, souvent oubliées une fois l'installation terminée :

  • Servir Matomo en HTTPS avec redirection SSL automatique activée dans les réglages : identifiants de connexion et jetons API transitent dans les réponses serveur.

  • Restreindre l'écriture serveur web précisément à config/config.ini.php, au dossier misc/user, aux fichiers matomo.js/piwik.js, et à tmp/.

  • Désactiver la mise à jour automatique en un clic via enable_auto_update = 0 dans config/config.ini.php, pour garder la main sur les mises à jour et les plugins.

  • Limiter l'accès externe aux seuls fichiers nécessaires au tracking (matomo.php, matomo.js, piwik.php, piwik.js, les fichiers d'opt-out, les containers Tag Manager js/container_*.js), le reste peut être restreint par IP.

  • Installer Matomo dans une base de données dédiée, pas partagée avec une autre application, exécuter le script de sécurisation MySQL, utiliser des identifiants uniques, s'assurer que le serveur de base de données n'est pas exposé directement à Internet, et activer le plugin SecurityInfo pour auditer la configuration.

Configurer précisément le cron d'archivage

La commande officielle est core:archive, exécutée en CLI, conçue pour tourner en tâche cron plutôt que de laisser Matomo recalculer les rapports à la demande. La fréquence recommandée dépend du volume de trafic : toutes les 30 minutes pour moins de 10 000 visites/jour, toutes les 1 à 2 heures entre 10 000 et 100 000 visites/jour, toutes les 6 à 24 heures au-delà de 100 000 visites/jour. Une exécution horaire reste la configuration par défaut la plus courante en pratique.

Une implémentation plus complexe à discuter ?

Discuter de votre tracking
Christophe Dubois
Christophe Dubois

Consultant tracking & data, freelance senior depuis 2012. Architecture de mesure, server-side, attribution.

Remonter en haut

Besoin d'un accompagnement sur ce sujet ?

Freelance web analytics
POUR ALLER PLUS LOIN

Articles liés

Google Tag Manager

Comment Mettre en Place le Suivi Matomo avec Google Tag Manager (Client-Side)

Mettre en place le tracking Matomo côté client avec GTM : la balise HTML personnalisée pour le self-hosted, le consentement natif Matomo, l'e-commerce et les dimensions personnalisées.

22 Sep. 2026 ·11 min
Data Visualisation

Tout Savoir sur les Rapports Personnalisés dans Matomo

Comment fonctionne le plugin premium Custom Reports de Matomo : où le configurer, un exemple concret de rapport croisé, ses limites et son prix.

22 Sep. 2026 ·9 min
Web Analyse

Comment Connecter Google Search Console à Matomo

Comment récupérer les mots-clés organiques dans Matomo via Search Engine Keywords Performance, les limites réelles des données Search Console, et la comparaison avec le lien natif GA4.

22 Sep. 2026 ·9 min
RGPD - Consent Mode

Comment Paramétrer Matomo pour Tracker sans Consentement (Dérogation CNIL)

Les vraies conditions de la dérogation CNIL à la mesure d'audience, et les réglages Matomo précis (anonymisation IP, rétention, opt-out) pour s'en approcher.

22 Sep. 2026 ·8 min
Paid Acquisition

Hyros vs Triple Whale : quelle solution d'attribution choisir ?

Hyros ou Triple Whale pour fiabiliser votre attribution ? Différences réelles, pour qui chaque outil est pertinent, et ce qu'aucun des deux ne remplace.

15 Sep. 2026 ·8 min
Web Analyse

Piano Analytics : guide complet (fonctionnement, RGPD, server-side)

Piano Analytics expliqué : fonctionnement, modèle événementiel, exemption CNIL, implémentation server-side et retour d'expérience concret.

15 Sep. 2026 ·9 min
Google Tag Manager

Plan de Taggage : Guide Complet

Comment construire un plan de taggage qui reste à jour : méthode en 4 étapes, règles de nomenclature, exemple concret et erreurs qui coûtent cher.

02 Jul. 2024 ·11 min
Google Analytics

Comment Exporter les Données de Universal Analytics vers Google Sheets et BigQuery

Exporter Universal Analytics vers Google Sheets et BigQuery avant l’arrêt UA. Guide Dataheka pour sauvegarder l’historique et préparer le reporting GA4 Guide Da

25 Jun. 2024 ·12 min
Web Analyse

Qu'est-ce que Piwik PRO ?

Piwik PRO : analytics privacy-first européenne, alternative à GA4. Présentation Dataheka — fonctionnalités, conformité et cas d’usage entreprise guide pratique.

15 Feb. 2024 ·13 min
Google Analytics

Qu'est-ce que Plausible Analytics ?

Plausible Analytics : ce qu'il mesure vraiment, ses limites, son prix, et dans quels cas il remplace GA4 sans compromis.

15 Feb. 2024 ·13 min
Google Tag Manager

Comment Tracker un Site Webflow : Guide Complet

Apprenez à configurer le tracking sur Webflow avec Google Tag Manager et suivez vos conversions efficacement.

14 Feb. 2024 ·11 min
Google Analytics

Qu'est ce que Snowplow ?

Dans le monde numérique actuel, la capacité à collecter et analyser des données précises est cruciale pour les entreprises cherchant à comprendre leur…

14 Feb. 2024 ·13 min
SERVICES ASSOCIÉS

Pour aller plus loin sur votre projet

EXPERTISE ASSOCIÉE

Analytics (GA4, Matomo, Piano)

Analytics (GA4, Matomo, Piano)

Une configuration analytics avancée adaptée à votre e-commerce ou votre produit, pas juste l'installation par défaut.

Voir l'expertise
FAQ

Questions fréquemment posées

Quelle version de PHP faut-il pour installer Matomo 5 ?

PHP 8 minimum, avec compatibilité confirmée pour PHP 8.1, 8.2 et 8.3 depuis Matomo 5.0.0. Il est recommandé d'utiliser la dernière version 8.x disponible sur le serveur.

Existe-t-il une image Docker officielle pour Matomo ?

Oui, maintenue par Matomo lui-même sur Docker Hub et GitHub, avec un exemple docker-compose (Matomo + Apache, MariaDB, Redis en option) fourni dans le dossier .examples du dépôt officiel.

Quel dossier Matomo doit rester writable en permanence après installation ?

Le dossier tmp/. Le dossier config/ a besoin d'être writable seulement pendant l'installation initiale, puis il est recommandé de le repasser en lecture seule une fois la configuration terminée.

Pourquoi faut-il configurer une tâche cron après l'installation de Matomo ?

Pour l'archivage périodique via la commande core:archive. Sans cron dédié, Matomo recalcule certains rapports à la volée à chaque consultation, ce qui devient lent dès que le trafic du site grossit.

Prendre rendez-vous