[!ABSTRACT] Vorbereitung
Tailscale: Auth-Key im Admin-Panel generieren (Einweg-Key, kein Ephemeral).
SSH-Key: Sicherstellen, dass dein Public Key bereitliegt.
Netcup SCP: Debian 12 NetISO mounten und Server von ISO starten.
🏗️ Phase 1: Die Installation (NetISO)
Dieser Teil findet in der VNC-Konsole im Netcup SCP statt.
-
Sprache/Region: Deutsch / UTF-8.
-
Netzwerk: Hostname auf
vps-server(oder Wunschname) setzen. -
Partitionierung (Manuell):
-
Partitionstabelle auf GPT eingestellt (nicht MBR/MSDOS)?
-
EFI-Partition als FAT32 formatiert?
- Mountpoint
/boot/efizugewiesen?
- Mountpoint
-
/boot| 1 GB | ext4 -
swap| 8 GB | swap -
/home| 10 GB | ext4 -
/(root) | Rest | ext4
-
-
Software-Auswahl: Nur "Standard-Systemwerkzeuge" und "SSH-Server". KEIN Desktop/Gnome/KDE!
🛠️ Phase 2: Post-Install Script (Der "Goldene" Start)
Sobald das System installiert ist und du per SSH (Port 22) oder VNC drauf bist:
-
Script hochladen/erstellen:
nano setup.sh(Inhalt siehe vorherige Nachricht). -
Key einfügen: Tailscale Auth-Key im Script eintragen.
-
Ausführen:
chmod +x setup.sh && ./setup.sh. -
Check: Läuft Tailscale? (
tailscale status). -
System-Reboot:
reboot.
🏰 Phase 3: HestiaCP Installation
Logge dich jetzt als dein neuer User USER über den neuen Port 52222 ein.
-
Hestia-Download:
TXTwget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh -
Installation starten: (Befehl mit
--api nound deinem Passwort nutzen). -
Warten: Die Installation dauert ca. 10–15 Minuten.
-
Panel-Check: Login unter
https://deine-ip:8083prüfen.
📝 Zusammenfassung für dein Obsidian (Checkliste User-Setup)
-
Debian User:
USER(SSH, Sudo, ZSH) -
Hestia Admin:
admin(Nur für Panel-Updates und User-Verwaltung) -
Hestia Web-User:
EXAMPLE.TLD(Domains, EXAMPLE.TLD) -
Hestia Web-User:
data.EXAMPLE.TLD(Domains, data.EXAMPLE.TLD) -
Hestia Web-User:
wiki.EXAMPLE.TLD(Domains, wiki.EXAMPLE.TLD) -
[ ] Hestia Web-User:
forum.EXAMPLE.TLD(Domains, forum.EXAMPLE.TLD)
🛡️ Phase 4: Sicherheits-Feinschliff (Gemini-CLI Audit)
Jetzt setzen wir die Empfehlungen aus der Log-Analyse um.
-
Fail2Ban Recidive:
jail.localanpassen (Bantime 1w). -
Nginx-Jail:
nginx-noscripthinzufügen, um Vulnerability-Scanner sofort zu bannen. -
MySQL Binding: Prüfen, ob
bind-address = 127.0.0.1in der MariaDB Config steht. -
SSH-Härtung: In
/etc/ssh/sshd_configsicherstellen:PasswordAuthentication no.
📡 Phase 5: Mosquitto & MQTT
-
Installation:
apt install mosquitto mosquitto-clients. -
User-Anlage:
mosquitto_passwd -c /etc/mosquitto/passwd USER. -
Websocket-Proxy: Nginx-Template in HestiaCP erstellen (wie in deiner Anleitung).
-
Firewall: Port 1883 in der Hestia-Firewall schließen (nur 443/WSS offen lassen).
🏁 Phase 6: Finaler Test & Backup
-
Port-Scan: Von außen prüfen, ob nur Port
80,443,8083und52222offen sind. -
Tailscale-Test: Login über die Tailscale-IP versuchen.
-
Hestia-Backup: Einen ersten manuellen Backup-Job in Hestia für den User
adminstarten. -
Obsidian-Log: Alle Passwörter, Keys und Fingerprints in deinem Vault speichern.
💡 Ein letzter Profi-Tipp für die Partitionen:
Solltest du dich während der Installation umentscheiden: Behalte die 8GB Swap bei. Siemens-Software (falls du später Siemens-spezifische Web-Tools oder Datenbanken auf dem Server nutzt) und Hestia-Backups neigen dazu, den RAM kurzzeitig massiv zu fluten. Ohne Swap stürzt dein ganzer Server in diesem Moment ab.
[!SUCCESS] Fertig! Wenn du diese Liste abgearbeitet hast, hast du einen der sichersten und am besten konfigurierten Debian-Server im Netcup-Netz stehen.
Ein kleiner Tipp für den MQTT-Logger:
Da dein Logger nun unter /home/web/scripts/ liegen wird, sieht dein Systemd-Service (Autostart) so aus:
[Unit]
Description=MQTT to MariaDB Logger
After=network.target mariadb.service
[Service]
Type=simple
User=web
Group=web
WorkingDirectory=/home/web/scripts/mqtt-to-mariadb-logger
ExecStart=/usr/bin/python3 /home/web/scripts/mqtt-to-mariadb-logger/mqtt_to_mariadb.py
Restart=always
[Install]
WantedBy=multi-user.target
Bist du bereit für den Neustart? Wenn du den Befehl zum Umbenennen beim Restore nutzt, hast du die sauberste Konfiguration, die möglich ist!