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.
Installer le domaine
- Créer un fichier de configuration :
vi /etc/nginx/sites-available/analytics.conf
- Y placer le contenu suivant :
server { listen 80; listen [::]:80; server_name analytics.silene.eu; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $realip_remote_addr; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:50083/;# ATTENTION : bien mettre un slash final ! Sinon => erreur 404 } }
- 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
ounginx -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.
- 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.silene.eu
- 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)
- 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
Activer SSL sur le domaine
- Installer un certificat SSL via Certbot (Letsencrypt) :
certbot --nginx -d analytics.silene.eu
- Répondre : 2
- Tester ensuite la redirection auto de HTTP vers HTTPS : http://analytics.silene.eu/ → doit redirigé vers HTTPS automatiquement
- Tester la configuration SSL : https://www.ssllabs.com/ssltest/analyze.html?d=analytics.silene.eu
- Tester l'URL https://analytics.silene.eu/
- La config finale :
server { listen 443 ssl; # managed by Certbot listen [::]:443 ssl; # managed by Certbot server_name analytics.silene.eu; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $realip_remote_addr; proxy_set_header X-Forwarded-Host $host:$server_port; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:50083/;# ATTENTION : bien mettre un slash final ! Sinon => erreur 404 } ssl_certificate /etc/letsencrypt/live/analytics.silene.eu/fullchain.pem; # managed by Certbot ssl_certificate_key /etc/letsencrypt/live/analytics.silene.eu/privkey.pem; # managed by Certbot include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot } server { listen 80; listen [::]:80; server_name analytics.silene.eu; return 302 https://analytics.silene.eu$request_uri; }
Configurer Matomo
- 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 : smtp-relay.gmail.com
- Port SMTP : 587
- Méthode d'authentification pour le serveur SMTP : login
- Nom d'utilisateur SMTP : mailer@cbn-alpin.fr
- Mot de passe SMTP : créer un mot de passe d'application via le compte Google de Hermès ARCADIE
- Adresse d'origine SMTP : mailer@cbn-alpin.fr
- 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 :
[General] force_ssl = 1
- 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
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.