[!CAUTION] Wichtig vor Installation

  1. Partitionierung: /boot (1GB), swap (8GB!), /home (10GB), / (Rest).

  2. 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 Port 60022 (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:

BASH
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:

BASH
wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
chmod +x ./hst-install.sh
BASH
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:

TXT
[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):

TXT
bind-address = 127.0.0.1