Introduction
Plausible Analytics est une application d’analyse Web open source et auto-hébergée écrite en Elixir qui se concentre sur la simplicité et la confidentialité. Elle stocke les données sur les visiteurs de votre site Web dans les bases de données PostgreSQL et ClickHouse.
Dans ce tutoriel, vous installerez Plausible en utilisant Docker Compose, puis installerez Nginx pour agir en tant que proxy inverse pour l’application Plausible. Enfin, vous activerez des connexions HTTPS sécurisées en utilisant Certbot pour télécharger et configurer des certificats SSL à partir de l’autorité de certification Let’s Encrypt.
Prérequis
Pour mener à bien ce tutoriel, vous aurez d’abord besoin des éléments suivants :
- Un serveur Ubuntu 22.04, avec le pare-feu UFW activé. Veuillez lire notre Configuration initiale du serveur avec Ubuntu 22.04 pour en savoir plus sur la configuration de ces exigences.
- Docker installé. Vous pouvez utiliser Étape 1 de Comment installer et utiliser Docker sur Ubuntu 22.04 pour réaliser ceci. En option, vous pouvez suivre l’Étape 2 de ce tutoriel si vous souhaitez que votre utilisateur non-root puisse exécuter les commandes
docker
sans utilisersudo
- Docker Compose installé. Suivez Étape 1 de Comment installer et utiliser Docker Compose sur Ubuntu 22.04 pour installer ce logiciel
Remarque : Ces étapes préalables peuvent être ignorées si vous utilisez l’Image Docker en un clic de DigitalOcean. Cette image aura Docker, Docker Compose et UFW déjà installés et configurés.
Lancez une nouvelle image Docker dans la région de votre choix, puis connectez-vous en tant qu’utilisateur root et suivez le tutoriel. En option, vous pourriez omettre les parties sudo
de toutes les commandes, mais ce n’est pas nécessaire.
Enfin, pour activer SSL, vous aurez besoin d’un nom de domaine pointé vers l’adresse IP publique de votre serveur. Cela devrait être quelque chose comme example.com
ou plausible.example.com
, par exemple. Si vous utilisez DigitalOcean, veuillez consulter notre Guide de démarrage rapide DNS pour des informations sur la création de ressources de domaine dans notre panneau de contrôle.
Lorsque vous avez satisfait à toutes les prérequis, passez à l’Étape 1, où vous téléchargerez et lancerez le logiciel Plausible.
Étape 1 – Installation de Plausible Analytics avec Docker Compose
Plausible a créé un dépôt Git avec tous les fichiers de configuration nécessaires pour auto-héberger le logiciel. Votre première étape sera de cloner ce dépôt sur votre serveur, de mettre à jour deux fichiers de configuration, puis de démarrer les conteneurs d’application et de base de données Plausible.
Connectez-vous maintenant à votre serveur.
Tout d’abord, utilisez la commande cd
pour naviguer dans le répertoire /opt
:
Ensuite, utilisez la commande git
pour cloner le dépôt depuis GitHub dans un nouveau répertoire appelé plausible
dans /opt
:
Cela téléchargera tous les fichiers de configuration nécessaires dans /opt/plausible
. Déplacez-vous dans le répertoire nouvellement créé:
Le premier fichier que nous devons modifier est plausible-conf.env
, un fichier qui contient quelques variables de configuration que nous devons définir.
Avant d’ouvrir le fichier pour le modifier, générez un nouvel hachage aléatoire:
Cela utilise la commande openssl
pour générer 64 caractères aléatoires, et la commande base64
pour les encoder en base64. Copiez la sortie dans votre presse-papiers, puis ouvrez le fichier de configuration:
Le fichier contient cinq variables que vous devrez remplir :
ADMIN_USER_EMAIL=your_email_here
ADMIN_USER_NAME=admin_username
ADMIN_USER_PWD=admin_password
BASE_URL=https://your_domain_here
SECRET_KEY_BASE=paste_your_random_characters_here
Remplissez l’e-mail, le nom d’utilisateur, le mot de passe et l’URL de base, puis collez les caractères aléatoires que vous avez générés avec openssl
.
Remarque : Le mot de passe que vous spécifiez ici doit comporter au moins six caractères. Si vous utilisez une adresse IP brute et non un nom de domaine, assurez-vous de la précéder de http://
.
Enregistrez le fichier (CTRL+O
puis ENTRÉE
dans nano
) et fermez votre éditeur (CTRL+X
).
Il existe d’autres options de configuration que vous pouvez ajouter à ce fichier, mais cet ensemble minimal vous permettra de démarrer. Vous trouverez plus d’informations sur la configuration de Plausible via plausible-conf.env
dans la documentation officielle d’auto-hébergement de Plausible Analytics.
Maintenant, vous devez mettre à jour le fichier docker-compose.yml
. Ce fichier est celui que la commande docker-compose
utilise pour configurer et lancer plusieurs conteneurs Docker. Nous devons modifier une option dans ce fichier : l’adresse IP à laquelle Plausible est lié.
Trouvez la section qui définit le conteneur Plausible. Elle commencera par plausible :
. Dans cette section, trouvez la définition ports :
et mettez-la à jour comme suit :
ports:
- 127.0.0.1:8000:8000
Cela garantit que Plausible n’écoute que sur l’interface localhost et n’est pas accessible publiquement. Même si vous avez configuré un pare-feu UFW, en raison de certaines particularités du fonctionnement du réseau Docker, si vous ne prenez pas cette étape, votre conteneur Plausible serait accessible au public sur le port 8000
, et nous voulons uniquement y accéder via le proxy Nginx que vous configurerez à l’étape suivante.
Enregistrez et fermez le fichier docker-compose.yml
, puis utilisez docker-compose
pour télécharger, configurer et lancer les conteneurs:
Le drapeau --detach
indique à docker-compose
de créer les conteneurs en arrière-plan, détachés de notre session de terminal:
Output. . .
Starting plausible_plausible_events_db_1 ... done
Starting plausible_plausible_db_1 ... done
Starting plausible_mail_1 ... done
Starting plausible_plausible_1 ... done
Le conteneur de l’application ainsi que tous ses conteneurs de messagerie et de base de données de support devraient maintenant être en cours d’exécution. Vous pouvez le vérifier en utilisant la commande curl
pour récupérer la page d’accueil de votre nouveau conteneur Plausible fonctionnant sur localhost:
Output<html><body>You are being <a href="/login">redirected</a>.</body></html>
Si du HTML est affiché dans votre terminal, vous savez que le serveur est opérationnel.
Ensuite, nous allons configurer Nginx pour faire une reverse proxy de Plausible de localhost:8000
vers le public.
Étape 2 — Installation et configuration de Nginx
Mettre en place un serveur web tel que Nginx devant votre serveur Elixir peut améliorer les performances en déchargeant la mise en cache, la compression et le service de fichiers statiques vers un processus plus efficace. Nous allons installer Nginx et le configurer pour faire du proxy inversé des requêtes vers Plausible, ce qui signifie qu’il se chargera de gérer les requêtes de vos utilisateurs vers Plausible et vice versa.
Tout d’abord, actualisez votre liste de paquets, puis installez Nginx à l’aide de apt
:
Autorisez le trafic public vers les ports 80
et 443
(HTTP et HTTPS) en utilisant le profil d’application UFW « Nginx Full »:
OutputRule added
Rule added (v6)
Ensuite, ouvrez un nouveau fichier de configuration Nginx dans le répertoire /etc/nginx/sites-available
. Nous l’appellerons plausible.conf
, mais vous pouvez utiliser un nom différent:
Collez ce qui suit dans le nouveau fichier de configuration, en veillant à remplacer votre_domaine_ici
par le domaine que vous avez configuré pour pointer vers votre serveur Plausible. Cela devrait être quelque chose comme plausible.example.com
, par exemple:
server {
listen 80;
listen [::]:80;
server_name your_domain_here;
access_log /var/log/nginx/plausible.access.log;
error_log /var/log/nginx/plausible.error.log;
location / {
proxy_pass http://localhost:8000;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Cette configuration est uniquement en HTTP pour le moment, car nous laisserons Certbot se charger de configurer SSL à l’étape suivante. Le reste de la configuration met en place les emplacements des journaux, puis transfère tout le trafic vers http://localhost:8000
, l’instance Plausible que nous avons démarrée à l’étape précédente.
Enregistrez et fermez le fichier, puis activez la configuration en le liant dans /etc/nginx/sites-enabled/
:
Utilisez nginx -t
pour vérifier que la syntaxe du fichier de configuration est correcte:
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Et enfin, rechargez le service nginx
pour prendre en compte la nouvelle configuration:
Votre site Plausible devrait désormais être disponible en HTTP simple. Chargez http://votre_domaine_ici
et cela ressemblera à ceci :
Maintenant que votre site est en ligne en HTTP, il est temps de sécuriser la connexion avec Certbot et les certificats Let’s Encrypt.
Étape 3 — Installation de Certbot et Configuration des Certificats SSL
Grâce à Certbot et à l’autorité de certification gratuite Let’s Encrypt, l’ajout du chiffrement SSL à notre application Plausible ne prendra que deux commandes.
Tout d’abord, installez Certbot et son plugin Nginx :
Ensuite, exécutez certbot
en mode --nginx
, et spécifiez le même domaine que celui que vous avez utilisé dans la configuration server_name
de Nginx :
Vous serez invité à accepter les conditions d’utilisation de Let’s Encrypt et à saisir une adresse e-mail.
Ensuite, on vous demandera si vous souhaitez rediriger tout le trafic HTTP vers HTTPS. C’est à vous de décider, mais cela est généralement recommandé et sûr à faire.
Après cela, Let’s Encrypt confirmera votre demande et Certbot téléchargera votre certificat :
OutputCongratulations! You have successfully enabled https://plausible.example.com
You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=plausible.example.com
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/plausible.example.com/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/plausible.example.com/privkey.pem
Your cert will expire on 2022-12-05. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the "certonly" option. To non-interactively renew *all* of
your certificates, run "certbot renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:
Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
Donating to EFF: https://eff.org/donate-le
Certbot rechargera automatiquement Nginx pour prendre en compte la nouvelle configuration et les certificats. Rechargez votre site et il devrait vous basculer automatiquement en HTTPS si vous avez choisi l’option de redirection.
Votre site est désormais sécurisé et il est sûr de vous connecter avec les détails utilisateur par défaut que vous avez configurés à l’étape 1. Vous serez ensuite invité à vérifier votre inscription, et un code de vérification vous sera envoyé par e-mail à l’adresse que vous avez configurée.
Par défaut, cet e-mail est envoyé directement depuis votre serveur, ce qui peut poser des problèmes en raison de diverses mesures de prévention du spam. Si vous ne recevez pas l’e-mail, vérifiez votre dossier de spam. S’il n’est pas là non plus, vous devrez peut-être configurer des détails SMTP plus appropriés dans le fichier plausible-conf.env
. Consultez la documentation officielle de Plausible sur l’auto-hébergement pour plus de détails sur la configuration du courrier.
Lorsque vous vous connectez avec succès, vous verrez une invite pour configurer votre premier site Web avec Plausible:
Vous avez installé et sécurisé avec succès votre logiciel d’analyse Plausible.
Conclusion
Dans ce tutoriel, vous avez lancé l’application Plausible Analytics et ses conteneurs auxiliaires associés en utilisant Docker Compose, puis configuré un proxy inverse Nginx et sécurisé en utilisant des certificats SSL Let’s Encrypt.
Vous êtes maintenant prêt à configurer votre site Web et à ajouter le script de suivi de Plausible Analytics. Veuillez consulter la documentation officielle de Plausible Analytics pour plus d’informations sur l’utilisation du logiciel et la configuration de votre site.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-plausible-analytics-on-ubuntu-22-04