Eigene Webhosting-Plattform mit cPanel/WHM auf AWS erstellen: Eine Schritt-für-Schritt Anleitung

Melden

Hier ist ein ausführliches Schritt-für-Schritt-Tutorial, wie du deine eigene Webhosting-Umgebung mit cPanel/WHM auf einer AWS EC2-Instanz einrichtest.

Die Kombination aus der Skalierbarkeit von Amazon Web Services (AWS) und der Benutzerfreundlichkeit von cPanel/WHM ist ideal für Agenturen oder angehende Webhoster.


Voraussetzungen

  • Ein aktiver AWS-Account.
  • Eine Domain, deren DNS-Einstellungen du bearbeiten kannst.
  • Eine cPanel-Lizenz (Es gibt eine 15-tägige Testversion, danach kostenpflichtig).
  • Grundkenntnisse in der Terminal-Nutzung (SSH).

Schritt 1: Eine AWS EC2-Instanz erstellen

cPanel benötigt spezifische Ressourcen. Wir verwenden AlmaLinux (der offizielle Nachfolger von CentOS).

  1. Logge dich in die AWS Management Console ein.
  2. Suche nach EC2 und klicke auf Launch Instance.
  3. Name: z.B. Mein-Webhosting-Server.
  4. Application and OS Images: Suche im Marketplace nach AlmaLinux 8 oder 9. (Ubuntu 20.04/22.04 wird ebenfalls unterstützt, aber AlmaLinux ist der Standard für cPanel).
  5. Instance Type: Wähle mindestens t3.medium (2 vCPU, 4 GB RAM). Weniger als 2 GB RAM wird die Installation abbrechen.
  6. Key Pair: Erstelle ein neues Schlüsselpaar (.pem), um dich später per SSH einzuloggen.
  7. Storage: Erhöhe den Speicher auf mindestens 40 GB (je nachdem, wie viele Webseiten du hosten willst).

Schritt 2: Sicherheitsgruppen (Firewall) konfigurieren

cPanel benötigt bestimmte Ports, um zu funktionieren.

  1. Gehe unter den Instanz-Einstellungen zu Security Groups.
  2. Erstelle eine neue Regel oder bearbeite die bestehende (Inbound Rules).
  3. Öffne folgende Ports:
    • SSH: 22
    • HTTP/HTTPS: 80, 443
    • WHM: 2087 (SSL)
    • cPanel: 2083 (SSL)
    • Webmail: 2096
    • FTP: 21
    • SMTP: 25, 465, 587
    • DNS: 53 (TCP/UDP)

Schritt 3: Elastische IP-Adresse (Elastic IP) zuweisen

AWS-Instanzen ändern ihre IP nach einem Neustart. Für einen Webserver brauchst du eine feste IP.

  1. Gehe im EC2-Dashboard links auf Elastic IPs.
  2. Klicke auf Allocate Elastic IP address.
  3. Wähle die neue IP aus und klicke auf Actions -> Associate Elastic IP address.
  4. Verknüpfe sie mit deiner EC2-Instanz.

Schritt 4: Vorbereitung des Servers via SSH

Verbinde dich mit deinem Terminal (oder PuTTY) mit dem Server:

ssh -i "dein-key.pem" ec2-user@deine-elastic-ip
  1. Root-Rechte erlangen:
    sudo -i
  2. System aktualisieren:
    yum update -y
  3. Hostname festlegen: (Wichtig: Muss ein FQDN sein, z.B. host.deinedomain.de)
    hostnamectl set-hostname host.deinedomain.de
  4. Network Manager deaktivieren (optional, aber oft empfohlen): cPanel bevorzugt eine statische Konfiguration ohne den Standard-NetworkManager von AWS.

Schritt 5: Installation von cPanel & WHM

Nun starten wir das offizielle Installationsskript. Dieser Vorgang kann 15 bis 60 Minuten dauern.

  1. Installation starten:
    cd /home && curl -o latest -L https://securedownloads.cpanel.net/latest && sh latest
  2. Lehn dich zurück. Das Skript installiert alle notwendigen Pakete (Apache, PHP, MySQL, etc.).

Schritt 6: WHM Ersteinrichtung (Web Interface)

Sobald die Installation abgeschlossen ist, erhältst du eine URL (z.B. https://deine-ip:2087).

  1. Öffne die URL im Browser. (Ignoriere die SSL-Warnung, da noch kein Zertifikat installiert ist).
  2. Login: Benutzername ist root. Das Passwort musst du auf der Konsole eventuell erst setzen mit dem Befehl passwd.
  3. AGB: Akzeptiere die Bedingungen.
  4. Lizenz: Logge dich in deinen cPanel-Store-Account ein, um die Testlizenz zu aktivieren.
  5. Nameserver: Gib die Nameserver an, die du nutzen möchtest (z.B. ns1.deinedomain.de und ns2.deinedomain.de). Vergiss nicht, diese später bei deinem Domain-Registrar als "Glue Records" zu hinterlegen.

Schritt 7: Abschließende Tipps

  • Tausch-Speicher (Swap): AWS-Instanzen haben oft keinen Swap-Speicher. Erstelle eine Swap-Datei, um Abstürze bei Lastspitzen zu vermeiden.
  • Backups: Nutze AWS EBS Snapshots oder das integrierte cPanel-Backup auf einen S3-Bucket.
  • Sicherheit: Installiere das Plugin ConfigServer Security & Firewall (CSF) direkt in WHM, um den Server abzusichern.

Glückwunsch! Du hast nun deinen eigenen Webhosting-Server auf AWS Basis mit cPanel/WHM fertiggestellt. Du kannst jetzt "Accounts" für Kunden oder deine eigenen Projekte erstellen.

0