Installer Matomo sur un serveur et auto-heberger l'application
Ici le but est d'installer puis configurer matomo sur mon serveur pour suivre les visites de mes applications web en auto-hébergement sur mon home serveur.
Téléchargement de Matomo
A la racine du domaine ou on veut déployer Matomo, télécharger et décompresser l'archive
wget https://builds.matomo.org/matomo.zip && unzip matomo.zip
Configurer CaddyServer
- Exemple de configuration minimale pour CaddyServer qui respecte les directives de sécurité de Matomo :
Ajouter les CSP et les headers de sécurité comme on le ferait pour un site web...Ici c'est la config minimale...
mon_domaine_matomo.mondomaine.ext {
root * /var/www/html/path_to_matomo
php_fastcgi unix//run/php/php-fpm.sock
file_server
@blocked {
path /.git/*
path /core/*
path /config/*
path /lang/*
path /tmp/*
}
respond @blocked 403
}
Créer un sous domaine
Chez le registar ajouter un enregistrement A pour le domaine ou le sous domaine.
Aller à l'adresse du sous domaine pour lancer l'installation de matomo
Dans le navigateur à la racine du domaine ou du sous domaine, suivre les étapes d'installation de matomo. Si il y a des erreurs de permisison il donne les commandes à passer pour les régler. Ensuite l'intallation se fait en quelques clics et c'est terminé, reste à faire les optimisations techniques et sécuritaires puis ajouter les sites à suivre et tester les codes de suivi...
Amélioration des performances et config de séurité ;
On peut avoir des erreurs de performances si la base de données n'est pas configurée correctement. Se rendre dans les paramètres -> vérification du sytème -> pour vérifier le rapport de configuration. Si il y a des problèmes ils sont indiqués là.
Configurer La Bdd et la Tâche Cron pour éviter les erreurs de performances.
Théoriquement ce sera créer un tâche cron pour l'optimisation de la base de données. Eventuellement ajouter une configuration spécifique dans le fichier de configuration de matomo. On etrouvera par xemple le fichier à éditer dans /var/www/html/path_to_matomo/config/config.ini.php
- Par exemple ajouter ça sous
[General]
:
force_ssl = 1
enable_browser_archiving_triggering = 0
Ca permet de forcer l'utilisation de SSL et de désactiver le déclenchement de l'archivage par le navigateur...redemarrer le serveur web après modification du fichier de configuration
- Si il faut augmenter le
max_allowed_packet
de la base de données :
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
- Pour MariaDb, ajouter en haut du fichier ou modifier la ligne suivante sous [mysqld] (ajouter [mysqld] si il n'existe pas) :
max_allowed_packet=64M
- Remettre en route le serveur de base de données :
sudo systemctl restart mariadb
- Vérifier la nouvelle valeur :
mysql -u root -p
SHOW VARIABLES LIKE 'max_allowed_packet';
- Sortie attendue :
+--------------------+---------+
| Variable_name | Value |
+--------------------+---------+
| max_allowed_packet | 67108864 |
+--------------------+---------+
Rafraichir la page de vérification du système dans matomo pour voir si les erreurs ont disparues.