Wie installiere ich Umami Privacy Analytics auf Ubuntu 24.04

Umami ist eine kostenlose und quelloffene Webanalyseplattform, die in Nodejs geschrieben wurde. Sie ist einfach zu benutzen und zu installieren und bietet eine benutzerfreundliche Oberfläche. Sie basiert auf dem Datenschutz und ist eine Alternative zu Diensten wie Google Analytics. Mit Nodejs kannst du deine Webanalyse auf deinem Server mit deiner eigenen Datenbank betreiben, z. B. mit PostgreSQL oder MySQL.

In dieser Anleitung erfährst du, wie du Umami Privacy-focused Analytics auf dem Ubuntu 24.04 Server installierst.

Voraussetzungen

Um diesen Leitfaden zu lesen, musst du Folgendes haben

  • Einen Ubuntu 24.04 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Einen Domainnamen, der auf eine Server-IP-Adresse zeigt.

Installieren der Abhängigkeiten

Umami ist eine auf Datenschutz ausgerichtete Webanalyse, die in JavaScript und Node.js geschrieben wurde. Es unterstützt MySQL/MariaDB und PostgreSQL als Datenbank. In diesem Abschnitt installierst du die Abhängigkeiten für Umami, einschließlich Node.js, NPM, PostgreSQL, Apache Webserver und Git.

Führe zunächst den folgenden Befehl aus, um deine Ubuntu-Paketliste zu aktualisieren.

sudo apt update

Führe nun den folgenden Befehl aus, um Abhängigkeiten wie Node.js, NPM, Python, Git und PostgreSQL zu installieren. Gib Y ein, um die Installation zu bestätigen.

sudo apt install nodejs npm git apache2 postgresql

Abhängigkeiten installieren

Nachdem die Installation abgeschlossen ist, überprüfe den Apache-Dienst mit folgendem Befehl.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

Im Folgenden siehst du, dass Apache läuft und aktiviert ist.

apache2 prüfen

Überprüfe nun den PostgreSQL-Server mit dem folgenden Befehl.

sudo systemctl is-enabled postgresql
sudo systemctl status postgresql

Du wirst den PostgreSQL-Dienst enabled und active(exited) sehen.

postgresql prüfen

Überprüfe schließlich die Node.js- und NPM-Version mit dem folgenden Befehl:

nodejs –version
npm –version

Du kannst sehen, dass Node.js 18.19 und NPM 9.2 installiert sind.

node.js prüfen

Einrichten der PostgreSQL-Datenbank und des Benutzers

Nachdem du die Abhängigkeiten installiert hast, erstellst du eine neue PostgreSQL-Datenbank und einen neuen Benutzer für Umami. Du verwendest die psql PostgreSQL-Shell, um eine neue Datenbank und einen neuen Benutzer zu erstellen.

Melde dich mit dem folgenden Befehl am PostgreSQL-Server an:

sudo -u postgres psql

Führe nun die folgenden Abfragen aus, um einen neuen Benutzer umami und die Datenbank umamidb zu erstellen. Achte darauf, dass du das folgende Passwort mit deinen Daten änderst.

CREATE ROLE umami LOGIN ENCRYPTED PASSWORD ‚password‘;
CREATE DATABASE umamidb OWNER=umami;

Datenbank und Benutzer anlegen

Als nächstes überprüfst du die Liste der verfügbaren Datenbanken und Benutzer mit den folgenden Abfragen. Du wirst sehen, dass der Benutzer umami mit der Datenbank umamidb auf deinem PostgreSQL-Server verfügbar ist.

\du
\l

Zum Schluss gibst du q ein, um den PostgreSQL-Server zu verlassen.

Datenbank und Benutzer auflisten

Installation von umami

In diesem Abschnitt installierst du den yarn Paketmanager, lädst den Umami-Quellcode herunter und installierst die JavaScript-Abhängigkeiten mit yarn. Anschließend erstellst und startest du Umami von der Kommandozeile aus.

Führe den folgenden Befehl aus, um den yarn Paketmanager zu installieren.

npm install -g yarn

Erstelle einen neuen Systembenutzer und die Gruppe umami mit dem folgenden Befehl.

sudo adduser –system –group –no-create-home –shell /sbin/nologin umami

Führe nun den folgenden Befehl git aus, um den Umami-Quellcode in das Verzeichnis /var/www/umami herunterzuladen und dort hineinzugehen.

git clone https://github.com/umami-software/umami.git /var/www/umami
cd /var/www/umami

Als Nächstes führst du den Befehl yarn aus, um die JavaScript-Abhängigkeiten für Umami zu installieren.

yarn install

Unten siehst du die Installation der JavaScript-Abhängigkeiten für Umami.

Abhängigkeiten installieren

Erstelle nun eine neue .env Datei mit dem folgenden nano Editor.

nano .env

Füge das Folgende hinzu, um PostgreSQL als Umami-Datenbank einzurichten.

DATABASE_URL=postgresql://umami:StrongPasswordUmami@localhost:5432/umamidb

Speichere und beende die Datei, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um Umami zu bauen.

yarn build

Garn bauen

Starte Umami anschließend mit folgendem Befehl – dadurch wird Umami auf Port 3000 gestartet:

yarn start

start umami

Öffne deinen Webbrowser und besuche http://SERVER-IP:3000/. Wenn deine Installation erfolgreich war, siehst du den Umami-Login wie folgt:

Gehe zurück zum Terminalserver und drücke Ctrl+c, um den Prozess zu beenden.

Login-Seite

Zum Schluss führst du den folgenden Befehl aus, um den Eigentümer des Verzeichnisses /var/www/umami auf den Benutzer umami zu ändern.

sudo chown -R umami:umami /var/www/umami

Umami als systemd-Dienst ausführen

In dieser Anleitung wirst du Umami als systemd Dienst im Hintergrund laufen lassen. Deshalb erstellst du jetzt eine neue Servicedatei für Umami.

Erstelle eine neue systemd-Dienstdatei /etc/systemd/system/umami.service mit dem folgenden nano Editor-Befehl.

sudo nano /etc/systemd/system/umami.service

Füge die unten stehende Konfiguration in die Datei ein.

[Unit]
Description=Umami Website Analytics
After=network.target postgresql.service

[Service]
Type=simple
ExecStart=/usr/bin/npm start
Restart=always
# Consider creating a dedicated user for umami here:
User=umami
Group=umami
#Environment=NODE_ENV=production
WorkingDirectory=/var/www/umami

[Install]
WantedBy=multi-user.target

Wenn du fertig bist, speichere die Datei und beende sie.

Führe nun den folgenden Befehl aus, um den systemd Manager neu zu laden und den neuen Dienst umami.service anzuwenden.

sudo systemctl daemon-reload

systemd umami

Zum Schluss führst du den folgenden Befehl aus, um den umami.service Status zu starten, zu aktivieren und zu überprüfen.

sudo systemctl enable –now umami
sudo systemctl status umami

Wie du unten sehen kannst, ist umami.service aktiviert und läuft. Und standardmäßig läuft er auf Port 3000.

Status prüfen

Apache als Reverse Proxy einrichten

Jetzt, wo Umami im Hintergrund läuft, kannst du Apache als Reverse Proxy für Umami einrichten.

Führe zunächst den folgenden Befehl aus, um die Apache-Module zu aktivieren, die als Reverse Proxy verwendet werden sollen.

sudo a2enmod proxy proxy_http ssl rewrite headers

Apache-Module

Erstelle nun eine neue Apache Virtual Host Datei /etc/apache2/sites-available/umami.conf mit dem nano Editor.

sudo nano /etc/apache2/sites-available/umami.conf

Füge die unten stehende Konfiguration hinzu und achte darauf, dass du die Option ServerName durch deinen Domainnamen ersetzt.

<VirtualHost *:80>
  ServerName analytics.hwdomain.io

  Options -Indexes
  ProxyRequests on

  ProxyPass / http://localhost:3000/
  ProxyPassReverse / http://localhost:3000/
</VirtualHost>

Speichere und beende die Datei, wenn du fertig bist.

Als Nächstes führst du den unten stehenden Befehl aus, um die virtuelle Hostdatei umami.conf zu aktivieren und deine Apache-Syntax zu überprüfen. Wenn du die richtige Syntax hast, siehst du eine Ausgabe Syntax is OK.

sudo a2ensite umami.conf
sudo apachectl configtest

Starte abschließend den Apache Webserver neu, um deine Änderungen zu übernehmen, indem du den folgenden Befehl ausführst.

sudo systemctl restart apache2

Apache einrichten

UFW einrichten

Bevor du UFW einrichtest, solltest du sicherstellen, dass es funktioniert. In diesem Abschnitt aktivierst du das Profil Apache Full, um HTTP- und HTTPS-Zugang zu ermöglichen.

Führe den folgenden Befehl aus, um HTTP- und HTTPS-Ports über das UFW-Profil Apache Full zu öffnen.

sudo ufw allow ‚Apache Full‘

Lade nun UFW neu und überprüfe seinen Status mit dem unten stehenden Befehl. Du wirst sehen, dass UFW active ist und das Profil Apache Full aktiviert ist.

sudo ufw status

Umami mit HTTPS absichern

Um Umami zu sichern, wirst du HTTPS verwenden. In diesem Abschnitt erstellst du SSL/TLS-Zertifikate mit letsencrypt. Lokale Domänenbenutzer können selbstsignierte Zertifikate verwenden.

Installiere certbot und python3-certbot-apache mit dem unten stehenden Befehl. Gib Y ein, um die Installation zu bestätigen.

sudo apt install certbot python3-certbot-apache

Führe nun den unten stehenden Befehl certbot aus, um SSL/TLS-Zertifikate für Umami zu erzeugen. Achte darauf, dass du den Domänennamen und die E-Mail-Adresse mit deinen Daten änderst.

sudo certbot –apache –agree-tos –no-eff-email –redirect –hsts –staple-ocsp –email alice@hwdomain.io -d analytics.hwdomain.io

Nachdem der Vorgang abgeschlossen ist, sind deine SSL-Zertifikate im Verzeichnis /etc/letsencrypt/live/domain.com verfügbar und deine Umami-Installation sollte mit HTTPS gesichert sein.

Zugriff auf Umami

Öffne deinen Webbrowser und besuche https://analytics.hwdomain.io/, um auf deine Umami-Installation zuzugreifen. Melde dich mit dem Standardbenutzer admin und dem Passwort umami an.

Anmeldung

Wenn du erfolgreich bist, siehst du das Umami Dashboard wie folgt:

Dashboard

Um neue Analysen für deine Websites hinzuzufügen, klicke auf die Schaltfläche Websites > Websites hinzufügen. Um das Standardpasswort zu ändern, klickst du auf Einstellungen > Benutzer > Bearbeiten.

Fazit

Herzlichen Glückwunsch! Du hast die datenschutzorientierte Analysefunktion von Umami auf dem Ubuntu 24.04 Server installiert. Umami läuft mit dem PostgreSQL Server und Apache als Reverse Proxy. Außerdem hast du Umami mit HTTPS über certbot und letsencrypt abgesichert.

Das könnte dich auch interessieren …