Feature/analytics uptime dashboard #6
@@ -39,8 +39,8 @@ Deze secrets heten `PI_MAIN_*` (niet `PI_TEST_*`), omdat dezelfde Pi (Pi Main) e
|
|||||||
|
|
||||||
## Eenmalige Setup — nginx & SSL op de Raspberry Pi's
|
## Eenmalige Setup — nginx & SSL op de Raspberry Pi's
|
||||||
1. Kopieer `operations/deployment/nginx/webserver-nginx.conf.example` naar `/etc/nginx/sites-available/` op de webserver-Pi, maak een symlink in `sites-enabled/`, en herlaad nginx. Dit bestand is de daadwerkelijk in gebruik zijnde configuratie (`server_name test.slpsoftware.nl`, luistert op poort 80, serveert vanaf `/mnt/storage1/www/html/test/slpsoftware`).
|
1. Kopieer `operations/deployment/nginx/webserver-nginx.conf.example` naar `/etc/nginx/sites-available/` op de webserver-Pi, maak een symlink in `sites-enabled/`, en herlaad nginx. Dit bestand is de daadwerkelijk in gebruik zijnde configuratie (`server_name test.slpsoftware.nl`, luistert op poort 80, serveert vanaf `/mnt/storage1/www/html/test/slpsoftware`).
|
||||||
2. Kopieer `operations/deployment/nginx/reverse-proxy-nginx.conf.example` naar `/etc/nginx/sites-available/slpsoftware-test.conf` op de reverse-proxy-Pi, maak een symlink in `sites-enabled/`, en herlaad nginx. Ook dit bestand is de daadwerkelijk in gebruik zijnde (door certbot beheerde) configuratie, met `server_name test.slpsoftware.nl`.
|
2. Kopieer `operations/deployment/nginx/reverse-proxy-nginx.conf.example` naar `/etc/nginx/sites-available/slpsoftware-test.conf` op de reverse-proxy-Pi, maak een symlink in `sites-enabled/`, en herlaad nginx. Dit is de versie van vóór certbot (alleen poort 80, geen SSL), met `server_name test.slpsoftware.nl`.
|
||||||
3. Vraag op de reverse-proxy-Pi een SSL-certificaat aan met certbot (Let's Encrypt), nadat het DNS-record klopt: `sudo certbot --nginx -d test.slpsoftware.nl`. Certbot regelt automatisch de HTTPS-configuratie en de HTTP→HTTPS-redirect (net zoals je gewend bent van certbot).
|
3. Vraag op de reverse-proxy-Pi een SSL-certificaat aan met certbot (Let's Encrypt), nadat het DNS-record klopt: `sudo certbot --nginx -d test.slpsoftware.nl`. Certbot herschrijft dit bestand automatisch met de HTTPS-configuratie en de HTTP→HTTPS-redirect — zie `operations/deployment/nginx/reverse-proxy-nginx.conf.post-certbot.example` voor hoe het er dan uitziet (referentie, niet zelf kopiëren).
|
||||||
4. Zorg dat de map `/mnt/storage1/www/html/test/slpsoftware` bestaat op de webserver-Pi en schrijfbaar is voor de gebruiker `webadmin` (bijv. `sudo mkdir -p /mnt/storage1/www/html/test/slpsoftware && sudo chown webadmin:webadmin /mnt/storage1/www/html/test/slpsoftware`).
|
4. Zorg dat de map `/mnt/storage1/www/html/test/slpsoftware` bestaat op de webserver-Pi en schrijfbaar is voor de gebruiker `webadmin` (bijv. `sudo mkdir -p /mnt/storage1/www/html/test/slpsoftware && sudo chown webadmin:webadmin /mnt/storage1/www/html/test/slpsoftware`).
|
||||||
|
|
||||||
> **Waarom `deploy_path` en de nginx `root` niet hetzelfde pad zijn**: de pipeline uploadt via SCP naar `deploy_path` = `/html/test/slpsoftware` (zie `env.DEPLOY_PATH` in `continuous_integration.yaml`), terwijl de nginx `root` in `webserver-nginx.conf.example` het volledige pad `/mnt/storage1/www/html/test/slpsoftware` is. Dit is geen fout of inconsistentie: de SSH/SCP-gebruiker (`webadmin`) heeft `/mnt/storage1/www` als root (vergelijkbaar met een FTP-chroot), dus vanuit het perspectief van deze gebruiker is `/html/test/slpsoftware` het juiste (relatieve) pad, terwijl dat op het bestandssysteem van de Pi zelf overeenkomt met het volledige pad `/mnt/storage1/www/html/test/slpsoftware` dat nginx als `root` gebruikt. Kortom: `deploy_path` (`/html/test/slpsoftware`) + de root van de `webadmin`-gebruiker (`/mnt/storage1/www`) = de nginx `root` (`/mnt/storage1/www/html/test/slpsoftware`).
|
> **Waarom `deploy_path` en de nginx `root` niet hetzelfde pad zijn**: de pipeline uploadt via SCP naar `deploy_path` = `/html/test/slpsoftware` (zie `env.DEPLOY_PATH` in `continuous_integration.yaml`), terwijl de nginx `root` in `webserver-nginx.conf.example` het volledige pad `/mnt/storage1/www/html/test/slpsoftware` is. Dit is geen fout of inconsistentie: de SSH/SCP-gebruiker (`webadmin`) heeft `/mnt/storage1/www` als root (vergelijkbaar met een FTP-chroot), dus vanuit het perspectief van deze gebruiker is `/html/test/slpsoftware` het juiste (relatieve) pad, terwijl dat op het bestandssysteem van de Pi zelf overeenkomt met het volledige pad `/mnt/storage1/www/html/test/slpsoftware` dat nginx als `root` gebruikt. Kortom: `deploy_path` (`/html/test/slpsoftware`) + de root van de `webadmin`-gebruiker (`/mnt/storage1/www`) = de nginx `root` (`/mnt/storage1/www/html/test/slpsoftware`).
|
||||||
|
|||||||
+12
-24
@@ -9,45 +9,33 @@
|
|||||||
# poort is bewust 3001 (niet het gebruikelijke 3000), omdat Gitea op diezelfde
|
# poort is bewust 3001 (niet het gebruikelijke 3000), omdat Gitea op diezelfde
|
||||||
# Pi al poort 3000 systeembreed bezet.
|
# Pi al poort 3000 systeembreed bezet.
|
||||||
#
|
#
|
||||||
|
# Dit is de versie die je gebruikt VOORDAT certbot gedraaid heeft: alleen
|
||||||
|
# poort 80, geen SSL. Certbot heeft dit HTTP-server-block namelijk nodig om
|
||||||
|
# de ACME-challenge te kunnen afhandelen en zal, zodra je hem draait, dit
|
||||||
|
# bestand zelf herschrijven om er de HTTPS-configuratie en de HTTP→HTTPS-
|
||||||
|
# redirect aan toe te voegen. Zie analytics-nginx.conf.post-certbot.example
|
||||||
|
# voor hoe het bestand er na die stap uit gaat zien (puur ter referentie —
|
||||||
|
# dat bestand hoef je niet zelf te kopiëren, certbot genereert het).
|
||||||
|
#
|
||||||
# Kopieer dit bestand handmatig naar bijvoorbeeld
|
# Kopieer dit bestand handmatig naar bijvoorbeeld
|
||||||
# /etc/nginx/sites-available/slpsoftware-analytics.conf op de reverse-proxy-Pi,
|
# /etc/nginx/sites-available/slpsoftware-analytics.conf op de reverse-proxy-Pi,
|
||||||
# maak een symlink in sites-enabled, en herlaad nginx.
|
# maak een symlink in sites-enabled, herlaad nginx, en draai dan pas certbot:
|
||||||
#
|
|
||||||
# SSL-certificaat: net als voor test.slpsoftware.nl wordt dit aangevraagd met
|
|
||||||
# certbot (Let's Encrypt), bijvoorbeeld:
|
|
||||||
# sudo certbot --nginx -d analytics.slpsoftware.nl
|
# sudo certbot --nginx -d analytics.slpsoftware.nl
|
||||||
# Zorg dat het DNS-record voor analytics.slpsoftware.nl al naar het publieke
|
# Zorg dat het DNS-record voor analytics.slpsoftware.nl al naar het publieke
|
||||||
# IP van deze Pi wijst voordat je certbot draait.
|
# IP van deze Pi wijst voordat je certbot draait.
|
||||||
|
|
||||||
# HTTP: alleen gebruikt voor de Let's Encrypt ACME-challenge en om door te
|
|
||||||
# verwijzen naar HTTPS. Na het draaien van certbot ziet dit block er zo uit.
|
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
listen [::]:80;
|
listen [::]:80;
|
||||||
|
|
||||||
server_name analytics.slpsoftware.nl;
|
server_name analytics.slpsoftware.nl;
|
||||||
|
|
||||||
|
error_log /var/log/nginx/slpsoftware-analytics_error.log;
|
||||||
|
access_log /var/log/nginx/slpsoftware-analytics_access.log;
|
||||||
|
|
||||||
location /.well-known/acme-challenge/ {
|
location /.well-known/acme-challenge/ {
|
||||||
root /var/www/certbot;
|
root /var/www/certbot;
|
||||||
}
|
}
|
||||||
|
|
||||||
location / {
|
|
||||||
return 301 https://$host$request_uri;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
# HTTPS: het daadwerkelijke reverse-proxy-verkeer naar Umami op de webserver-Pi.
|
|
||||||
server {
|
|
||||||
listen 443 ssl;
|
|
||||||
listen [::]:443 ssl;
|
|
||||||
|
|
||||||
server_name analytics.slpsoftware.nl;
|
|
||||||
|
|
||||||
ssl_certificate /etc/letsencrypt/live/analytics.slpsoftware.nl/fullchain.pem;
|
|
||||||
ssl_certificate_key /etc/letsencrypt/live/analytics.slpsoftware.nl/privkey.pem;
|
|
||||||
include /etc/letsencrypt/options-ssl-nginx.conf;
|
|
||||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
|
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
proxy_pass http://192.168.1.103:3001;
|
proxy_pass http://192.168.1.103:3001;
|
||||||
|
|
||||||
|
|||||||
+50
@@ -0,0 +1,50 @@
|
|||||||
|
# REFERENTIE ALLEEN — dit bestand hoef je niet handmatig te kopiëren.
|
||||||
|
#
|
||||||
|
# Dit toont hoe /etc/nginx/sites-available/slpsoftware-analytics.conf op de
|
||||||
|
# reverse-proxy-Pi er automatisch uit komt te zien NADAT je certbot hebt
|
||||||
|
# gedraaid (`sudo certbot --nginx -d analytics.slpsoftware.nl`) op basis van
|
||||||
|
# analytics-nginx.conf.example. Certbot voegt zelf de HTTPS-configuratie en
|
||||||
|
# het HTTP→HTTPS-redirect-blok toe (herkenbaar aan de "managed by Certbot"
|
||||||
|
# commentaren), en zet de error_log/access_log en het proxy_pass-blok gewoon
|
||||||
|
# over naar het nieuwe HTTPS-serverblok.
|
||||||
|
server {
|
||||||
|
|
||||||
|
server_name analytics.slpsoftware.nl;
|
||||||
|
|
||||||
|
error_log /var/log/nginx/slpsoftware-analytics_error.log;
|
||||||
|
access_log /var/log/nginx/slpsoftware-analytics_access.log;
|
||||||
|
|
||||||
|
location /.well-known/acme-challenge/ {
|
||||||
|
root /var/www/certbot;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://192.168.1.103:3001;
|
||||||
|
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
listen 443 ssl; # managed by Certbot
|
||||||
|
listen [::]:443 ssl; # managed by Certbot
|
||||||
|
ssl_certificate /etc/letsencrypt/live/analytics.slpsoftware.nl/fullchain.pem; # managed by Certbot
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/analytics.slpsoftware.nl/privkey.pem; # managed by Certbot
|
||||||
|
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||||
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
if ($host = analytics.slpsoftware.nl) {
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
} # managed by Certbot
|
||||||
|
|
||||||
|
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
server_name analytics.slpsoftware.nl;
|
||||||
|
return 404; # managed by Certbot
|
||||||
|
}
|
||||||
+12
-31
@@ -3,21 +3,21 @@
|
|||||||
# doorstuurt naar de webserver-Pi op 192.168.1.103:80) — voor de TESTOMGEVING,
|
# doorstuurt naar de webserver-Pi op 192.168.1.103:80) — voor de TESTOMGEVING,
|
||||||
# bereikbaar via het domein test.slpsoftware.nl.
|
# bereikbaar via het domein test.slpsoftware.nl.
|
||||||
#
|
#
|
||||||
# Kopieer dit bestand handmatig naar bijvoorbeeld
|
# Dit is de versie die je gebruikt VOORDAT certbot gedraaid heeft: alleen
|
||||||
# /etc/nginx/sites-available/slpsoftware-test.conf op de reverse-proxy-Pi,
|
# poort 80, geen SSL. Certbot heeft dit HTTP-server-block namelijk nodig om
|
||||||
# maak een symlink in sites-enabled, en herlaad nginx.
|
# de ACME-challenge te kunnen afhandelen en zal, zodra je hem draait, dit
|
||||||
|
# bestand zelf herschrijven om er de HTTPS-configuratie en de HTTP→HTTPS-
|
||||||
|
# redirect aan toe te voegen. Zie reverse-proxy-nginx.conf.post-certbot.example
|
||||||
|
# voor hoe het bestand er na die stap uit gaat zien (puur ter referentie —
|
||||||
|
# dat bestand hoef je niet zelf te kopiëren, certbot genereert het).
|
||||||
#
|
#
|
||||||
# SSL-certificaat: net als voor de productiesite wordt dit aangevraagd met
|
# Kopieer dit bestand handmatig naar
|
||||||
# certbot (Let's Encrypt) rechtstreeks op deze reverse-proxy-Pi, bijvoorbeeld:
|
# /etc/nginx/sites-available/slpsoftware-test.conf op de reverse-proxy-Pi,
|
||||||
|
# maak een symlink in sites-enabled, herlaad nginx, en draai dan pas certbot:
|
||||||
# sudo certbot --nginx -d test.slpsoftware.nl
|
# sudo certbot --nginx -d test.slpsoftware.nl
|
||||||
# Zorg dat het DNS-record voor test.slpsoftware.nl al naar het publieke IP van
|
# Zorg dat het DNS-record voor test.slpsoftware.nl al naar het publieke IP van
|
||||||
# deze Pi wijst voordat je certbot draait.
|
# deze Pi wijst voordat je certbot draait.
|
||||||
#
|
#
|
||||||
# Dit is de daadwerkelijk in gebruik zijnde configuratie op de reverse-proxy-Pi,
|
|
||||||
# zoals door certbot gegenereerd/beheerd. Het HTTP-server-block onderaan (dat
|
|
||||||
# doorverwijst naar HTTPS, behalve voor de ACME-challenge) en de #-commentaren
|
|
||||||
# "managed by Certbot" zijn automatisch door certbot toegevoegd/aangepast.
|
|
||||||
#
|
|
||||||
# LET OP - gevonden foutje: de header hieronder heet `X-Real-IP` (met
|
# LET OP - gevonden foutje: de header hieronder heet `X-Real-IP` (met
|
||||||
# koppelteken), niet `X-Real_IP` (met underscore). Een header met een
|
# koppelteken), niet `X-Real_IP` (met underscore). Een header met een
|
||||||
# underscore is geen geldige/herkenbare naam voor de standaard `$http_x_real_ip`-
|
# underscore is geen geldige/herkenbare naam voor de standaard `$http_x_real_ip`-
|
||||||
@@ -25,6 +25,8 @@
|
|||||||
# de ontvangende applicatie/module verwacht het koppelteken-formaat. Corrigeer
|
# de ontvangende applicatie/module verwacht het koppelteken-formaat. Corrigeer
|
||||||
# dit op de Pi zelf naar `X-Real-IP` zodra je de config daar aanpast.
|
# dit op de Pi zelf naar `X-Real-IP` zodra je de config daar aanpast.
|
||||||
server {
|
server {
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
server_name test.slpsoftware.nl;
|
server_name test.slpsoftware.nl;
|
||||||
|
|
||||||
@@ -60,25 +62,4 @@ server {
|
|||||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto $scheme;
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
}
|
}
|
||||||
|
|
||||||
listen 443 ssl; # managed by Certbot
|
|
||||||
listen [::]:443 ssl; # managed by Certbot
|
|
||||||
ssl_certificate /etc/letsencrypt/live/test.slpsoftware.nl/fullchain.pem; # managed by Certbot
|
|
||||||
ssl_certificate_key /etc/letsencrypt/live/test.slpsoftware.nl/privkey.pem; # managed by Certbot
|
|
||||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
|
||||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
server {
|
|
||||||
if ($host = test.slpsoftware.nl) {
|
|
||||||
return 301 https://$host$request_uri;
|
|
||||||
} # managed by Certbot
|
|
||||||
|
|
||||||
|
|
||||||
listen 80;
|
|
||||||
listen [::]:80;
|
|
||||||
|
|
||||||
server_name test.slpsoftware.nl;
|
|
||||||
return 404; # managed by Certbot
|
|
||||||
}
|
}
|
||||||
+55
@@ -0,0 +1,55 @@
|
|||||||
|
# REFERENTIE ALLEEN — dit bestand hoef je niet handmatig te kopiëren.
|
||||||
|
#
|
||||||
|
# Dit toont hoe /etc/nginx/sites-available/slpsoftware-test.conf op de
|
||||||
|
# reverse-proxy-Pi er automatisch uit komt te zien NADAT je certbot hebt
|
||||||
|
# gedraaid (`sudo certbot --nginx -d test.slpsoftware.nl`) op basis van
|
||||||
|
# reverse-proxy-nginx.conf.example. Certbot voegt zelf de HTTPS-configuratie
|
||||||
|
# en het HTTP→HTTPS-redirect-blok toe (herkenbaar aan de "managed by Certbot"
|
||||||
|
# commentaren), en zet de error_log/access_log en overige location-blocks
|
||||||
|
# gewoon over naar het nieuwe HTTPS-serverblok.
|
||||||
|
server {
|
||||||
|
|
||||||
|
server_name test.slpsoftware.nl;
|
||||||
|
|
||||||
|
error_log /var/log/nginx/slpsoftware-test_error.log;
|
||||||
|
access_log /var/log/nginx/slpsoftware-test_access.log;
|
||||||
|
|
||||||
|
location /.well-known/acme-challenge/ {
|
||||||
|
root /var/www/certbot;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /sentry-tunnel {
|
||||||
|
proxy_pass https://o4511795618185216.ingest.de.sentry.io/api/4511795622838352/envelope/;
|
||||||
|
proxy_set_header Host o4511795618185216.ingest.de.sentry.io;
|
||||||
|
proxy_ssl_server_name on;
|
||||||
|
}
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://192.168.1.103:80;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
}
|
||||||
|
|
||||||
|
listen 443 ssl; # managed by Certbot
|
||||||
|
listen [::]:443 ssl; # managed by Certbot
|
||||||
|
ssl_certificate /etc/letsencrypt/live/test.slpsoftware.nl/fullchain.pem; # managed by Certbot
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/test.slpsoftware.nl/privkey.pem; # managed by Certbot
|
||||||
|
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||||
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
if ($host = test.slpsoftware.nl) {
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
} # managed by Certbot
|
||||||
|
|
||||||
|
|
||||||
|
listen 80;
|
||||||
|
listen [::]:80;
|
||||||
|
|
||||||
|
server_name test.slpsoftware.nl;
|
||||||
|
return 404; # managed by Certbot
|
||||||
|
}
|
||||||
+3
@@ -16,6 +16,9 @@ server {
|
|||||||
|
|
||||||
server_name test.slpsoftware.nl;
|
server_name test.slpsoftware.nl;
|
||||||
|
|
||||||
|
error_log /var/log/nginx/slpsoftware-test-webserver_error.log;
|
||||||
|
access_log /var/log/nginx/slpsoftware-test-webserver_access.log;
|
||||||
|
|
||||||
root /mnt/storage1/www/html/test/slpsoftware;
|
root /mnt/storage1/www/html/test/slpsoftware;
|
||||||
index index.html;
|
index index.html;
|
||||||
|
|
||||||
|
|||||||
@@ -168,13 +168,17 @@ uit stap 0.3 is hiervoor al gezet, dus deze service blijft ook draaien zonder da
|
|||||||
```
|
```
|
||||||
|
|
||||||
## 3. Reverse proxy + SSL (op de reverse-proxy-Pi)
|
## 3. Reverse proxy + SSL (op de reverse-proxy-Pi)
|
||||||
1. Kopieer `operations/deployment/nginx/analytics-nginx.conf.example` naar bv.
|
1. Kopieer `operations/deployment/nginx/analytics-nginx.conf.example` (de versie van vóór
|
||||||
|
certbot: alleen poort 80, geen SSL) naar bv.
|
||||||
`/etc/nginx/sites-available/slpsoftware-analytics.conf` op de reverse-proxy-Pi, en maak
|
`/etc/nginx/sites-available/slpsoftware-analytics.conf` op de reverse-proxy-Pi, en maak
|
||||||
een symlink in `sites-enabled`.
|
een symlink in `sites-enabled`.
|
||||||
2. Zorg dat het DNS-record voor `analytics.slpsoftware.nl` al actief is, en draai dan:
|
2. Zorg dat het DNS-record voor `analytics.slpsoftware.nl` al actief is, en draai dan:
|
||||||
```bash
|
```bash
|
||||||
sudo certbot --nginx -d analytics.slpsoftware.nl
|
sudo certbot --nginx -d analytics.slpsoftware.nl
|
||||||
```
|
```
|
||||||
|
Certbot herschrijft het bestand automatisch met de HTTPS-configuratie en de
|
||||||
|
HTTP→HTTPS-redirect — zie `operations/deployment/nginx/analytics-nginx.conf.post-certbot.example`
|
||||||
|
voor hoe het er dan uitziet (referentie, niet zelf kopiëren).
|
||||||
3. Herlaad nginx: `sudo nginx -t && sudo systemctl reload nginx`.
|
3. Herlaad nginx: `sudo nginx -t && sudo systemctl reload nginx`.
|
||||||
4. Test: open `https://analytics.slpsoftware.nl` in de browser — je zou het
|
4. Test: open `https://analytics.slpsoftware.nl` in de browser — je zou het
|
||||||
Umami-inlogscherm moeten zien (standaard inloggegevens: `admin` / `umami`, **direct
|
Umami-inlogscherm moeten zien (standaard inloggegevens: `admin` / `umami`, **direct
|
||||||
|
|||||||
Reference in New Issue
Block a user