Introductie
Plausible Analytics is een open-source, zelf-gehoste webanalyse-applicatie geschreven in Elixir die zich richt op eenvoud en privacy. Het slaat gegevens over de bezoekers van uw website op in PostgreSQL- en ClickHouse-databases.
In deze zelfstudie installeert u Plausible met behulp van Docker Compose, vervolgens installeert u Nginx om op te treden als een omgekeerde proxy voor de Plausible-app. Ten slotte schakelt u veilige HTTPS-verbindingen in door Certbot te gebruiken om SSL-certificaten van de Let’s Encrypt Certificate Authority te downloaden en configureren.
Vereisten
Om deze zelfstudie te voltooien, heeft u eerst het volgende nodig:
- Een Ubuntu 22.04-server, met de UFW-firewall ingeschakeld. Lees onze Initiële serverinstellingen met Ubuntu 22.04 om meer te leren over het instellen van deze vereisten
- Docker geïnstalleerd. U kunt Stap 1 van Hoe Docker te installeren en te gebruiken op Ubuntu 22.04 gebruiken om dit te doen. Optioneel kunt u Stap 2 van die tutorial volgen als u wilt dat uw niet-root gebruiker
docker
-opdrachten kan uitvoeren zondersudo
te gebruiken - Docker Compose geïnstalleerd. Volg Stap 1 van Hoe Docker Compose te installeren en te gebruiken op Ubuntu 22.04 om deze software te installeren
Opmerking: Deze voorbereidende stappen kunnen worden overgeslagen als u de One-Click Docker Image van DigitalOcean gebruikt. Deze image heeft Docker, Docker Compose en UFW al geïnstalleerd en geconfigureerd.
Start een nieuwe Docker-image in de regio van uw keuze, log vervolgens in als de root-gebruiker en ga verder met de tutorial. Optioneel kunt u de sudo
-delen van alle opdrachten weglaten, maar dit is niet nodig.
Tenslotte, om SSL in te schakelen, heeft u een domeinnaam nodig die naar het openbare IP-adres van uw server wijst. Dit zou zoiets moeten zijn als example.com
of plausible.example.com
, bijvoorbeeld. Als u DigitalOcean gebruikt, raadpleeg dan onze DNS Quickstart voor informatie over het maken van domeinresources in ons controlepaneel.
Wanneer je aan alle voorwaarden hebt voldaan, ga dan naar Stap 1, waar je de Plausible software zult downloaden en starten.
Stap 1 – Plausible Analytics installeren met Docker Compose
Plausible heeft een Git-opslagplaats gemaakt met alle configuratiebestanden die nodig zijn om de software zelf te hosten. Je eerste stap zal zijn om deze repository te klonen naar je server, twee configuratiebestanden bij te werken, en vervolgens de Plausible app- en databasecontainers te starten.
Log nu in op je server.
Gebruik eerst het cd
-commando om naar de /opt
-directory te navigeren:
Gebruik vervolgens het git
-commando om de repo van GitHub te klonen naar een nieuwe directory binnen /opt
genaamd plausible
:
Dit zal alle benodigde configuratiebestanden naar /opt/plausible
halen. Ga naar de zojuist gecreëerde directory:
Het eerste bestand dat we moeten bewerken is plausible-conf.env
, een bestand met een paar configuratievariabelen die we moeten instellen.
Voordat je het bestand opent om het te bewerken, genereer een nieuwe willekeurige hash:
Dit gebruikt het openssl
-commando om 64 willekeurige karakters te genereren, en het base64
-commando om ze in base64 te encoderen. Kopieer de uitvoer naar je klembord, en open vervolgens het configuratiebestand:
Het bestand bevat vijf variabelen die je moet invullen:
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
Vul het e-mailadres, gebruikersnaam, wachtwoord en basis-URL in, en plak vervolgens de willekeurige tekens die je hebt gegenereerd met openssl
.
Opmerking:Het wachtwoord dat je hier opgeeft moet minstens zes tekens lang zijn. Als je een kaal IP-adres gebruikt en geen domeinnaam, zorg er dan voor dat je het voorafgaand aan http://
plaatst.
Sla het bestand op (CTRL+O
gevolgd door ENTER
in nano
) en sluit de editor af (CTRL+X
).
Je kunt meer configuratieopties aan dit bestand toevoegen, maar deze minimale set zorgt ervoor dat je aan de slag kunt. Meer informatie over het configureren van Plausible via plausible-conf.env
is te vinden in de officiële zelfhostingdocumentatie van Plausible Analytics.
Nu moet je het docker-compose.yml
-bestand bijwerken. Dit bestand wordt gebruikt door het docker-compose
-commando om meerdere Docker-containers te configureren en te starten. We moeten één optie in dit bestand wijzigen: het IP-adres waaraan Plausible is gebonden.
Zoek het gedeelte dat de Plausible-container definieert. Het zal beginnen met plausible:
. Zoek in dat gedeelte de definitie van ports:
en werk deze bij naar het volgende:
ports:
- 127.0.0.1:8000:8000
Dit zorgt ervoor dat Plausible alleen luistert op de localhost-interface en niet openbaar toegankelijk is. Ook al heb je een UFW-firewall ingesteld, vanwege enkele eigenaardigheden in hoe Docker-netwerken werken, zou jouw Plausible-container toegankelijk zijn voor het publiek op poort 8000
als je deze stap niet zou nemen, en we willen alleen dat het toegankelijk is via de Nginx-proxy die je in de volgende stap zult instellen.
Sla het docker-compose.yml
-bestand op en sluit het, gebruik vervolgens docker-compose
om de containers te downloaden, configureren en starten:
De --detach
-vlag vertelt docker-compose
om de containers in de achtergrond te maken, losgekoppeld van onze terminalsessie:
Output. . .
Starting plausible_plausible_events_db_1 ... done
Starting plausible_plausible_db_1 ... done
Starting plausible_mail_1 ... done
Starting plausible_plausible_1 ... done
De app-container en al zijn ondersteunende mail- en databasecontainers moeten nu draaien. Je kunt dit verifiëren door de homepage van jouw nieuwe Plausible-container die op localhost draait op te halen met het curl
-commando:
Output<html><body>You are being <a href="/login">redirected</a>.</body></html>
Als er wat HTML naar jouw terminal wordt uitvoerd, weet je dat de server actief is.
Vervolgens zullen we Nginx opzetten om Plausible van localhost:8000
naar het publiek te omgekeerde proxy.
Stap 2 — Nginx installeren en configureren
Het plaatsen van een webserver zoals Nginx voor je Elixir-server kan de prestaties verbeteren door caching, compressie en het serveren van statische bestanden over te dragen aan een efficiënter proces. We gaan Nginx installeren en configureren om verzoeken naar Plausible om te leiden, wat betekent dat het de verzoeken van je gebruikers naar Plausible zal afhandelen en weer terug.
Als eerste vernieuw je je pakketlijst en installeer je Nginx met apt
:
Sta openbaar verkeer naar poorten 80
en 443
(HTTP en HTTPS) toe met het UFW-toepassingsprofiel “Nginx Full”:
OutputRule added
Rule added (v6)
Vervolgens open je een nieuwe Nginx-configuratiebestand in de map /etc/nginx/sites-available
. We noemen die van ons plausible.conf
, maar je kunt een andere naam gebruiken:
Plak het volgende in het nieuwe configuratiebestand, zorg ervoor dat je je_domein_hier
vervangt door het domein dat je hebt geconfigureerd om naar je Plausible-server te wijzen. Dit zou iets als plausible.example.com
moeten zijn, bijvoorbeeld:
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;
}
}
Deze configuratie is momenteel alleen voor HTTP, omdat we Certbot het instellen van SSL in de volgende stap laten doen. De rest van de configuratie stelt logginglocaties in en stuurt vervolgens al het verkeer door naar http://localhost:8000
, de Plausible-instantie die we in de vorige stap hebben gestart.
Sla het bestand op en sluit het af, en activeer de configuratie door het te linken naar /etc/nginx/sites-enabled/
:
Gebruik nginx -t
om te controleren of de syntaxis van het configuratiebestand correct is:
Outputnginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
En tot slot, herlaad de nginx
-service om de nieuwe configuratie toe te passen:
Je Plausible-site moet nu beschikbaar zijn op gewoon HTTP. Laad http://je_domein_hier
en het zal er zo uitzien:
Nu je site actief is via HTTP, is het tijd om de verbinding te beveiligen met Certbot en Let’s Encrypt-certificaten.
Stap 3 — Certbot installeren en SSL-certificaten instellen
Dankzij Certbot en de gratis certificaatautoriteit van Let’s Encrypt duurt het toevoegen van SSL-encryptie aan onze Plausible-app slechts twee commando’s.
Installeer eerst Certbot en de Nginx-plugin:
Vervolgens voer je certbot
uit in de modus --nginx
en geef je hetzelfde domein op dat je hebt gebruikt in de Nginx server_name
-configuratie:
Je wordt gevraagd om akkoord te gaan met de voorwaarden van Let’s Encrypt en om een e-mailadres in te voeren.
Daarna wordt gevraagd of je al het HTTP-verkeer naar HTTPS wilt omleiden. Het is aan jou, maar dit wordt over het algemeen aanbevolen en veilig om te doen.
Daarna zal Let’s Encrypt je verzoek bevestigen en Certbot zal je certificaat downloaden:
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 zal Nginx automatisch herladen om de nieuwe configuratie en certificaten op te pikken. Vernieuw je site en het zou je automatisch moeten overschakelen naar HTTPS als je de omleidingsoptie hebt gekozen.
Uw site is nu beveiligd en het is veilig om in te loggen met de standaard gebruikersgegevens die u hebt ingesteld in Stap 1. U wordt dan gevraagd om uw registratie te verifiëren, en er wordt een verificatiecode naar het adres gestuurd dat u heeft geconfigureerd.
Standaard wordt deze e-mail rechtstreeks vanaf uw server verzonden, wat problemen kan veroorzaken vanwege verschillende spampreventiemaatregelen. Als u de e-mail niet ontvangt, controleer dan uw spammap. Als het daar ook niet staat, moet u mogelijk meer geschikte SMTP-gegevens instellen in het plausible-conf.env
bestand. Zie de officiële Plausible self-hosting documentatie voor details over e-mailconfiguratie.
Als u succesvol bent ingelogd, ziet u een prompt om uw eerste website in te stellen met Plausible:
U heeft met succes uw Plausible analyse software geïnstalleerd en beveiligd.
Conclusie
In deze handleiding heeft u de Plausible Analytics-app gelanceerd en de bijbehorende hulpcontainers gebruikt met behulp van Docker Compose, vervolgens een Nginx-reverse-proxy ingesteld en beveiligd met behulp van Let’s Encrypt SSL-certificaten.
U bent nu klaar om uw website in te stellen en het Plausible Analytics tracking-script toe te voegen. Raadpleeg de officiële Plausible Analytics-documentatie voor meer informatie over het gebruik van de software en het instellen van uw site.
Source:
https://www.digitalocean.com/community/tutorials/how-to-install-plausible-analytics-on-ubuntu-22-04