---
title: '🏗️ Phase 1: Die Installation (NetISO)'
url: 'https://blog.ro011110ot.de/de/vps/installations-checkliste-vps'
markdown: 'https://blog.ro011110ot.de/de/vps/installations-checkliste-vps.md'
lang: de
date: '2026-10-05'
description: '[!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 d…'
---

# 🏗️ Phase 1: Die Installation (NetISO)

> \[!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/efi` zugewiesen?

    - `/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:**

    ```
    wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh
    ```
- **Installation starten:** (Befehl mit `--api no` und deinem Passwort nutzen).
- **Warten:** Die Installation dauert ca. 10–15 Minuten.
- **Panel-Check:** Login unter `https://deine-ip:8083` prü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.local` anpassen (Bantime 1w).
- **Nginx-Jail:** `nginx-noscript` hinzufügen, um Vulnerability-Scanner sofort zu bannen.
- **MySQL Binding:** Prüfen, ob `bind-address = 127.0.0.1` in der MariaDB Config steht.
- **SSH-Härtung:** In `/etc/ssh/sshd_config` sicherstellen: `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`, `8083` und `52222` offen sind.
- **Tailscale-Test:** Login über die Tailscale-IP versuchen.
- **Hestia-Backup:** Einen ersten manuellen Backup-Job in Hestia für den User `admin` starten.
- **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:

```Ini,

[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!

---

## Navigation

- Previous: [Perfect Server Automated ISPConfig 3 Installation on Debian 12 and Debian 13, Ubuntu 22.04 and Ubuntu 24.04](https://blog.ro011110ot.de/de/vps/how-to-perfect-server-automated.md)
- Next: [1. Das Script erstellen](https://blog.ro011110ot.de/de/vps/logs.md)
