Einführung
Plausible Analytics ist eine Open-Source, selbstgehostete Webanalysenanwendung, die in Elixir geschrieben wurde und sich auf Einfachheit und Datenschutz konzentriert. Sie speichert Daten über die Besucher Ihrer Website in PostgreSQL- und ClickHouse-Datenbanken.
In diesem Tutorial werden Sie Plausible mithilfe von Docker Compose installieren und anschließend Nginx installieren, um als Reverse-Proxy für die Plausible-App zu fungieren. Schließlich werden Sie sichere HTTPS-Verbindungen aktivieren, indem Sie Certbot verwenden, um SSL-Zertifikate von der Zertifizierungsstelle Let’s Encrypt herunterzuladen und zu konfigurieren.
Voraussetzungen
Um dieses Tutorial abzuschließen, benötigen Sie zunächst Folgendes:
- Einen Ubuntu 22.04-Server mit der UFW-Firewall aktiviert. Bitte lesen Sie unser Anfangseinrichtung des Servers mit Ubuntu 22.04, um mehr über die Einrichtung dieser Anforderungen zu erfahren.
- Docker installiert. Sie können Schritt 1 von Anleitung zur Installation und Verwendung von Docker unter Ubuntu 22.04 verwenden, um dies zu erledigen. Optional können Sie Schritt 2 dieses Tutorials befolgen, wenn Sie möchten, dass Ihr nicht-root-Benutzer
docker
-Befehle ohnesudo
ausführen kann - Docker Compose installiert. Befolgen Sie Schritt 1 von Anleitung zur Installation und Verwendung von Docker Compose unter Ubuntu 22.04, um diese Software zu installieren
Hinweis: Diese vorbereitenden Schritte können übersprungen werden, wenn Sie das One-Click-Docker-Image von DigitalOcean verwenden. Dieses Image enthält bereits Docker, Docker Compose und UFW, die bereits installiert und konfiguriert sind.
Starten Sie ein neues Docker-Image in der Region Ihrer Wahl, melden Sie sich dann als root-Benutzer an und fahren Sie mit dem Tutorial fort. Optional könnten Sie die sudo
-Teile aller Befehle weglassen, aber es ist nicht notwendig.
Zum Schluss müssen Sie SSL aktivieren, indem Sie einen Domainnamen auf die öffentliche IP-Adresse Ihres Servers verweisen. Dies könnte beispielsweise beispiel.com
oder plausible.beispiel.com
sein. Wenn Sie DigitalOcean verwenden, finden Sie in unserem DNS-Quickstart Informationen zur Erstellung von Domain-Ressourcen in unserem Kontrollpanel.
Wenn Sie alle Voraussetzungen erfüllt haben, fahren Sie mit Schritt 1 fort, wo Sie die Plausible-Software herunterladen und starten.
Schritt 1 – Installation von Plausible Analytics mit Docker Compose
Plausible hat ein Git-Repository mit allen benötigten Konfigurationsdateien erstellt, um die Software selbst zu hosten. Ihr erster Schritt besteht darin, dieses Repository auf Ihrem Server zu klonen, zwei Konfigurationsdateien zu aktualisieren und dann die Plausible-App- und Datenbankcontainer zu starten.
Melden Sie sich jetzt auf Ihrem Server an.
Verwenden Sie zuerst das cd
-Befehl, um in das Verzeichnis /opt
zu navigieren:
Verwenden Sie dann den git
-Befehl, um das Repository von GitHub in ein neues Verzeichnis namens plausible
innerhalb von /opt
zu klonen:
Dadurch werden alle erforderlichen Konfigurationsdateien in /opt/plausible
gezogen. Wechseln Sie in das neu erstellte Verzeichnis:
Die erste Datei, die wir bearbeiten müssen, ist plausible-conf.env
, eine Datei, die einige Konfigurationsvariablen enthält, die wir setzen müssen.
Bevor Sie die Datei öffnen, um sie zu bearbeiten, generieren Sie einen neuen zufälligen Hash:
Dies verwendet den openssl
-Befehl, um 64 zufällige Zeichen zu generieren, und den base64
-Befehl, um sie in Base64 zu kodieren. Kopieren Sie die Ausgabe in die Zwischenablage und öffnen Sie dann die Konfigurationsdatei:
Die Datei enthält fünf Variablen, die du ausfüllen musst:
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
Fülle die E-Mail, den Benutzernamen, das Passwort und die Basis-URL aus und füge dann die zufällig generierten Zeichen ein, die du mit openssl
erstellt hast.
Hinweis: Das hier angegebene Passwort muss mindestens sechs Zeichen lang sein. Wenn du eine nackte IP-Adresse und nicht einen Domainnamen verwendest, stelle sicher, dass sie mit http://
beginnt.
Speichere die Datei (STRG+O
und dann ENTER
in nano
) und schließe deinen Editor (STRG+X
).
Es gibt weitere Konfigurationsoptionen, die du dieser Datei hinzufügen kannst, aber dieser minimale Satz wird dir helfen, schnell startklar zu sein. Weitere Informationen zur Konfiguration von Plausible über die Datei plausible-conf.env
findest du in der offiziellen Plausible Analytics Self-Hosting-Dokumentation.
Jetzt musst du die Datei docker-compose.yml
aktualisieren. Diese Datei wird von dem Befehl docker-compose
verwendet, um mehrere Docker-Container zu konfigurieren und zu starten. Wir müssen eine Option in dieser Datei ändern: die IP, an die Plausible gebunden ist.
Finde den Abschnitt, der den Plausible-Container definiert. Er beginnt mit plausible:
. In diesem Abschnitt suche die Definition von ports:
und aktualisiere sie wie folgt:
ports:
- 127.0.0.1:8000:8000
Dies stellt sicher, dass Plausible nur auf der localhost-Schnittstelle lauscht und nicht öffentlich verfügbar ist. Auch wenn Sie eine UFW-Firewall eingerichtet haben, aufgrund einiger Eigenheiten der Docker-Netzwerkkonfiguration wäre Ihr Plausible-Container ohne diesen Schritt über den Port 8000
öffentlich zugänglich, und wir möchten nur, dass er über den Nginx-Proxy erreichbar ist, den Sie im nächsten Schritt einrichten werden.
Speichern und schließen Sie die Datei docker-compose.yml
, und verwenden Sie dann docker-compose
, um die Container herunterzuladen, zu konfigurieren und zu starten:
Der --detach
-Flag teilt docker-compose
mit, die Container im Hintergrund zu erstellen, getrennt von unserer Terminalsession:
Output. . .
Starting plausible_plausible_events_db_1 ... done
Starting plausible_plausible_db_1 ... done
Starting plausible_mail_1 ... done
Starting plausible_plausible_1 ... done
Der App-Container und alle seine unterstützenden Mail- und Datenbankcontainer sollten nun ausgeführt werden. Sie können dies überprüfen, indem Sie den curl
-Befehl verwenden, um die Homepage Ihres neuen Plausible-Containers auf localhost abzurufen:
Output<html><body>You are being <a href="/login">redirected</a>.</body></html>
Wenn einige HTML-Inhalte auf Ihrem Terminal ausgegeben werden, wissen Sie, dass der Server aktiv und einsatzbereit ist.
Als nächstes richten wir Nginx ein, um Plausible von localhost:8000
öffentlich zu reversen Proxy.
Schritt 2 – Installation und Konfiguration von Nginx
Das Platzieren eines Web-Servers wie Nginx vor Ihrem Elixir-Server kann die Leistung verbessern, indem Caching, Kompression und das Bereitstellen statischer Dateien an einen effizienteren Prozess ausgelagert werden. Wir werden Nginx installieren und konfigurieren, um Anfragen an Plausible zu reverse proxy, was bedeutet, dass es sich um die Weiterleitung von Anfragen Ihrer Benutzer an Plausible und zurück kümmern wird.
Zuerst aktualisieren Sie Ihre Paketliste und installieren dann Nginx mit apt
:
Erlauben Sie öffentlichen Traffic auf den Ports 80
und 443
(HTTP und HTTPS) unter Verwendung des „Nginx Full“ UFW-Anwendungsprofils:
OutputRule added
Rule added (v6)
Öffnen Sie als nächstes eine neue Nginx-Konfigurationsdatei im Verzeichnis /etc/nginx/sites-available
. Wir nennen unsere plausible.conf
, aber Sie könnten auch einen anderen Namen verwenden:
Fügen Sie folgendes in die neue Konfigurationsdatei ein und ersetzen Sie dabei Ihre_Domain_hier
durch die Domain, die Sie auf Ihren Plausible-Server umgeleitet haben. Dies könnte beispielsweise plausible.beispiel.com
sein:
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;
}
}
Diese Konfiguration ist vorerst nur für HTTP, da wir Certbot im nächsten Schritt die Konfiguration von SSL überlassen werden. Der Rest der Konfiguration legt die Logging-Standorte fest und leitet dann den gesamten Traffic an http://localhost:8000
weiter, die Plausible-Instanz, die wir im vorherigen Schritt gestartet haben.
Speichern und schließen Sie die Datei und aktivieren Sie die Konfiguration, indem Sie sie in /etc/nginx/sites-enabled/
verlinken:
Verwenden Sie nginx -t
, um zu überprüfen, ob die Syntax der Konfigurationsdatei korrekt ist:
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Und schließlich, laden Sie den nginx
-Dienst neu, um die neue Konfiguration zu übernehmen:
Ihre plausible Website sollte jetzt über einfaches HTTP verfügbar sein. Laden Sie http://ihre_domain_hier
und es wird so aussehen:
Jetzt, da Ihre Website über HTTP läuft, ist es an der Zeit, die Verbindung mit Certbot und Let’s Encrypt-Zertifikaten zu sichern.
Schritt 3 – Certbot installieren und SSL-Zertifikate einrichten
Dank Certbot und der kostenfreien Zertifizierungsstelle Let’s Encrypt dauert es nur zwei Befehle, um die SSL-Verschlüsselung für unsere Plausible-App hinzuzufügen.
Zuerst installieren Sie Certbot und sein Nginx-Plugin:
Anschließend führen Sie certbot
im --nginx
-Modus aus und geben die gleiche Domain an, die Sie in der Nginx-server_name
-Konfiguration verwendet haben:
Sie werden aufgefordert, den Nutzungsbedingungen von Let’s Encrypt zuzustimmen und eine E-Mail-Adresse einzugeben.
Danach werden Sie gefragt, ob Sie den gesamten HTTP-Verkehr auf HTTPS umleiten möchten. Es liegt bei Ihnen, aber dies wird im Allgemeinen empfohlen und ist sicher durchzuführen.
Anschließend wird Let’s Encrypt Ihre Anfrage bestätigen und Certbot wird Ihr Zertifikat herunterladen:
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 wird Nginx automatisch neu laden, um die neue Konfiguration und Zertifikate zu übernehmen. Laden Sie Ihre Website neu und sie sollte Sie automatisch auf HTTPS umleiten, wenn Sie die Umleitungs-Option gewählt haben.
Ihre Website ist jetzt sicher, und es ist sicher, sich mit den Standardbenutzerdaten einzuloggen, die Sie in Schritt 1 eingerichtet haben. Sie werden dann aufgefordert, Ihre Registrierung zu bestätigen, und ein Bestätigungscode wird an die von Ihnen konfigurierte E-Mail-Adresse gesendet.
Standardmäßig wird diese E-Mail direkt von Ihrem Server gesendet, was aufgrund verschiedener Spam-Präventionsmaßnahmen zu Problemen führen kann. Wenn Sie die E-Mail nicht erhalten, überprüfen Sie Ihren Spam-Ordner. Wenn sie auch dort nicht ist, müssen Sie möglicherweise geeignetere SMTP-Daten in der Datei plausible-conf.env
einrichten. Siehe die offizielle Plausible Self-Hosting-Dokumentation für Details zur Mail-Konfiguration.
Wenn Sie sich erfolgreich angemeldet haben, sehen Sie eine Aufforderung, Ihre erste Website mit Plausible einzurichten:
Sie haben Ihre Plausible-Analytics-Software erfolgreich installiert und gesichert.
Schlussfolgerung
In diesem Tutorial haben Sie die Plausible Analytics-App und ihre zugehörigen Hilfscontainer mithilfe von Docker Compose gestartet, dann einen Nginx-Reverse-Proxy eingerichtet und ihn mithilfe von Let’s Encrypt SSL-Zertifikaten gesichert.
Sie sind nun bereit, Ihre Website einzurichten und das Plausible-Analytics-Tracking-Skript hinzuzufügen. Bitte beachten Sie die offizielle Plausible Analytics-Dokumentation für weitere Informationen zur Verwendung der Software und zur Einrichtung Ihrer Website.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-plausible-analytics-on-ubuntu-22-04