Fathom Analytics est la meilleure alternative à Google Analytics. Il s'agit d'une application d'analyse Web open source qui offre la conformité et la simplicité de la loi sur la confidentialité. Fathom Analytics a un design minimaliste et est écrit en Go et livré sous la forme d'un seul fichier binaire. L'installation de Fathom Analytics est assez simple et directe. Dans ce tutoriel, nous allons vous montrer comment installer Fathom Analytics sur Debian 11 VPS.
Prérequis
VPS Debian 11
Accès racine SSH ou utilisateur système standard avec privilèges sudo
Étape 1. Connectez-vous au serveur
Tout d'abord, connectez-vous à votre serveur Debian 11 via SSH en tant qu'utilisateur root :
ssh root@IP_Address -p Port_number
Vous devrez remplacer 'IP_Address' et 'Port_number' par l'adresse IP et le numéro de port SSH respectifs de votre serveur. De plus, remplacez "root" par le nom d'utilisateur de l'utilisateur système avec les privilèges sudo.
Vous pouvez vérifier si vous avez la bonne version de Debian installée sur votre serveur avec la commande suivante :
# lsb_release -a
Vous devriez obtenir ce résultat :
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye
Étape 2. Ajouter un utilisateur système
Maintenant, ajoutons un nouvel utilisateur système. Un utilisateur du système qui exécutera Fathom, il n'a pas de mot de passe et nous ne pouvons pas l'utiliser pour se connecter au système comme n'importe quel autre utilisateur du système.
# useradd -r -d /opt/fathom -m fathom
En exécutant la commande ci-dessus, un nouvel utilisateur système "fathom" est créé et le répertoire /opt/fathom est également créé.
Étape 3. Installer le serveur de base de données
Fathom Analytics prend en charge PostgreSQL, SQLite3 et MySQL. Par défaut, il utilisera SQLite3, mais dans ce tutoriel, nous allons vous montrer comment installer Fathom avec MySQL/MariDB comme serveur de base de données. Dans cette étape, nous allons installer MariaDB à partir du référentiel Debian 11.
Exécutez cette commande ci-dessous pour installer le serveur MariaDB à partir des dépôts Debian officiels :
# apt install mariadb-server mariadb-client -y
Une fois installé, MariaDB s'exécutera et il est déjà configuré pour s'exécuter après le redémarrage, par défaut.
Ensuite, sécurisons l'installation de MariaDB.
# mysql_secure_installation
En exécutant la commande ci-dessus, vous définirez le mot de passe root de MariaDB, désactiverez la connexion root à distance et supprimerez les utilisateurs anonymes comme indiqué ci-dessous :
Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Étape 4. Créer une base de données
MySQL a maintenant un mot de passe root, donc pour créer une nouvelle base de données, vous devez vous connecter à mysql en utilisant cette commande :
# mysql -u root -p
Vous serez redirigé vers le shell MySQL.
Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 44 Server version: 10.5.12-MariaDB-0+deb11u1 Debian 11 Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]>
Une fois connecté, lançons les commandes suivantes :
MariaDB [(none)]> CREATE DATABASE fathom; Query OK, 1 row affected (0.000 sec) MariaDB [(none)]> CREATE USER 'fathom'@'localhost' IDENTIFIED BY 'm0d1fyth15'; Query OK, 0 rows affected (0.000 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON fathom.* TO 'librenms'@'localhost'; Query OK, 0 rows affected (0.000 sec) MariaDB [(none)]> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.000 sec) MariaDB [(none)]> \q
Assurez-vous de créer un mot de passe fort pour la base de données, remplacez m0d1fyth15 dans la commande ci-dessus par une plus forte.
Étape 5. Télécharger Fathom
Nous allons télécharger la dernière version de Fathom Analytics.
# cd /tmp # wget https://github.com/usefathom/fathom/releases/download/v1.2.1/fathom_1.2.1_linux_amd64.tar.gz
Maintenant, extrayez le fichier téléchargé.
# tar -xzvf fathom_1.2.1_linux_amd64.tar.gz
Ensuite, déplacez le fichier exécutable.
# mv fathom /usr/local/bin/
Exécutez cette commande ci-dessous pour vérifier la version de Fathom que nous avons sur le serveur.
# fathom --version
Vous obtiendrez une sortie comme celle-ci :
Fathom version 1.2.1, commit 8f7c6d2e45ebb28651208e2a7320e29948ecdb2c, built at 2018-11-30T09:21:37Z
Étape 6. Exécutez Fathom
Dans l'étape précédente, nous avons créé un utilisateur système appelé "fathom", et nous utiliserons cet utilisateur pour exécuter Fathom Analytics.
# sudo -u fathom bash
$ cd /opt/fathom
Après être entré dans le répertoire, nous pouvons créer un nouveau fichier d'environnement.
$ nano .env
Collez ce qui suit dans le fichier.
FATHOM_SERVER_ADDR=9000 FATHOM_GZIP=true FATHOM_DEBUG=true FATHOM_DATABASE_DRIVER="mysql" FATHOM_DATABASE_NAME="fathom" FATHOM_DATABASE_USER="fathom" FATHOM_DATABASE_PASSWORD="m0d1fyth15" FATHOM_DATABASE_HOST="localhost" FATHOM_SECRET="your_secret_string_change_it_to_a_sronger_string"
Enregistrez le fichier, quittez, puis exécutez cette commande
$ fathom user add --email="[email protected]" --password="m0d1fyth15"
Remplacez l'adresse e-mail et le mot de passe par vos propres informations d'identification.
C'est la première fois que vous exécutez Fathom avec la base de données configurée. Vous verrez une sortie comme celle-ci :
INFO[0000] Fathom version 1.2.1, commit 8f7c6d2e45ebb28651208e2a7320e29948ecdb2c, built at 2018-11-30T09:21:37Z
INFO[0000] Configuration file: /opt/fathom/.env
INFO[0000] Connected to mysql database: fathom on localhost
INFO[0000] Applied 24 database migrations!
INFO[0000] Created user [email protected]
Maintenant, vous pouvez exécuter Fathom en invoquant cette commande.
$ fathom server
fathom@instance-1:~$ fathom server
INFO[0000] Fathom version 1.2.1, commit 8f7c6d2e45ebb28651208e2a7320e29948ecdb2c, built at 2018-11-30T09:21:37Z
INFO[0000] Configuration file: /opt/fathom/.env
INFO[0000] Connected to mysql database: fathom on localhost
INFO[0000] Server is now listening on :9000
Vous pouvez vérifier Fathom depuis votre autre session SSH avec cette commande ci-dessous :
$ curl localhost:9000
Vous verrez une sortie comme celle-ci :
<!DOCTYPE html> <html class="no-js" lang="en"> <head> <title>Fathom - simple website analytics</title> <link href="assets/css/styles.css?t=1543569696966" rel="stylesheet"> <meta charset="utf-8"> <meta name="referrer" content="no-referrer"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="icon" type="image/png" sizes="32x32" href="assets/img/favicon.png"> </head> <body class="fathom"> <div id="root"></div> <noscript>To use Fathom, please enable JavaScript.</noscript> <script> document.documentElement.className = document.documentElement.className.replace('no-js', ''); </script> <script src="assets/js/script.js?t=1543569696966"></script> </body> </html>
Étape 7. Créer un fichier SystemD
Pour gérer le service Fathom, nous allons créer un fichier d'unité systemd à /etc/systemd/system/fathom.service
.
# nano /etc/systemd/system/fathom.service
Collez ensuite le contenu suivant dans le fichier
[Unit] Description=Fathom Analytics Requires=network.target After=network.target [Service] Type=simple User=fathom Group=fathom Restart=always RestartSec=3 WorkingDirectory=/opt/fathom ExecStart=/usr/local/bin/fathom server [Install] WantedBy=multi-user.target
Enregistrez puis quittez l'éditeur nano.
Exécutez la commande ci-dessous pour recharger la configuration systemd.
# systemctl daemon-reload
Maintenant, vous pouvez exécuter Fathom en utilisant cette commande :
# systemctl start fathom
Fathom est maintenant en cours d'exécution, vous pouvez vérifier l'état.
root@debian11:/opt/fathom# systemctl status fathom ● fathom.service - Fathom Analytics Loaded: loaded (/etc/systemd/system/fathom.service; disabled; vendor preset: enabled) Active: active (running) since Fri 2022-03-11 10:54:19 UTC; 1min 16s ago Main PID: 3577 (fathom) Tasks: 7 (limit: 4694) Memory: 11.2M CPU: 111ms CGroup: /system.slice/fathom.service └─3577 /usr/local/bin/fathom server Mar 11 10:54:19 instance-1 systemd[1]: Started Fathom Analytics. Mar 11 10:54:19 instance-1 fathom[3577]: time="2022-03-11T10:54:19Z" level=info msg="Fathom version 1.2.1, commit 8f7c6d2e45ebb28651208> Mar 11 10:54:19 instance-1 fathom[3577]: time="2022-03-11T10:54:19Z" level=info msg="Configuration file: /opt/fathom/.env" Mar 11 10:54:19 instance-1 fathom[3577]: time="2022-03-11T10:54:19Z" level=info msg="Connected to mysql database: fathom on localhost" Mar 11 10:54:19 instance-1 fathom[3577]: time="2022-03-11T10:54:19Z" level=info msg="Server is now listening on :9000"
Étape 8. Installez nginx
Étant donné que Fathom fonctionne maintenant sur le port 9000 et que nous voulons y accéder en utilisant notre domaine ou sous-domaine, nous pouvons installer un serveur Web en tant que proxy inverse pour Fathom. Dans cette étape, nous allons installer et configurer nginx.
# apt install nginx
Nginx est en cours d'exécution et nous sommes maintenant prêts à le configurer pour agir comme un proxy inverse pour notre projet Fathom Analytics. Créons un bloc de serveur nginx pour Fathom Analytics.
# nano /etc/nginx/conf.d/fathom.conf
Ensuite, ajoutez ces contenus ci-dessous dans le fichier.
server { listen 80; server_name yourdomain.com; location / { proxy_pass http://localhost:9000; proxy_http_version 1.1; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_pass_request_headers on; } location ~ /.well-known { allow all; } }
Avant d'enregistrer le fichier ci-dessus, assurez-vous de remplacer votredomaine.com par votre nom de domaine ou de sous-domaine actuel. Ensuite, recherchez toute erreur et redémarrez nginx pour recharger la nouvelle configuration.
# nginx -t # systemctl restart nginx
Vous devriez pouvoir accéder à votre site Web Fathom Analytics à l'adresse http://yourdomain.com
maintenant.
Étape 9. Installer le certificat SSL
Il s'agit d'une étape facultative mais fortement recommandée. Nous allons installer un certificat SSL gratuit de Let's Encrypt en utilisant certbot.
# apt install python3-certbot-nginx -y
Une fois l'installation terminée, nous pouvons exécuter cette commande pour installer le certificat SSL gratuit.
# certbot
Il vous sera demandé votre adresse e-mail, acceptez les conditions d'utilisation de Let's Encrypt et indiquez si vous souhaitez ou non partager votre adresse e-mail avec l'Electronic Frontier Foundation. Ensuite, vous devez choisir le domaine ou le sous-domaine pour lequel vous souhaitez activer HTTPS.
Choisissez le domaine ou le sous-domaine qui est connecté à votre site Web Fathom en tapant le numéro et appuyez sur ENTRÉE. Let's encrypt installera le certificat et il vous demandera si vous souhaitez configurer la redirection HTTP vers HTTPS ou non, vous pouvez choisir la redirection, puis certbot créera la redirection et rechargera nginx si tout va bien.
Vous devriez maintenant pouvoir accéder à votre site Web Fathom Analytics en mode HTTPS à l'adresse https://yourdomain.com
, vous pouvez poursuivre la création de votre application à l'aide de Fathom.
Félicitations ! Vous avez installé avec succès Fathom Analytics sur votre VPS Debian. Pour plus d'informations sur Fathom Analytics, veuillez consulter le site Web de Fathom Analytics.
Si vous êtes l'un de nos clients d'hébergement Web et que vous utilisez notre hébergement Linux géré, vous n'avez pas besoin d'installer Fathom Analytics sur Debian 11, nos administrateurs Linux installeront et configureront un VPS Fathom Analytics pour vous. Ils sont disponibles 24h/24 et 7j/7 et prendront immédiatement en charge votre demande.
PS. Si vous avez aimé cet article sur l'installation de Fathom Analytics sur Debian 11, partagez-le avec vos amis sur les réseaux sociaux en utilisant les boutons à gauche ou laissez simplement une réponse ci-dessous. Merci.