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

Repo aktualisieren

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.

install postgresql

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.

check pstgresql

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;

Datenbankbenutzer anlegen

Ü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.

Datenbankbenutzer prüfen

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.

Benutzerberechtigung prüfen

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

Benutzer erstellen

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-Version prüfen

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.

Fathom konfigurieren

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.

Testfadenkreuz

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.

fathom systemd

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

Untiefenhafen

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"

Benutzer erstellen

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

nginx installieren

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

nginx Reverse Proxy

Ü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

nginx prüfen

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.

ufw aktivieren

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

verify ufw hinzufügen

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

certbot installieren

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.

Login-Fathom

Als erstes wirst du aufgefordert, deinen ersten Tracker zu erstellen. Gib den Namen deiner Website ein und klicke auf Website erstellen.

Seite 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.

Tracking-Code

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:

Dashboard

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.

Das könnte dich auch interessieren …