Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Matomo/Installation
Installation de Matomo sur une VM Ubuntu
Objectif
Cette procédure décrit l'installation de Matomo sur les VM AJLSM hébergeant les applications Pleade et Drupal.
Elle est destinée à être réutilisée pour les nouveaux projets, indépendamment du client et du nom de domaine.
La configuration Apache, l'intégration Drupal et la publication sécurisée par HAProxy sont détaillées dans des chapitres distincts :
1. Environnement technique
Versions d'Ubuntu et de PHP
| Ubuntu | PHP | Statut documentaire |
|---|---|---|
| Ubuntu 18.04 | PHP 8.1 via PHP-FPM | Installation historique, hors support standard |
| Ubuntu 24.04 | PHP 8.3 via PHP-FPM | Installation existante |
| Ubuntu 26.04 | PHP 8.4 via PHP-FPM | Environnement utilisé pour AD64 en octobre 2026 |
Important : vérifier la compatibilité entre la version de Matomo et celle de PHP avant toute nouvelle installation ou mise à jour.
Composants nécessaires
- Apache 2.4
- PHP-FPM
- MariaDB ou MySQL
- Extensions PHP requises par Matomo
- Accès HTTPS, directement ou via HAProxy
- Accès réseau permettant le téléchargement et les mises à jour de Matomo
2. Installation des dépendances PHP
Adapter la version de PHP à celle installée sur la VM.
Ubuntu 24.04 — PHP 8.3
sudo apt install \
php8.3-mysql php8.3-gd php8.3-curl php8.3-xml \
php8.3-mbstring php8.3-zip php8.3-intl
Ubuntu 26.04 — PHP 8.4
sudo apt install \
php8.4-mysql php8.4-gd php8.4-curl php8.4-xml \
php8.4-mbstring php8.4-zip php8.4-intl
Vérification
php -v
php -m | grep -Ei 'mysqli|pdo_mysql|gd|curl|mbstring|xml|zip|intl'
3. Activation de PHP-FPM
Exemple pour PHP 8.4 :
sudo apt install php8.4-fpm
sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.4-fpm
sudo systemctl reload apache2
Vérifier le service :
systemctl status php8.4-fpm
Attention : sur une VM hébergeant plusieurs applications PHP, vérifier les configurations Apache existantes avant d'activer une configuration PHP-FPM globale.
4. Préparation de MariaDB
Vérifier que MariaDB est installé et actif :
systemctl status mariadb
Matomo nécessite :
- Une base de données dédiée
- Un utilisateur SQL dédié
- Des droits limités à cette base
Exemple générique à adapter :
CREATE DATABASE matomo
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE USER 'matomo'@'localhost'
IDENTIFIED BY 'MOT_DE_PASSE_FORT_A_REMPLACER';
GRANT ALL PRIVILEGES ON matomo.*
TO 'matomo'@'localhost';
Ne jamais conserver le mot de passe d'exemple dans une installation réelle.
5. Installation des fichiers Matomo
Téléchargement
cd /var/www
sudo wget https://builds.matomo.org/matomo.zip
sudo unzip matomo.zip
Le répertoire de l'application est :
/var/www/matomo
Propriétaire et permissions
sudo chown -R www-data:www-data /var/www/matomo
sudo find /var/www/matomo -type d -exec chmod 755 {} \;
sudo find /var/www/matomo -type f -exec chmod 644 {} \;
Ces commandes définissent des permissions de base. Les répertoires nécessitant des écritures par Matomo doivent conserver des droits adaptés à son fonctionnement.
Éviter :
chmod -R 755 /var/www/matomo
Cette dernière commande rendrait tous les fichiers exécutables inutilement.
6. Configuration Apache et HTTPS
La configuration du VirtualHost Matomo est décrite dans :
Deux architectures sont possibles :
- Apache assure directement la terminaison HTTPS.
- HAProxy assure la terminaison HTTPS et transmet les requêtes à Apache.
Dans l'infrastructure AJLSM utilisant HAProxy, le certificat public est généralement géré sur les répartiteurs de charge.
La procédure de configuration des certificats et des ACL est décrite dans :
Pour une installation utilisant directement Certbot sur Apache :
sudo apt install certbot python3-certbot-apache
sudo certbot --apache
Cette procédure Certbot ne doit pas être appliquée automatiquement à une VM dont le HTTPS public est déjà géré par HAProxy.
7. Initialisation de Matomo
Après configuration du VirtualHost, ouvrir dans un navigateur l'URL HTTPS prévue pour Matomo.
L'assistant d'installation permet notamment de :
- Vérifier les prérequis système
- Configurer la connexion à MariaDB
- Initialiser les tables Matomo
- Créer le compte administrateur
- Déclarer le premier site suivi
Important : chaque application suivie doit disposer de son propre identifiant de site Matomo lorsque l'on souhaite séparer ses statistiques.
Exemple : une application Internet et une salle de lecture Drupal peuvent être déclarées comme deux sites distincts.
8. Vérifications après installation
Vérifier la version installée
cd /var/www/matomo
sudo -u www-data php console core:version
Vérifier les services
systemctl is-active apache2
systemctl is-active mariadb
systemctl is-active php8.4-fpm
Adapter la version PHP-FPM si nécessaire.
Vérifier les points d'accès
MATOMO_URL="https://matomo.exemple.fr"
curl -I "$MATOMO_URL/matomo.js"
curl -I "$MATOMO_URL/matomo.php"
Note : selon le comportement du serveur, une requête HEAD peut ne pas produire le même résultat qu'une requête GET. Pour vérifier précisément les codes HTTP :
curl -sS -o /dev/null -w "HTTP %{http_code}\n" \
"$MATOMO_URL/matomo.js"
L'installation de Matomo ne garantit pas à elle seule que les applications transmettent leurs visites. Cette vérification relève des chapitres d'intégration.
9. Intégration aux applications
Drupal
Voir Matomo/Drupal pour :
- L'installation du module Drupal Matomo
- La configuration de l'identifiant du site
- L'adresse HTTPS du serveur Matomo
- Les exclusions des pages d'administration
- Les vérifications de collecte
Pleade
Voir Matomo/Pleade.
Suivi IIIF et événements
10. Sécurité et maintenance
Après installation, vérifier :
- Que l'interface d'administration Matomo n'est accessible qu'aux utilisateurs ou réseaux autorisés
- Que les points de collecte nécessaires restent accessibles aux visiteurs
- Que le certificat HTTPS est valide
- Que les sauvegardes couvrent la base MariaDB et la configuration Matomo
- Que les mises à jour de sécurité sont suivies
Voir :
11. Installations de référence
| Projet | Serveur | Domaine Matomo | Particularités |
|---|---|---|---|
| AD64 | ad64 | ad64-matomo.pleade.com | Matomo 5.10.1 ; deux Drupal suivis séparément |
| APBP2 | À compléter | apbp2-matomo.pleade.com | Publication via HAProxy avec restriction de l'administration |
| MERCURE3 | À compléter | mercure3-matomo.pleade.com | Accès restreint à AJLSM |
Les paramètres propres à chaque client (domaines, adresses IP, identifiants Matomo, backends HAProxy) ne doivent pas être intégrés directement dans les commandes génériques.