Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveurs:installation:web-srv:docker-matomo [2021/03/04 20:14] – [Configurer Matomo] jpmilcentserveurs:installation:web-srv:docker-matomo [2026/09/24 10:50] (Version actuelle) – [Configurer Matomo] jpmilcent
Ligne 25: Ligne 25:
   * Créer un lien depuis les sites actifs : ''cd /etc/nginx/sites-enabled/ ; ln -s ../sites-available/analytics.conf 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 la config et relancer Nginx si OK : ''nginx-reload'' ou ''nginx -t && nginx -s reload''
-    * Tester l'URL http://analytics.silene.eu/ qui doit afficher une erreur 502 car nous n'avons pas encore lancé le container Docker.+    * Tester l'URL ''<nowiki> http://analytics.<domaine-sinp>/ </nowiki>'' 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 [[https://github.com/cbn-alpin/sinp-paca-srv/blob/master/README.md|README.md]].   * 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 [[https://github.com/cbn-alpin/sinp-paca-srv/blob/master/README.md|README.md]].
   * Sur le serveur dans le dossier //docker// de l'utilisateur //admin// :   * 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''     * 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.silene.eu''+    * se placer dans le dossier //analytics.silene.eu// : ''cd ~/docker/analytics.<domaine-sinp>''
     * exécuter la commande : ''docker-compose up''     * exécuter la commande : ''docker-compose up''
-    * vérifier que tout fonctionne à l'adresse : http://analytics.silene.eu (se loguer avec le compte root Mysql)+    * vérifier que tout fonctionne à l'adresse : ''<nowiki> https://analytics.<domaine-sinp>/ </nowiki>'' (se loguer avec le compte root Mysql)
     * arrêter le container : ''CTRL+C''     * arrêter le container : ''CTRL+C''
     * relancer le container en tant que service : ''docker-compose up -d''     * relancer le container en tant que service : ''docker-compose up -d''
Ligne 37: Ligne 37:
  
 ===== Activer SSL et HTTP2 sur le domaine ===== ===== Activer SSL et HTTP2 sur le domaine =====
-  * Installer un certificat SSL via Certbot (Letsencrypt) : ''<nowiki> certbot --nginx -d analytics.silene.eu </nowiki>''+  * Installer un certificat SSL via Certbot (Letsencrypt) : ''<nowiki> certbot --nginx -d analytics.<domaine-sinp> </nowiki>'' 
 +    * Pour SINP PACA : ''<nowiki> certbot --nginx -d analytics.silene.eu </nowiki>'' 
 +    * Pour SINP AURA : ''<nowiki> certbot --nginx -d analytics.biodiversite-aura.net </nowiki>''
     * Répondre : 2     * Répondre : 2
     * Tester ensuite la redirection auto de HTTP vers HTTPS : http://analytics.silene.eu/ -> doit redirigé vers HTTPS automatiquement     * Tester ensuite la redirection auto de HTTP vers HTTPS : http://analytics.silene.eu/ -> doit redirigé vers HTTPS automatiquement
Ligne 75: Ligne 77:
 </code> </code>
  
-===== Configurer Matomo =====+===== Matomo ===== 
 +==== Configurer Matomo ====
   * Se connecter sur https://analytics.silene.eu avec un compte de super-administrateur   * 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   * Cliquer sur l'icône de roue en haut à droite pour accéder aux paramètres
Ligne 88: Ligne 91:
     * Chiffrement SMTP : TLS     * Chiffrement SMTP : TLS
   * Modifier le fichier de config une fois le volume créé :   * 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/'' +    * 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 : <code ini>+    * Modifier le fichier de config en ajoutant les paramètres nécessaire dans les différentes sections: <code ini> 
 +[database] 
 +schema = "Mariadb" 
 [General] [General]
 force_ssl = 1 force_ssl = 1
 +assume_secure_protocol = 1
 +proxy_client_headers[] = "HTTP_X_FORWARDED_FOR"
 +proxy_host_headers[] = "HTTP_X_FORWARDED_HOST"
 </code> </code>
-    * 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'' +      * 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" %%''). 
-    * Se connecter au container et corriger les droits du fichier copié : ''docker exec -it analytics-matomo /bin/bash'' +    * 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 %%'' 
-      * ''cd /var/www/html/config'' +    * Se connecter au container et corriger les droits du fichier copié : ''%% docker exec -it analytics-matomo /bin/bash %%'' 
-      * ''chown www-data:www-data config.ini.php''+      * ''%% cd /var/www/html/config %%'' 
 +      * ''%% chown www-data:www-data config.ini.php %%''
   * Test l'envoie d'email par Matomo :   * Test l'envoie d'email par Matomo :
-    * Se connecter au container : ''docker exec -it analytics-matomo /bin/bash'' +    * Se connecter au container : ''%% docker exec -it analytics-matomo /bin/bash %%'' 
-    * Se placer dans le dossier ///var/www/html/// avec :  ''cd /var/www/html/config'' +    * Se placer dans le dossier ///var/www/html/// avec :  ''%% cd /var/www/html/ %%'' 
-    * Lancer la commande : '' ./console core:test-email test@mon-domaine.ext ''+    * Lancer la commande : ''%% ./console core:test-email test@mon-domaine.ext %%''
  
-===== Mise à jour de Matomo ===== +==== Mise à jour de Matomo ====
-  * **Notes** : le volume Docker incluant l'ensemble de Matomo, il est donc nécessaire de procéder en 2 étapes : +
-  - Mise à jour du container : +
-    * Mettez à jour le fichier //docker-compose.yml// en indiquant la nouvelle version de l'image +
-    * Téléverser le fichier sur le serveur +
-    * Relancer le build du container : ''docker-compose up -d --no-deps --build analytics-matomo'' +
-  - Mise à du code de Matomo présent dans le volume Docker : +
-    * Se loguer sur Matomo avec un super-utilisateur +
-    * Via l'interface "Paramètres" lancer la mise à jour de Matomo. +
  
 +  * <del>**Notes** : le volume Docker incluant l'ensemble de Matomo, il est donc nécessaire de procéder en 2 étapes :</del> => 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 : 
 +  - 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 %%''
 +  - 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 %%''
 +==== Déboguer un graphique affichant "Oups..." ====
 +  * 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.1614888859.txt.gz
  • Dernière modification : 2021/03/04 20:14
  • de jpmilcent