serveurs:installation:web-srv:docker-matomo

Ceci est une ancienne révision du document !


Installer, configurer et gérer le sous-domaine "analytics"

Notes : ce domaine hébergera l'outil Matomo permettant d'analyser l'utilisation des sites web du SINP (Wordpress, GeoNature…). Il est embarqué dans un container Docker et fait partie de la stack analytics.silene.eu.

  • Créer un fichier de configuration : vi /etc/nginx/sites-available/analytics.conf
  • Créer un lien depuis les sites actifs : cd /etc/nginx/sites-enabled/ ; ln -s ../sites-available/analytics.conf analytics.conf
    • Tester la config et relancer Nginx si OK : nginx-reload ou nginx -t && nginx -s reload
    • Tester l'URL http://analytics.<domaine-sinp>/ qui doit afficher une erreur 502 car nous n'avons pas encore lancé le container Docker.
  • En local, sur votre machine, se placer dans le dépôt Github "sinp-paca-srv" récupéré précédemment et si nécessaire resynchroniser le dossier web-srv/docker/ avec le serveur de destination en exécutant la commande Rsync indiquée dans le fichier README.md.
  • Sur le serveur dans le dossier docker de l'utilisateur admin :
    • vérifier la présence du réseau Docker spécifique à notre utilisation de type bridge nommé nginx-proxy (voir fichier .env) : docker network ls
    • se placer dans le dossier analytics.silene.eu : cd ~/docker/analytics.<domaine-sinp>
    • exécuter la commande : docker-compose up
    • vérifier que tout fonctionne à l'adresse : https://analytics.<domaine-sinp>/ (se loguer avec le compte root Mysql)
    • arrêter le container : CTRL+C
    • relancer le container en tant que service : docker-compose up -d
      • si besoin de l'arrêter utiliser : docker compose down
  • Se connecter sur https://analytics.silene.eu avec un compte de super-administrateur
  • Cliquer sur l'icône de roue en haut à droite pour accéder aux paramètres
  • Accéder au menu "Système" > "Paramètres généraux" > "Paramètres du serveur mail" et compléter comme suit :
    • Adresse du serveur SMTP : ssl0.ovh.net
    • Port SMTP : 587
    • Méthode d'authentification pour le serveur SMTP : login
    • Nom d'utilisateur SMTP : mailer@silene.eu
    • Mot de passe SMTP : utiliser le mot de passe du compte mailer@silene.eu.
    • Adresse d'origine SMTP : mailer@silene.eu
    • Nom d'origine SMTP : No Reply
    • Chiffrement SMTP : TLS
  • Modifier le fichier de config une fois le volume créé :
    • Copier le fichier de config de Matomo sur l'hôte : docker cp analytics-matomo:/var/www/html/config/config.ini.php ~/docker/analytics.silene.eu/matomo/config/
    • Modifier le fichier de config en ajoutant les paramètres nécessaire dans les différentes sections:
      [database]
      schema = "Mariadb"
       
      [General]
      force_ssl = 1
      assume_secure_protocol = 1
      proxy_client_headers[] = "HTTP_X_FORWARDED_FOR"
      proxy_host_headers[] = "HTTP_X_FORWARDED_HOST"
      • Le service Nginx communique en interne en HTTP non sécurisé avec Matomo mais en amont Nginx est bien en HTTPS. Nous devons donc indiquer à Matomo qu'il doit considérer que l'on utilise du HTTPS sécurisé (force_ssl = 1 et très important assume_secure_protocol = 1). Enfin, Matomo étant proxifié par Nginx nous l'indiquons ( proxy_client_headers[] = "HTTP_X_FORWARDED_FOR" et proxy_host_headers[] = "HTTP_X_FORWARDED_HOST" ).
    • Retourner le fichier de config dans le volume : docker cp ~/docker/analytics.silene.eu/matomo/config/config.ini.php analytics-matomo:/var/www/html/config/config.ini.php
    • Se connecter au container et corriger les droits du fichier copié : docker exec -it analytics-matomo /bin/bash
      • cd /var/www/html/config
      • chown www-data:www-data config.ini.php
  • Test l'envoie d'email par Matomo :
    • Se connecter au container : docker exec -it analytics-matomo /bin/bash
    • Se placer dans le dossier /var/www/html/ avec : cd /var/www/html/
    • Lancer la commande : '' ./console core:test-email test@mon-domaine.ext ''
  • Notes : le volume Docker incluant l'ensemble de Matomo, il est donc nécessaire de procéder en 2 étapes : ⇒ Ce n'est plus vrai. Le problème venait du remplacement du script entrypoin.sh officiel de Matomo par un script personnalisé lançant le Cron (voir l'installation CBNA qui est corrigé). Voici les nouvelles étapes de mise à jour :
  1. Mise à jour de l'image et du container :
    • Mettez à jour le fichier docker-compose.yml en indiquant la nouvelle version de l'image. Ex. : image: cbn-alpin/matomo:5.14.0-fpm
    • Mettez à jour le fichier matomo/build/Dockerfile en indiquant la nouvelle version de l'image. Ex. : FROM matomo:5.14.0-fpm
    • Téléverser le fichier sur le serveur
    • Relancer le build du container : docker-compose up -d --no-deps --build analytics-matomo
  2. Mise à jour de la base de données via le terminal :
    • Accéder au dossier de la stack analytics sur le servuer et exécuter : docker exec -it analytics-matomo php /var/www/html/console core:update
      • Pour voir la liste des commandes dispo : docker exec -it analytics-matomo php /var/www/html/console list
  • Essayer de redémarrer le service analytics-nginx
  • Ouvrir l'outil de Dev de votre navigateur, se rendre dans l'onglet "Réseau" et afficher la réponse de la requête Ajax affichant le graphique en erreur.
    • Des informations sur comment résoudre le problème devrait être affichée.
  • Vérifier que le contenu du dossier /var/www/html/tmp/templates_c/ appartient bien à l'utilisateur www-data
  • serveurs/installation/web-srv/docker-matomo.1790246971.txt.gz
  • Dernière modification : 2026/09/24 10:49
  • de jpmilcent