Trag oben deine Werte ein, dann werden alle Code-Schnipsel automatisch befüllt. Hak jeden Schritt ab — der Stand bleibt gespeichert, auch nach Browser-Schließen.
Bei ipv64.net einloggen und eine neue Subdomain anlegen. Du bekommst einen Update-Key, den du brauchst, um die FritzBox-IP dynamisch zu melden (weil sie sich ändert).
SSH-Verbindung zum Webserver aufbauen.
ssh root@192.168.178.132
Verzeichnis für die HTML-Dateien anlegen.
mkdir -p /var/www/html/<webdir>
Eine Test-Datei einfügen, damit du gleich was zum Aufrufen hast:
echo "<h1>Hello from <fqdn></h1>" > /var/www/html/<webdir>/index.html
In /etc/nginx/sites-enabled/default einen neuen Server-Block hinzufügen. Da NPM alle Anfragen auf Port 80 schickt, entscheidet hier der server_name, welches Verzeichnis ausgeliefert wird.
nano /etc/nginx/sites-enabled/default
Diesen Block am Ende der Datei einfügen:
server {
listen 80;
listen [::]:80;
server_name <fqdn>;
root /var/www/html/<webdir>;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Config testen und Nginx neu laden:
nginx -t && systemctl reload nginx
Das Script meldet täglich die aktuelle FritzBox-IP an ipv64. Pro Script maximal 3 URLs, sonst Timeout-Risiko.
nano /websitesscript/websites<num>-upd-cronjob.sh
Inhalt einfügen:
#!/bin/bash
# DynDNS-Update für <fqdn>
urls=(
"https://ipv4.ipv64.net/nic/update?key=<key>&domain=<fqdn>"
)
for url in "${urls[@]}"; do
curl -sS "$url" >/dev/null
done
Script ausführbar machen — wichtig, sonst läuft's nicht!
chmod +x /websitesscript/websites<num>-upd-cronjob.sh
Manuell testen, ob's funktioniert:
/websitesscript/websites<num>-upd-cronjob.sh && echo "OK"
Crontab öffnen und das neue Script eintragen. Mindestens 15 Minuten Abstand zu anderen Cron-Jobs einhalten!
crontab -e
Diese Zeile am Ende einfügen:
<crontime> /websitesscript/websites<num>-upd-cronjob.sh
Aktuelle Cron-Jobs ansehen, damit der Abstand stimmt:
crontab -l
Auf http://192.168.178.131:81 einloggen und einen neuen Proxy Host anlegen.
Im Proxy Host auf den SSL-Tab wechseln und Let's Encrypt anfordern.
Aufrufen und prüfen ob alles passt.
https://<fqdn>