So installierst du Fathom Privacy Focused Web Analytics unter Ubuntu
Fathom ist eine datenschutzfreundliche Webanalysesoftware, die GDPR-konform ist und keine Cookie-Banner benötigt. Sie ist eine Alternative zu Google Analytics, ohne in die Privatsphäre der Nutzer einzudringen und ohne die Besucherdaten zu gefährden.
In diesem Artikel zeigen wir dir, wie du die Fathom Privacy Focused Web Analytics Software auf einem Ubuntu 22.04 Server installierst. Du wirst Fathom mit PostgreSQL und Nginx als Reverse Proxy installieren.
Vorraussetzungen
Um Fathom zu installieren, musst du folgende Voraussetzungen erfüllen:
- Einen Ubuntu 22.04 Server.
- Einen Nicht-Root-Benutzer mit Root-Rechten.
- Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.
Installation des PostgreSQL-Servers
Fathom ist ein Open-Source-Webanalysesystem, das PostgreSQL als Backend-Datenbank verwendet. Um Fathom zu installieren, musst du PostgreSQL installieren und dann eine neue PostgreSQL-Datenbank und einen neuen Benutzer erstellen.
Führe zunächst den folgenden Befehl aus, um deinen Ubuntu-Paketindex zu aktualisieren.
sudo apt update
Dann führst du den folgenden Befehl aus, um den PostgreSQL-Datenbankserver auf deinem Ubuntu-System zu installieren.
sudo apt install postgresql
Gib Y ein, um den Vorgang zu bestätigen.
Nach der Installation wird der Postgresql-Dienst automatisch ausgeführt und aktiviert. Führe den folgenden systemctl-Befehl aus, um zu überprüfen, ob PostgreSQL gestartet ist.
sudo systemctl is-enabled postgresql sudo systemctl status postgresql
In der folgenden Ausgabe kannst du sehen, dass der Postgresql-Dienst aktiviert ist und automatisch gestartet wird, wenn er gestartet wird. Außerdem kannst du sehen, dass der Postgresql-Dienst läuft.
PostgreSQL Datenbank und Benutzer anlegen
Nachdem PostgreSQL installiert ist, erstellen wir eine neue Datenbank und einen neuen Benutzer für die Fathom-Installation.
Melde dich mit dem unten stehenden Befehl als Standardbenutzer postgres bei PostgreSQL an.
sudo -u postgres psql
Sobald du eingeloggt bist, führe die folgenden Abfragen aus, um eine neue PostgreSQL-Datenbank und einen neuen Benutzer zu erstellen. In diesem Beispiel wirst du eine Datenbank fathomdb und einen Benutzer fathom für deine Fathom-Installation erstellen.
CREATE USER fathom WITH CREATEDB CREATEROLE PASSWORD 'password'; CREATE DATABASE fathomdb OWNER fathom;
Überprüfe nun die Liste der verfügbaren Datenbanken und Benutzer mit der folgenden Abfrage. Damit stellst du sicher, dass deine Datenbank und dein Benutzer erstellt wurden.
\du \l
In der folgenden Ausgabe kannst du sehen, dass die Datenbank fathomdb und der Benutzer fathom erstellt wurden. Gib q ein oder drücke Strg+d, um PostgreSQL zu verlassen.
Als nächstes führst du den folgenden Befehl aus, um dich mit der PostgreSQL-Datenbank fathomdb über den Benutzer fathom zu verbinden. Gib dein Passwort ein, wenn du danach gefragt wirst, und bestätige es mit ENTER.
sudo -u postgres psql -U fathom -h 127.0.0.1 -d fathomdb
Sobald du eingeloggt bist, überprüfe deine Verbindung mit der folgenden Abfrage.
\conninfo
Der folgende Screenshot zeigt, dass der Benutzer fathom mit der PostgreSQL-Datenbank fathomdb verbunden ist. Damit kannst du mit der Installation von Fathom fortfahren.
Installation von Fathom auf Ubuntu
Jetzt, da die PostgreSQL-Datenbank bereit ist, beginnst du mit der Installation von Fathom, indem du die folgenden Schritte durchführst:
- Einrichten des Benutzers und Herunterladen von Fathom
- Fathom konfigurieren
- Fathom als Systemd-Dienst starten
Ohne Umschweife, fangen wir an.
Benutzer einrichten und Fathom herunterladen
Als Erstes musst du einen neuen Systembenutzer anlegen, der Fathom ausführen soll. Dann lädst du das Fathom-Binärpaket auf deinen Ubuntu-Rechner herunter.
Um loszulegen, führe den folgenden Befehl aus, um einen neuen Systembenutzer fathom zu erstellen.
sudo useradd -r -d /opt/fathom fathom
Erstelle ein neues Home-Verzeichnis /opt/fathom und ändere die Eigentümerschaft auf den Benutzer und die Gruppe fathom.
sudo mkdir -p /opt/fathom sudo chown -R fathom:fathom /opt/fathom
Als Nächstes lädst du das fathom-Binärpaket mit dem unten stehenden wget-Befehl herunter.
wget https://github.com/usefathom/fathom/releases/download/v1.3.1/fathom_1.3.1_linux_amd64.tar.gz
Nach dem Herunterladen entpackst du die fathom-Binärdatei in das Verzeichnis /usr/local/bin und machst die fathom-Binärdatei ausführbar.
tar -C /usr/local/bin -xzf fathom_1.3.1_linux_amd64.tar.gz chmod +x /usr/local/bin/fathom
Überprüfe abschließend den Speicherort und die Version von fathom, indem du den folgenden Befehl ausführst.
which fathom fathom --version
Fathom 1.3.1 ist unter /usr/local/bin/fathom installiert.
Fathom konfigurieren
Jetzt hast du Fathom heruntergeladen und den erforderlichen Benutzer und das Installationsverzeichnis erstellt. Jetzt geht es an die Konfiguration der Fathom-Installation.
Führe den folgenden Befehl aus, um ein zufälliges Passwortgeheimnis zu generieren. Kopiere das generierte Geheimnis auf deinen Zettel.
head /dev/urandom | tr -dc A-Za-z0-9 | head -c 20 ; echo ''
Wechsle nun in das Verzeichnis /opt/fathom.
cd /opt/fathom
Erstelle mit dem unten stehenden Befehl ein neues Datenverzeichnis und eine .env-Datei.
sudo -u fathom mkdir -p /opt/fathom/data sudo -u fathom touch /opt/fathom/data/.env
Öffne die .env-Datei mit dem folgenden nano-Editor-Befehl.
sudo -u fathom nano /opt/fathom/data/.env
Füge die folgende Konfiguration ein und achte darauf, dass du die Angaben PostgreSQL-Datenbank und FATHOM_SECRET mit deinen Daten änderst.
FATHOM_GZIP=true FATHOM_DEBUG=true FATHOM_DATABASE_DRIVER="postgres" FATHOM_DATABASE_NAME="fathomdb" FATHOM_DATABASE_USER="fathom" FATHOM_DATABASE_PASSWORD="password" FATHOM_DATABASE_HOST="127.0.0.1" FATHOM_DATABASE_SSLMODE="disable" FATHOM_SECRET="qDQ4fawzKOfBAtJ3O4ID"
Speichere und beende die Datei, wenn du fertig bist.
Wechsle nun in das Verzeichnis /opt/fathom/data und starte Fathom mit dem unten stehenden Befehl.
cd /opt/fathom/data sudo -u fathom fathom server
Dadurch wird die Fathom-Datenbank initialisiert und migriert. Wenn dies erfolgreich war, solltest du die Bestätigung erhalten, dass Fathom auf dem Standardport 8080 läuft. Du kannst jetzt Strg+c drücken, um den Fathom-Prozess zu beenden.
Fathom als Systemd-Dienst ausführen
Jetzt, wo du Fathom konfiguriert hast, kannst du es erfolgreich über die Kommandozeile ausführen. Um die Verwaltung von Fathom zu vereinfachen, können wir es als Systemd-Dienst ausführen. So kannst du Fathom über systemctl verwalten.
Führe den folgenden Befehl im Editor nano aus, um eine neue systemd-Dienstdatei /etc/systemd/system/fathom.service zu erstellen.
sudo nano /etc/systemd/system/fathom.service
Füge die folgende Konfiguration in die Datei ein. Wie unten zu sehen ist, wird der fathom-Dienst unter dem Benutzer `fathom` mit dem Standardarbeitsverzeichnis /opt/fathom/data ausgeführt.
[Unit] Description=Starts the fathom server Requires=network.target After=network.target [Service] Type=simple User=fathom Restart=always RestartSec=3 WorkingDirectory=/opt/fathom/data ExecStart=/usr/local/bin/fathom server [Install] WantedBy=multi-user.target
Speichere und beende den Editor, wenn du fertig bist.
Führe nun den folgenden Befehl aus, um den systemd Manager neu zu laden.
sudo systemctl daemon-reload
Sobald er neu geladen ist, starte und aktiviere den Fathom-Dienst mit dem folgenden Befehl. Damit sollte Fathom im Hintergrund laufen und wird beim Booten automatisch ausgeführt.
sudo systemctl start fathom sudo systemctl enable fathom
Führe den folgenden Befehl aus, um den Fathom-Dienst zu überprüfen.
sudo systemctl status fathom
Wenn deine Konfiguration erfolgreich war, solltest du den Fathom-Dienst im Status running sehen.
Führe schließlich den folgenden Befehl aus, um Fathom über offene Ports zu überprüfen. Fathom läuft auf deinem Ubuntu-Rechner auf dem Standard-Port 8080.
ss -tulpn | grep fathom
Fathom-Benutzer anlegen
Jetzt, wo Fathom läuft, musst du den ersten Benutzer für deine Fathom-Installation anlegen.
Wechsle in das Verzeichnis /opt/fathom/data.
cd /opt/fathom/data
Führe den unten stehenden fathom-Befehl aus, um einen Fathom-Benutzer anzulegen. In diesem Beispiel wirst du einen neuen Benutzer bob mit dem Passwort password anlegen.
sudo -u fathom fathom user add --email="bob@hwdomain.io" --password="password"
Installieren und Konfigurieren von Nginx als Reverse Proxy
In dieser Anleitung wirst du Fathom mit Nginx als Reverse Proxy betreiben. Installiere Nginx und erstelle eine neue Serverblock-Konfiguration für Fathom.
Führe den folgenden apt-Befehl aus, um Nginx auf deinem Ubuntu-Server zu installieren.
sudo apt install nginx -y
Sobald die Installation abgeschlossen ist, erstelle mit dem Editor nano eine neue Serverblockkonfiguration /etc/nginx/sites-available/fathom.
sudo nano /etc/nginx/sites-available/fathom
Füge die folgende Konfiguration ein und achte darauf, dass du den Domainnamen in der Zeile server_name änderst.
server { listen 80; server_name fathom.hwdomain.io; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://127.0.0.1:8080; } }
Speichere und beende die Datei, wenn du fertig bist.
Führe nun den folgenden Befehl aus, um die Server-Block-Konfiguration /etc/nginx/sites-available/fathom zu aktivieren und überprüfe insgesamt deine Nginx-Syntax.
sudo ln -s /etc/nginx/sites-available/fathom /etc/nginx/sites-enabled/ sudo nginx -t
Wenn kein Fehler auftritt, solltest du die Ausgabe„syntax is ok – test is successful“ erhalten.
Führe nun den Befehl systemctl aus, um den Nginx-Dienst neu zu starten und die Änderungen zu übernehmen.
sudo systemctl restart nginx
Überprüfe abschließend den Status des Nginx-Dienstes mit dem unten stehenden Befehl. Vergewissere dich, dass Nginx aktiv ist (läuft) und auf deinem Ubuntu-Server aktiviert ist.
sudo systemctl is-enabled nginx sudo systemctl status nginx
Fathom mit UFW absichern
Nachdem wir Nginx konfiguriert haben, müssen wir UFW konfigurieren und sowohl HTTP- als auch HTTPS-Ports öffnen, um den Zugriff auf die Fathom-Installation zu ermöglichen.
Führe den folgenden Befehl aus, um das OpenSSH-Anwendungsprofil zu UFW hinzuzufügen. Starte dann UFW und aktiviere es.
sudo ufw allow OpenSSH sudo ufw enable
Gib y ein, um fortzufahren und UFW wird beim Booten automatisch gestartet und ausgeführt.
Führe nun den folgenden Befehl aus, um das Anwendungsprofil„Nginx Full“ hinzuzufügen. Dadurch werden sowohl HTTP- als auch HTTPS-Protokolle auf deinem Ubuntu-System geöffnet.
sudo ufw allow 'Nginx Full'
Überprüfe die Liste der Ports auf der UFW mit dem unten stehenden Befehl. Stelle sicher, dass die Profile OpenSSH und„Nginx Full“ auf der UFW aktiviert sind.
sudo ufw status
Aktiviere HTTPS über Certbot
In diesem Stadium wird auf deine Fathom-Installation von außerhalb des Netzwerks zugegriffen, aber immer noch im HTTP-Modus. Um deine Installation zu sichern, musst du HTTPS in der Nginx-Serverblockkonfiguration aktivieren.
In diesem Beispiel wirst du HTTPS über Certbot und Letsencrypt aktivieren. Achte also darauf, dass dein Domainname auf die IP-Adresse des Ubuntu-Servers zeigt.
Führe den folgenden apt-Befehl aus, um die Pakete Certbot und python3-certbot-nginx auf deinem Ubuntu zu installieren. Gib y ein und fahre fort.
sudo apt install certbot python3-certbot-nginx -y
Sobald die Installation abgeschlossen ist, erstellst du neue SSL/TLS-Zertifikate, indem du den folgenden Certbot-Befehl ausführst. Achte darauf, dass du die Details des Domainnamens und der E-Mail-Adresse mit deinen Daten änderst.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email bob@hwdomain.io -d fathom.hwdomain.io
Sobald der Vorgang abgeschlossen ist, werden deine SSL-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com erstellt. Außerdem wird dein Nginx Serverblock automatisch mit HTTPS konfiguriert, was durch das Nginx Certbot Plugin geschieht.
Zugriff auf die Fathom-Installation
Rufe mit deinem Webbrowser den Domainnamen deiner Fathom-Installation auf (z.B.: https://fathom.hwdomain.io/). Wenn deine Installation erfolgreich war, wird die Fathom-Login-Seite angezeigt.
Melde dich mit deinem Benutzernamen und deinem Passwort an, die du erstellt hast, und bestätige dann mit Anmelden.
Als erstes wirst du aufgefordert, deinen ersten Tracker zu erstellen. Gib den Namen deiner Website ein und klicke auf Website erstellen.
Jetzt siehst du den generierten JavaScript-Tracking-Code für deine Website. Kopiere den Code in deinen Code-Editor und füge ihn auf deiner Zielseite ein.
Du kannst jetzt auf die Schaltfläche Website aktualisieren klicken, um fortzufahren, und außerhalb des Pop-up-Fensters auf das Fathom-Analytic-Dashboard klicken, wie in der folgenden Abbildung zu sehen:
Fazit
Herzlichen Glückwunsch! Du hast nun Fathom Web Analytics auf dem Ubuntu-Server installiert. Du hast Fathom mit dem PostgreSQL-Datenbankserver installiert und Nginx als Reverse Proxy konfiguriert. Außerdem hast du Fathom mit HTTPS über Letsencrypt abgesichert und UFW so konfiguriert, dass sowohl HTTP- als auch HTTPS-Ports geöffnet werden.