2022-07-22 11:45:16 +02:00
---
title: Howto Matomo
categories: web webapp
...
* Documentation : < https: // matomo . org / faq / on-premise / matomo-requirements />
Matomo est une application web affichant des statistiques de consultation de pages web tout en protégeant les données et la vie privée des internautes.
2024-03-22 10:33:09 +01:00
## Installer Matomo
### Pré-requis
2022-07-22 11:45:16 +02:00
2023-07-17 15:28:55 +02:00
Il y a besoin de ces pré-requis pour Debian 11 (Bullseye) :
2022-07-22 11:45:16 +02:00
~~~
2022-07-22 12:01:45 +02:00
# apt install php php-curl php-gd php-cli php-mysql php-xml php-mbstring
2022-07-22 11:45:16 +02:00
~~~
2023-07-17 15:28:55 +02:00
Nous préconisons d'utiliser Matomo avec [Apache-ITK ](HowtoApache ) et [MariaDB ](HowtoMySQL ).
Pour [Apache-ITK ](HowtoApache ) on désactive la gestion des droits pour faciliter les mises à jour :
~~~
AssignUserID example example
~~~
2024-03-22 10:33:09 +01:00
### Déployer
2022-07-22 11:48:01 +02:00
2022-07-22 12:01:45 +02:00
Se connecter avec le compte UNIX dédié, télécharger l'application et le dézipper en supposant que le DocumentRoot soit par exemple `/home/compte_unix/www/` :
2022-07-22 11:45:16 +02:00
~~~
2022-07-22 12:01:45 +02:00
# su - compte_unix
2022-07-22 11:45:16 +02:00
$ wget https://builds.matomo.org/matomo.zip & & unzip matomo.zip
$ mv -i matomo www
~~~
Il reste à suivre les instructions de son installation via https://domaine-matomo-instance.com
2024-03-22 10:33:09 +01:00
## Configurer
2022-07-22 12:01:45 +02:00
2022-07-22 11:45:16 +02:00
### Forcer le SSL
Pour augmenter d'un cran le niveau de sécurité, on ajoute dans `/home/matomo/www/config/config.ini.php` ces directives :
~~~
[General]
force_ssl = 1
~~~
2024-01-16 14:30:14 +01:00
### Ajouter un utilisateur admin
Si on est bloqué, on peut insérer un nouvel utilisateur admin dans la base avec un mot de passe temporaire (à changer après la première connexion) :
~~~
$ php -r 'echo password_hash(md5(< TMP_PASS > ), PASSWORD_DEFAULT) . "\n";'
$2y$10$v2HBGALslnw5ZeRaQDpon.xmQOZcRpxkYkrvlTs41j2F.THyLQhn6
$ mysql
MariaDB [(none)]> use matomo;
MariaDB [matomo_prod]> INSERT INTO `matomo_user` (login, password, email, superuser_access) VALUES ('< NEW_OGIN > ', '< PASS_HASH > ', '< MAIL > ', 1);
~~~
2022-07-22 11:45:16 +02:00
### Activer l'archivage
Désactiver l'archivage via l'interface web dans : *administration (roue cranté)* -> *Système* -> *paramètres généraux* -> *Paramètres d'archivage* -> mettre sur *Non*
Puis ajouter cette tâche dans la crontab de l'utilisateur :
~~~
MAITO="foo@bar.com"
30 * * * * /usr/bin/php /home/matomo/www/console core:archive --url=https://domaine-matomo-instance.com
2023-07-17 15:28:55 +02:00
~~~
2023-08-22 10:09:03 +02:00
2024-03-22 10:33:09 +01:00
### Configurer les dumps
Si vous utilisez `mysqldump` pour sauvegarder vos bases de données, il faut utiliser les options `--single-transaction --skip-lock-tables` , sans quoi vous risquez d'avoir un timeout de Matomo pendant la durée des dumps à cause du lock des tables par `mysqldump` .
## Mettre-à-jour
2023-08-22 10:09:03 +02:00
2023-12-27 11:49:15 +01:00
On peut facilement mettre à jour Matomo depuis l'interface d'administration en un seul click.
2023-08-22 10:09:03 +02:00
Il faut avant s'assurer que le répertoire racine de Matomo soit bien avec les droits en `755`
2023-12-27 11:49:15 +01:00
Ensuite il faut se connecter en tant que "super user" ou "admin" à Matomo et aller dans la section « Administration », si une nouvelle mise à jour est disponible, elle est proposée, donc cliquer sur "Update Automatically".
2023-08-22 10:09:03 +02:00
### Mise à jour sur les serveurs Matomo à fort trafic
2023-12-27 11:49:15 +01:00
Pour les serveurs à fort trafic, la mise à jour de Matomo peut prendre entre plusieurs minutes à plusieurs heures, il est donc recommandé de lancer la mise à jour en ligne de commande.
2023-08-22 10:09:03 +02:00
Vous pouvez mettre à jour Matomo en cli de cette façon :
~~~
$ php /home/matomo/www/console core:update
~~~
2023-12-27 11:49:15 +01:00
Il est recommandé également pour les serveurs a haut trafic, de désactiver le tracking des visiteurs et l'interface web de cette façon :
2023-08-22 10:09:03 +02:00
~~~
[Tracker]
record_statistics = 0
[General]
maintenance_mode = 1
~~~
2023-08-22 10:09:59 +02:00
Lorsque Matomo est en `maintenance_mode=1` le endpoint de l'API `index.php` retourne une `503` .
2023-08-22 10:09:03 +02:00
Si Matomo est derrière un load-balancer de type Haproxy, il faut rajouter la variable `multi_server_environment=1` pour que Matomo renvoie une `200`
Cela garantira que les mises à jour du schéma de base de données sont terminées dès que possible et sans erreurs de lecture/écriture simultanées.
2023-12-27 11:49:15 +01:00
Lorsque la mise à jour est terminé, **ne pas oublier de désactiver le mode maintenance et de réactiver le tracking.**
2023-08-22 10:09:03 +02:00
### Une fois la mise à jour terminée
2023-12-27 11:49:15 +01:00
Lorsque la mise à jour s'est terminé avec succès, il est recommandé d'aller dans `Admin > Diagnostics > System check` et d'examiner les recommandations faites par Matomo.
2023-08-22 10:09:03 +02:00
Par exemple, la vérification de l'intégrité des fichiers peut indiquer qu'il reste des fichiers de la version précédente qui peuvent désormais être supprimés.