Files
KeyHelp-Manager-for-WHMCS/INSTALLATION.md
2025-10-15 22:29:11 +02:00

15 KiB

KeyHelp Manager - Detaillierte Installationsanleitung

Diese Anleitung führt Sie Schritt für Schritt durch die Installation und Konfiguration des KeyHelp Manager WHMCS-Moduls.

📋 Voraussetzungen prüfen

Bevor Sie mit der Installation beginnen, stellen Sie sicher, dass folgende Anforderungen erfüllt sind:

WHMCS-System

  • WHMCS Version 8.13 oder höher installiert
  • PHP Version 8.3 oder höher
  • Guzzle HTTP Client verfügbar (normalerweise in WHMCS integriert)
  • MySQL/MariaDB Datenbank
  • SSL-Zertifikat für WHMCS (empfohlen)
  • Admin-Zugriff auf WHMCS

KeyHelp-Server

  • KeyHelp installiert und erreichbar
  • KeyHelp API v2 aktiviert
  • Admin-Zugang zu KeyHelp
  • SSL-Zertifikat für KeyHelp (empfohlen)
  • Firewall-Regeln erlauben Zugriff von WHMCS-Server

Netzwerk

  • WHMCS-Server kann KeyHelp-Server über HTTP/HTTPS erreichen
  • Port 80/443 ist offen (je nach Konfiguration)
  • DNS-Auflösung funktioniert korrekt

🚀 Schritt 1: KeyHelp API vorbereiten

1.1 API-Key in KeyHelp erstellen

  1. Loggen Sie sich als Administrator in Ihr KeyHelp-Panel ein:

    https://ihr-keyhelp-server.de
    
  2. Navigieren Sie zu Einstellungen (Zahnrad-Symbol oben rechts)

  3. Klicken Sie auf API im linken Menü

  4. Klicken Sie auf Neuen API-Schlüssel erstellen

  5. Konfigurieren Sie den API-Key:

    • Name: WHMCS Provisioning
    • Berechtigungen: Wählen Sie Administrator oder erteilen Sie folgende spezifische Rechte:
      • Benutzer erstellen/bearbeiten/löschen
      • Domains erstellen/bearbeiten/löschen
      • Statistiken abrufen
      • Sessions erstellen
    • IP-Whitelist: (Optional aber empfohlen) Tragen Sie die IP-Adresse Ihres WHMCS-Servers ein
  6. Klicken Sie auf Erstellen

  7. WICHTIG: Kopieren Sie den generierten API-Key sofort und speichern Sie ihn sicher!

    Beispiel: kh_live_1234567890abcdefghijklmnopqrstuvwxyz
    

    ⚠️ Der Key wird nur einmal angezeigt!

1.2 API testen (Optional)

Testen Sie den API-Zugriff vom WHMCS-Server aus:

# Mit SSL (empfohlen)
curl -X GET "https://ihr-keyhelp-server.de/api/v2/server/version" \
  -H "X-API-Key: IHR_API_KEY" \
  -H "Accept: application/json"

# Ohne SSL (nur für Tests)
curl -X GET "http://ihr-keyhelp-server.de/api/v2/server/version" \
  -H "X-API-Key: IHR_API_KEY" \
  -H "Accept: application/json"

Erwartete Antwort:

{
  "version": "24.1.0",
  "api_version": "2.0"
}

🔧 Schritt 2: Modul-Dateien installieren

2.1 Dateien hochladen

Option A: Via FTP/SFTP

  1. Verbinden Sie sich mit Ihrem WHMCS-Server via FTP/SFTP

  2. Navigieren Sie zum WHMCS-Installationsverzeichnis:

    /var/www/whmcs/
    
  3. Laden Sie das komplette keyhelpmanager-Verzeichnis in folgenden Pfad hoch:

    /var/www/whmcs/modules/servers/keyhelpmanager/
    
  4. Stellen Sie sicher, dass folgende Struktur existiert:

    modules/
    └── servers/
        └── keyhelpmanager/
            ├── keyhelpmanager.php
            └── templates/
                └── clientarea.tpl
    

Option B: Via SSH

# Zum WHMCS-Verzeichnis navigieren
cd /var/www/whmcs/modules/servers/

# Repository klonen (falls Git verwendet wird)
git clone https://github.com/ihr-repo/keyhelpmanager.git

# Oder Dateien aus ZIP extrahieren
unzip keyhelpmanager.zip

# Dateien verschieben falls nötig
mv keyhelpmanager-main keyhelpmanager

2.2 Dateirechte setzen

Setzen Sie die korrekten Berechtigungen:

# Zum Modul-Verzeichnis
cd /var/www/whmcs/modules/servers/keyhelpmanager/

# Dateien: 644 (rw-r--r--)
find . -type f -exec chmod 644 {} \;

# Verzeichnisse: 755 (rwxr-xr-x)
find . -type d -exec chmod 755 {} \;

# Owner setzen (Apache/Nginx User)
chown -R www-data:www-data .

# Oder für andere Systeme
chown -R apache:apache .
chown -R nginx:nginx .

2.3 Installation verifizieren

Prüfen Sie, ob die Dateien korrekt hochgeladen wurden:

ls -la /var/www/whmcs/modules/servers/keyhelpmanager/

Erwartete Ausgabe:

drwxr-xr-x 3 www-data www-data 4096 Jan 15 10:00 .
drwxr-xr-x 8 www-data www-data 4096 Jan 15 09:55 ..
-rw-r--r-- 1 www-data www-data xxxxx Jan 15 10:00 keyhelpmanager.php
drwxr-xr-x 2 www-data www-data 4096 Jan 15 10:00 templates

⚙️ Schritt 3: Server in WHMCS konfigurieren

3.1 Server hinzufügen

  1. Loggen Sie sich in den WHMCS Admin-Bereich ein:

    https://ihr-whmcs.de/admin/
    
  2. Navigieren Sie zu:

    Setup → Products/Services → Servers
    
  3. Klicken Sie auf Add New Server

3.2 Server-Details eintragen

Füllen Sie das Formular aus:

Tab: Details

Feld Wert Beschreibung
Name KeyHelp Server 1 Interner Name (frei wählbar)
Hostname keyhelp.ihredomain.de Hostname ODER IP-Adresse OHNE http:// oder https://
IP Address 123.45.67.89 IP-Adresse (optional, falls Hostname verwendet wird)
Type KeyHelp Manager Wählen Sie aus dem Dropdown
Username (leer lassen) Nicht benötigt
Password kh_live_123... IHR KEYHELP API-KEY
Accesshash (leer lassen) Nicht benötigt

Checkboxes

  • Active - Server ist aktiv
  • Secure - Verwenden Sie SSL (HTTPS) für die Verbindung
  • Disable Accounts Automatically - (optional)

Tab: Module Settings

Wenn verfügbar, konfigurieren Sie hier:

Option Empfohlener Wert Beschreibung
Use SSL On SSL für API-Verbindung verwenden
Verify SSL Certificate On SSL-Zertifikat prüfen (bei selbstsigniert: Off)

3.3 Verbindung testen

  1. Klicken Sie auf Test Connection

  2. Erwartete Meldung:

    ✅ Verbindung erfolgreich! KeyHelp Version: 24.1.0
    
  3. Bei Fehlermeldungen siehe Fehlerbehebung

  4. Klicken Sie auf Save Changes

📦 Schritt 4: Produkt/Service erstellen

4.1 Neues Produkt anlegen

  1. Navigieren Sie zu:

    Setup → Products/Services → Products/Services
    
  2. Klicken Sie auf Create a New Group (falls noch keine Gruppe existiert):

    • Name: Webhosting
    • Description: KeyHelp Webhosting Pakete
  3. Klicken Sie auf Create a New Product

4.2 Produkt-Details

Tab: Details

Feld Beispielwert
Product Type Hosting Account
Product Group Webhosting
Product Name Basic Webhosting
Description Beschreibung des Pakets
Welcome Email Hosting Account Welcome Email

Tab: Pricing

Konfigurieren Sie Ihre Preise:

  • Currency: EUR
  • Payment Type: Recurring
  • Monthly: 5.00 EUR
  • Quarterly: 13.50 EUR
  • Semi-Annually: 27.00 EUR
  • Annually: 50.00 EUR

Tab: Module Settings

WICHTIG: Dies ist der entscheidende Teil!

Feld Wert Beschreibung
Module Name KeyHelp Manager Wählen Sie aus dem Dropdown
Server Group Default Oder wählen Sie Ihre Server-Gruppe
Username Domain Automatisch aus Domain generieren
Password Generate Automatisch generieren

Konfigurationsoptionen:

  1. Hostname (IP or FQDN)

    • Type: Dropdown
    • Options: Wählen Sie Ihren KeyHelp-Server
  2. API Key

    • Wird automatisch vom Server übernommen
  3. Use SSL

    • Default: On

Aktivierte Funktionen: (Checkboxes)

  • Create Account
  • Suspend Account
  • Unsuspend Account
  • Terminate Account
  • Change Password
  • Login Link (Single Sign-On)

4.3 Konfigurierbare Optionen (Optional)

KeyHelp-Pläne als Dropdown

  1. Navigieren Sie zu:

    Setup → Products/Services → Configurable Options
    
  2. Klicken Sie auf Create a New Group:

    • Group Name: KeyHelp Optionen
  3. Klicken Sie auf Add New Configurable Option:

    • Option Name: KeyHelp Plan
    • Option Type: Dropdown
    • Options:
      Basic|basic
      Professional|professional
      Enterprise|enterprise
      
  4. Verknüpfen Sie die Gruppe mit Ihrem Produkt:

    • Products/Services → Ihr Produkt → Configurable Options
    • Wählen Sie KeyHelp Optionen

4.4 Custom Fields anlegen (Optional aber empfohlen)

Diese Felder werden zwar automatisch erstellt, können aber manuell vorbereitet werden:

  1. Navigieren Sie zu:

    Setup → Custom Fields
    
  2. Wählen Sie Products/Services und Ihr Produkt

  3. Klicken Sie auf Add New Custom Field:

    • Field Name: KeyHelp User ID
    • Field Type: Text Box
    • Description: Interne KeyHelp Benutzer-ID
    • Admin Only
    • Sortierung: 1

Schritt 5: Testen der Installation

5.1 Test-Bestellung durchführen

  1. Öffnen Sie Ihr WHMCS Frontend als Kunde (im Inkognito-Modus):

    https://ihr-whmcs.de/
    
  2. Navigieren Sie zu Order → Hosting

  3. Wählen Sie Ihr neues Produkt

  4. Geben Sie eine Test-Domain ein:

    test123.de
    
  5. Schließen Sie die Bestellung ab (nutzen Sie ein Test-Gateway oder manuelle Zahlung)

5.2 Account-Erstellung prüfen

  1. Als Admin: Navigieren Sie zu Clients → View/Search Clients

  2. Öffnen Sie den Test-Kunden

  3. Klicken Sie auf das neue Service/Produkt

  4. Im Tab Information sollten Sie sehen:

    • Username: automatisch generiert
    • Password: automatisch generiert
    • Status: Active
  5. Prüfen Sie die Module Commands:

    • Buttons sollten verfügbar sein: Suspend, Unsuspend, Terminate, Change Password

5.3 Client Area testen

  1. Loggen Sie sich als Test-Kunde ein

  2. Navigieren Sie zu Services → My Services

  3. Klicken Sie auf das neue Hosting-Paket

  4. Sie sollten sehen:

    • KeyHelp Login-URL (klickbar)
    • Benutzername (mit Copy-Button)
    • Passwort (mit Show/Hide und Copy-Button)
    • Domain-Name
    • Statistiken (wenn Account erstellt wurde):
      • Speicherplatz-Fortschrittsbalken
      • Traffic-Fortschrittsbalken
      • Anzahl Domains/Datenbanken/E-Mail-Konten

5.4 In KeyHelp prüfen

  1. Loggen Sie sich in Ihr KeyHelp-Panel ein

  2. Navigieren Sie zu Benutzer

  3. Sie sollten den neu erstellten Benutzer sehen:

    • Username wie in WHMCS
    • Domain zugewiesen
    • Status: Aktiv

5.5 Single Sign-On testen

  1. Als Admin in WHMCS: Öffnen Sie das Test-Service

  2. Klicken Sie auf Login to KeyHelp (oder ähnlicher Button)

  3. Sie sollten automatisch in KeyHelp eingeloggt werden:

    • Als der jeweilige Benutzer
    • Ohne Passwort-Eingabe

🔧 Schritt 6: Produktiv-Konfiguration

6.1 Mehrere Server einrichten

Falls Sie mehrere KeyHelp-Server haben:

  1. Wiederholen Sie Schritt 3 für jeden Server

  2. Erstellen Sie eine Server Group:

    Setup → Products/Services → Servers → Server Groups
    
  3. Fügen Sie alle KeyHelp-Server zur Gruppe hinzu

  4. Konfigurieren Sie Ihre Produkte, um die Server-Gruppe zu nutzen:

    • Automatische Lastverteilung
    • Failover-Funktion

6.2 Automatisierung einrichten

A) Automatische Provisioning

In WHMCS: Setup → Automation Settings

  • Enable Automatic Provisioning
  • Process After: Payment Cleared
  • Stellen Sie sicher, dass Cron-Jobs aktiv sind

B) Automatische Sperrung

  • Enable Automatic Suspension
  • Days Past Due Before Suspension: 7

C) Automatische Kündigung

  • Enable Automatic Termination
  • Days Past Due Before Termination: 30

6.3 E-Mail-Templates anpassen

Passen Sie die E-Mail-Templates an:

  1. Setup → Email Templates

  2. Suchen Sie nach:

    • Hosting Account Welcome Email
  3. Fügen Sie KeyHelp-spezifische Variablen hinzu:

    KeyHelp Login: https://{$service_server_hostname}
    Benutzername: {$service_username}
    Passwort: {$service_password}
    Domain: {$service_domain}
    

6.4 Sicherheit härten

  1. IP-Whitelist in KeyHelp:

    • Beschränken Sie API-Zugriff auf WHMCS-Server-IP
  2. WHMCS Admin-IP-Whitelist:

    Setup → General Settings → Security
    
    • Tragen Sie erlaubte Admin-IPs ein
  3. Zwei-Faktor-Authentifizierung:

    • Aktivieren Sie 2FA für alle Admin-Accounts (WHMCS und KeyHelp)
  4. SSL-Zertifikate:

    • Verwenden Sie gültige SSL-Zertifikate
    • Keine selbstsignierten Zertifikate in Produktion

🐛 Fehlerbehebung

Problem: "Module Not Found"

Ursache: Dateien nicht korrekt hochgeladen

Lösung:

# Prüfen Sie den Pfad
ls -la /var/www/whmcs/modules/servers/keyhelpmanager/keyhelpmanager.php

# Wenn nicht gefunden, Dateien neu hochladen

Problem: "Connection Failed"

Ursachen & Lösungen:

  1. Firewall blockiert:

    # Auf WHMCS-Server testen
    telnet keyhelp-server.de 443
    
  2. Falscher Hostname:

    • Verwenden Sie FQDN ODER IP
    • OHNE http:// oder https://
  3. SSL-Problem:

    • Bei selbstsigniertem Zertifikat: "Verify SSL" deaktivieren
  4. API-Key falsch:

    • Generieren Sie einen neuen Key in KeyHelp
    • Kopieren Sie ihn exakt (keine Leerzeichen!)

Problem: "Account Creation Failed"

Debug-Schritte:

  1. Prüfen Sie Module Log:

    Utilities → Logs → Module Log
    Filter: keyhelpmanager
    
  2. Prüfen Sie die API-Response in den Logs

  3. Häufige Ursachen:

    • Domain existiert bereits
    • Ungültiger Username
    • Unzureichende API-Berechtigungen
    • KeyHelp-Lizenz-Limit erreicht

Problem: "Statistics Not Showing"

Ursache: API-Endpunkt nicht erreichbar oder User-ID fehlt

Lösung:

# API manuell testen
curl -X GET "https://keyhelp-server.de/api/v2/users/123/statistics" \
  -H "X-API-Key: IHR_KEY"

Prüfen Sie, ob KeyHelp User ID Custom Field existiert und gefüllt ist.

📊 Monitoring

6.5 Logging aktivieren

In WHMCS:

Setup → General Settings → Other
  • Enable Module Debug Logging

Logs finden Sie unter:

Utilities → Logs → Module Log

6.6 Gesundheits-Check einrichten

Erstellen Sie ein Cron-Script für regelmäßige API-Tests:

#!/bin/bash
# /root/keyhelp-health-check.sh

KEYHELP_HOST="keyhelp.ihredomain.de"
API_KEY="ihr_api_key"

RESPONSE=$(curl -s -o /dev/null -w "%{http_code}" \
  "https://${KEYHELP_HOST}/api/v2/server/version" \
  -H "X-API-Key: ${API_KEY}")

if [ "$RESPONSE" != "200" ]; then
  echo "KeyHelp API nicht erreichbar! HTTP Status: $RESPONSE"
  # Optional: Benachrichtigung senden
  echo "KeyHelp API Down" | mail -s "ALERT: KeyHelp" admin@ihredomain.de
fi

Cron-Job:

# Alle 15 Minuten prüfen
*/15 * * * * /root/keyhelp-health-check.sh

Fertig!

Herzlichen Glückwunsch! Ihr KeyHelp Manager WHMCS-Modul ist jetzt vollständig installiert und konfiguriert.

Nächste Schritte

  • Produktiv-Server konfigurieren
  • Mehrere Hosting-Pakete anlegen
  • Preise festlegen
  • Marketing-Material vorbereiten
  • Support-Team schulen

Wichtige Hinweise

  • 🔒 Sicherheit: Ändern Sie Ihre API-Keys regelmäßig
  • 📝 Backups: Sichern Sie regelmäßig WHMCS und KeyHelp
  • 🔄 Updates: Halten Sie alle Systeme aktuell
  • 📞 Support: Dokumentieren Sie Ihre Konfiguration für Ihr Team

Bei Problemen oder Fragen: Prüfen Sie die README.md und die Fehlerbehebungssektion. Für weitere Hilfe konsultieren Sie die Community-Foren.