[!CAUTION] Wichtig vor Installation
Partitionierung:
/boot(1GB),swap(8GB!),/home(10GB),/(Rest).Tailscale Key im Skript hinterlegen.
[!CAUTION]
⚠️ Ein wichtiger Hinweis zu HestiaCP:
HestiaCP bringt eine eigene Firewall (iptables/fail2ban) mit. Sobald Hestia installiert ist, wird es versuchen, alle Ports außer den Standard-Ports (80, 443, 8083 etc.) zu schließen.
Mein Tipp: Sobald du Hestia installiert hast, musst du im Panel unter "Settings" -> "Firewall" den Port60022(TCP) manuell öffnen, sonst blockt Hestia dich aus, sobald du Tailscale mal ausschaltest.
1. Post-Installation (Der "Goldene" Befehl)
Nachdem Debian nackt installiert ist, führe das Skript aus:
wget -O setup.sh https://deine-url.de/setup.sh && chmod +x setup.sh && ./setup.sh
2. HestiaCP Installation (Hinterher!)
Nach dem Reboot als USER einloggen und:
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
chmod +x ./hst-install.sh
sudo bash hst-install.sh --apache no --phpfpm yes --multiphp no --vsftpd no --proftpd no --named yes --mysql yes --mysql-classic no --postgresql no --exim no --dovecot no --sieve no --clamav no --spamassassin no --iptables yes --fail2ban yes --quota no --api no --interactive yes --port '8083' --hostname 'server.EXAMPLE.TLD' --email 'USER@mailbox.org' --lang 'de'
(Anmerkung: --api no wurde gesetzt, da Gemini-CLI dies als Risiko identifiziert hat.)
3. 🛡️ Fail2Ban: Nginx Scanners blocken
Füge dies in /etc/fail2ban/jail.local hinzu, um die "Vulnerability Scans" (Primary script unknown) zu stoppen:
[nginx-noscript]
enabled = true
port = http,https
filter = nginx-noscript
logpath = /var/log/nginx/*error.log
maxretry = 2
findtime = 10m
bantime = 1d
4. 🗄️ MySQL Härtung
Prüfe /etc/mysql/mariadb.conf.d/50-server.cnf (oder ähnlich):
bind-address = 127.0.0.1