HestiaCP Webhosting Control Panel Installation
HestiaCP – Webhosting Control Panel Installation auf Ubuntu
Was ist HestiaCP?
HestiaCP (ehemals VestaCP) ist ein kostenloses, modernes Webhosting Control Panel für Linux. Es basiert auf VestaCP und wurde von der Community weiterentwickelt. HestiaCP ist eine vollständige Alternative zu cPanel und Plesk und bietet ähnliche Funktionen – aber komplett kostenfrei mit Open-Source-Code. Es unterstützt Apache, Nginx, PHP-FPM, MariaDB, Postfix, Dovecot und viele weitere Services.
Hauptfunktionen von HestiaCP
| Feature | Beschreibung | Verfügbar |
|---|---|---|
| Webserver | Apache2 und Nginx (mit Reverse-Proxy) | Ja |
| PHP-FPM | Mehrere PHP-Versionen parallel | Ja |
| Datenbanken | MariaDB/MySQL, PostgreSQL | Ja |
| E-Mail-Server | Postfix, Dovecot, Roundcube Webmail | Ja |
| FTP/SFTP | ProFTPD oder Pure-FTPd | Ja |
| SSL-Zertifikate | Let's Encrypt automatisch | Ja |
| DNS-Server | BIND9 integriert | Ja |
| File Manager | Webbasierter File Manager | Ja |
| Backups | Lokal, FTP, S3 kompatibel | Ja |
| Firewall | iptables und Fail2Ban | Ja |
Systemanforderungen
Für HestiaCP benötigen Sie folgende Anforderungen:
- Frische Ubuntu 22.04 oder 24.04 Installation (keine anderen Pakete)
- Minimale 1GB RAM (2GB empfohlen)
- Minimale 20GB Festplatte
- Root-Zugang zum Server
- Statische IP-Adresse
- Internetzugang
Installation von HestiaCP
Schritt 1: System vorbereiten
# System aktualisieren sudo apt update sudo apt upgrade -y # Hostname setzen sudo hostnamectl set-hostname hestia.example.com # /etc/hosts aktualisieren echo "192.168.1.10 hestia.example.com hestia" | sudo tee -a /etc/hosts # IP-Adresse überprüfen hostname -I
Schritt 2: Installer herunterladen und ausführen
# HestiaCP Installer herunterladen cd /tmp curl -O https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh chmod +x hst-install.sh # Installation mit allen Optionen sudo bash hst-install.sh \ --apache yes \ --nginx yes \ --phpfpm yes \ --proftpd yes \ --named yes \ --mysql yes \ --dovecot yes \ --clamav no \ --spamassassin no \ --iptables yes \ --fail2ban yes \ --quota no \ --language de \ --port 8083 \ --password MySecurePassword123 \ --interactive no # Installation dauert etwa 10-15 Minuten
Schritt 3: Nach Installation
# Installation überprüfen sudo systemctl status hestia # Admin Panel Zugriff # https://SERVER_IP:8083 oder https://hestia.example.com:8083 # Benutzername: admin # Passwort: Ihr gewähltes Passwort # Wichtige Dateien ls -la /etc/hestiacp/ # Log-Dateien sudo tail -f /var/log/hestia/hestia.log
Erste Domain hinzufügen
Nach der Installation können Sie die erste Domain im Admin-Panel hinzufügen:
# Per Command Line (optional) v-add-domain admin example.com # In der Web-UI: # 1. Admin Panel öffnen: https://IP:8083 # 2. "User Account" -> "admin" wählen # 3. Neue Domain hinzufügen # 4. HestiaCP erstellt automatisch: # - Apache/Nginx VirtualHost # - Let's Encrypt SSL-Zertifikat # - Grundlegende DNS-Records # - Dateiverzeichnisse
MySQL/MariaDB Datenbank erstellen
# Per Command Line v-add-database admin mydb_name root MySecurePass123 # Oder über Web-UI: # 1. Admin Panel öffnen # 2. Zu Admin-User gehen # 3. "Databases" auswählen # 4. Neue Datenbank hinzufügen # 5. Benutzername und Passwort eingeben # Datenbank überprüfen mysql -u root -p -e "SHOW DATABASES;" # Mit HestiaCP User authentifizieren mysql -u mydb_name -p mydb_name
E-Mail-Konto konfigurieren
# E-Mail-Konto hinzufügen v-add-mail-account admin example.com info MyPassword123 # Oder über Web-UI: # 1. Domain -> "example.com" wählen # 2. "Mail Accounts" aufclicken # 3. Neues Mail-Konto erstellen # Roundcube Webmail Zugriff # https://mail.example.com/ oder # https://example.com/roundcube/ # Mail-Server testen sudo systemctl status postfix sudo systemctl status dovecot
PHP-Versionen verwalten
HestiaCP unterstützt mehrere PHP-Versionen parallel über PHP-FPM.
# Verfügbare PHP-Versionen installieren sudo apt install php7.4-fpm php8.0-fpm php8.1-fpm php8.2-fpm -y # HestiaCP-Service neustarten sudo systemctl restart hestia # In der Web-UI: # 1. Domain -> "example.com" wählen # 2. "Web Domain" bearbeiten # 3. PHP-Version wählen (z.B. 8.2) # 4. Speichern # Per Command Line v-change-web-domain-php-fpm admin example.com 8.2 # Verfügbare PHP-Versionen auflisten ls /etc/php/*/fpm/pool.d/
SSL-Zertifikat mit Let's Encrypt
# Let's Encrypt wird automatisch bei Domain-Erstellung aktiviert # Manuelle Let's Encrypt Erneuerung v-add-letsencrypt-domain admin example.com www.example.com # Oder über Web-UI: # 1. Domain -> "example.com" wählen # 2. "SSL Cert" bearbeiten # 3. "Issue Let's Encrypt Certificate" auswählen # 4. Subdomains auswählen (www, etc.) # 5. Speichern # Auto-Renewal Status überprüfen sudo systemctl status hestia-ssl # Manuelle Renewal-Überprüfung sudo /opt/hestiacp/bin/v-check-letsencrypt-domain
DNS-Records verwalten
# DNS-Records in Web-UI ändern: # 1. Admin-Panel öffnen # 2. Domain -> "example.com" wählen # 3. "DNS" aufclicken # 4. Records hinzufügen/bearbeiten # A-Record # example.com -> 192.168.1.10 # CNAME-Record # www -> example.com # MX-Record # mail.example.com (Priority: 10) # TXT-Records für SPF/DKIM/DMARC # SPF: v=spf1 include:_spf.google.com ~all # DKIM wird automatisch generiert # Per Command Line DNS-Zone-Datei bearbeiten sudo nano /etc/bind/named.conf.local sudo systemctl restart bind9
Backup-Konfiguration
# Backup in Web-UI konfigurieren: # 1. Settings -> Backup # 2. Backup-Zeitplan setzen # 3. Speicher-Ziel wählen: # - Local (/backup) # - FTP # - S3 kompatibel # - Google Drive # - Dropbox # Lokale Backups sudo ls -la /backup/ # Backup manuell erstellen v-backup-user admin # Backup-Status überprüfen sudo systemctl status hestia-backup
Firewall und Fail2Ban
# Firewall-Regeln in Web-UI verwalten: # Settings -> Firewall # Häufig verwendete Ports: # 22 - SSH # 80 - HTTP # 443 - HTTPS # 3306 - MySQL # 5432 - PostgreSQL # 8083 - HestiaCP Admin-Panel # 8084 - HestiaCP API # Fail2Ban Status überprüfen sudo systemctl status fail2ban # Geblockte IPs anzeigen sudo fail2ban-client status # SSH Brute-Force-Versuche sudo fail2ban-client status sshd # Manuelle IP blockieren v-add-firewall-rule DROP 192.168.1.100 # IP entsperren v-delete-firewall-rule 192.168.1.100
Benutzerverwaltung
# Neuer Hosting-Benutzer v-add-user client1 MyPassword123 # Benutzer-Limit setzen v-change-user-password client1 NewPassword456 # Benutzerdatenquota v-set-user-quota client1 100 # in GB # Mail-Quota pro Benutzer # In Web-UI -> User -> Mail Accounts # Benutzer löschen (mit Backups) v-delete-user client1 # Benutzer sperren v-lock-user client1
Vergleich: HestiaCP vs cPanel vs Plesk vs ISPConfig
| Kriterium | HestiaCP | cPanel | Plesk | ISPConfig |
|---|---|---|---|---|
| Kosten | Kostenlos | $15-30/Monat | $10-25/Monat | Kostenlos (Community) |
| Open Source | Ja | Nein (Proprietary) | Nein (Proprietary) | Ja |
| Benutzerfreundlichkeit | Gut | Sehr gut | Sehr gut | Mittel |
| Installation | Automatisch (1 Script) | Automatisch | Automatisch | Automatisch (Debian/Ubuntu) |
| Web-Interface | Modern | Funktional aber datiert | Modern | Funktional |
| API | Begrenzt | Umfassend | Umfassend | Mittel |
| Community Support | Aktiv | Professionell | Professionell | Aktiv |
| Multi-Server | Nein | Ja (mit Add-ons) | Ja (with Plesk Onyx) | Ja |
| Ressourcen-Nutzen | Niedrig | Hoch | Mittel | Mittel |
SSL/TLS Konfiguration
# Standard-SSL aktivieren (automatisch) # Let's Encrypt wird bei Domain-Erstellung aktiviert # Manuell SSL erneuern sudo /opt/hestiacp/bin/v-renew-letsencrypt-ssl # SSL-Zertifikat anpassen v-change-web-domain-ssl admin example.com enhanced # HSTS aktivieren (HTTP Strict Transport Security) v-add-web-domain-ssl admin example.com yes # SSL Labs Überprüfung # https://www.ssllabs.com/ssltest/?d=example.com
Performance-Optimierungen
# Nginx als Reverse-Proxy vor Apache konfigurieren # In Web-UI: Settings -> Web Server # Gzip-Kompression aktivieren # In Web-UI: Domain -> example.com -> SSL/TLS # PHP-FPM Memory-Limits sudo nano /etc/php/8.2/fpm/pool.d/admin.conf # php_admin_value[memory_limit] = 256M # php_admin_value[max_execution_time] = 300 # Services neustarten sudo systemctl restart php8.2-fpm sudo systemctl restart nginx
Log-Dateien und Troubleshooting
# HestiaCP Hauptlog sudo tail -f /var/log/hestia/hestia.log # Nginx Logs sudo tail -f /var/log/nginx/error.log sudo tail -f /var/log/nginx/access.log # Apache Logs sudo tail -f /var/log/apache2/error.log sudo tail -f /var/log/apache2/access.log # PHP-FPM Logs sudo tail -f /var/log/php-fpm.log # Mail-Server Logs (Postfix/Dovecot) sudo tail -f /var/log/mail.log sudo tail -f /var/log/mail.err # Systemd Service Status sudo systemctl status hestia sudo systemctl status nginx sudo systemctl status postfix sudo systemctl status dovecot # DNS-Server Logs (BIND) sudo tail -f /var/log/syslog | grep named
Backup und Wiederherstellung
# Backup von einzelnem Benutzer v-backup-user admin # Alle Benutzer sichern v-backup-users # Backup-Liste v-list-user-backups admin # Backup Download (FTP oder SSH) # /backup/admin.2024-04-01.tar # Benutzer aus Backup wiederherstellen v-restore-user backup-file.tar # Domain einzeln wiederherstellen # Über Web-UI: User -> Backups
Weitere Ressourcen
- 📖 LAMP Stack Ubuntu Installation
- 📖 Nginx Reverse Proxy Konfiguration
- 📖 SSL Zertifikat einrichten und HTTPS
- 📖 MariaDB/MySQL Administration
- 📖 Linux Server absichern Anleitung
- 🔧 Sichere Server bei Enjyn mieten
- 🔧 Enjyn Crawler – Website auf Sicherheit prüfen
Letzte Aktualisierung: April 2026 | HestiaCP Version 1.8.0+