Files
Kevin Feiler cbb20ba6ce .
2025-10-16 02:35:20 +02:00

11 KiB

Update-Anleitung: KeyHelp Manager v1.x → v2.0.0

Diese Anleitung führt Sie durch das Update von KeyHelp Manager Version 1.x auf 2.0.0.

🎉 Was ist neu in Version 2.0.0?

Hauptverbesserungen

  1. Zentralisierte API-Konfiguration

    • API-Keys und Server-Einstellungen nur noch einmal in WHMCS konfigurieren
    • Keine redundante Eingabe mehr bei jedem Produkt
    • Einfachere Verwaltung bei mehreren KeyHelp-Servern
  2. Template/Vorlagen-System

    • Automatische Synchronisation von KeyHelp-Plänen
    • Dropdown-Auswahl bei Produktkonfiguration
    • Template-basierte Domain-Erstellung
  3. Verbesserter Client Area

    • Anzeige des verwendeten Templates
    • Direkter Link zum Admin-Panel
    • Übersichtlichere Darstellung

📋 Voraussetzungen

  • WHMCS 8.13 oder höher
  • PHP 8.3 oder höher
  • KeyHelp mit API v2
  • Zugriff auf WHMCS Admin-Panel
  • Backup Ihrer aktuellen Installation

🔄 Update-Schritte

Schritt 1: Backup erstellen

# Backup des Modul-Ordners
cp -r /pfad/zu/whmcs/modules/servers/keyhelpmanager /pfad/zu/backup/keyhelpmanager_v1_backup

# Backup der Datenbank (optional, aber empfohlen)
mysqldump -u [username] -p [database_name] > whmcs_backup_$(date +%Y%m%d).sql

Schritt 2: Alte Konfiguration dokumentieren

Notieren Sie sich für jedes Produkt mit KeyHelp Manager:

  1. Hostname/IP des KeyHelp-Servers
  2. API-Key
  3. SSL-Einstellungen
  4. Verwendete Plan-Namen (falls konfiguriert)

Beispiel:

Produkt Hostname API-Key SSL Plan
Webhosting Basic keyhelp1.example.com abc123... Ja Basic
Webhosting Pro keyhelp1.example.com abc123... Ja Pro
Reseller keyhelp2.example.com xyz789... Ja Reseller

Schritt 3: Module-Dateien aktualisieren

# Alte Version löschen
rm -rf /pfad/zu/whmcs/modules/servers/keyhelpmanager/*

# Neue Version entpacken
unzip keyhelpmanager_v2.0.0.zip -d /pfad/zu/whmcs/modules/servers/

# Oder via Git
cd /pfad/zu/whmcs/modules/servers/keyhelpmanager
git pull origin main

Schritt 4: Server in WHMCS konfigurieren

Dies ist der wichtigste Schritt! Die Konfiguration erfolgt jetzt zentral.

4.1 Server hinzufügen

  1. Gehen Sie zu: Setup → Products/Services → Servers
  2. Klicken Sie auf Add New Server
  3. Füllen Sie das Formular aus:

Für KeyHelp Server 1:

Name: KeyHelp Server 1
Hostname: keyhelp1.example.com
IP Address: [optional]
Type: KeyHelp Manager
Username: [leer lassen]
Password: [HIER API-KEY EINTRAGEN]
Access Hash: [leer lassen]
Secure: ✓ (Checkbox aktivieren für SSL)
Active: ✓

Wichtig: Der API-Key kommt ins Password-Feld!

4.2 Mehrere Server

Falls Sie mehrere KeyHelp-Server haben, wiederholen Sie Schritt 4.1 für jeden Server:

Server 1: KeyHelp Server 1 (keyhelp1.example.com)
Server 2: KeyHelp Server 2 (keyhelp2.example.com)
Server 3: KeyHelp Reseller (keyhelp3.example.com)

Schritt 5: Verbindung testen

  1. Klicken Sie bei jedem konfigurierten Server auf Test Connection
  2. Sie sollten die Meldung sehen: "Connection Successful!"
  3. Bei Fehlern überprüfen Sie:
    • Hostname korrekt?
    • API-Key korrekt im Password-Feld?
    • SSL-Checkbox entsprechend Ihrer Server-Konfiguration?
    • Firewall erlaubt Verbindung?

Schritt 6: Produkte aktualisieren

Für jedes Produkt mit KeyHelp Manager:

6.1 Server zuweisen

  1. Gehen Sie zu: Setup → Products/Services → Products/Services
  2. Wählen Sie ein Produkt aus
  3. Tab: Module Settings
  4. Bei Server Group: Wählen Sie den entsprechenden Server aus
  5. Oder bei Selected Server: Wählen Sie spezifischen Server

6.2 Templates synchronisieren

  1. Scrollen Sie zu den Module Settings
  2. Klicken Sie auf Sync Templates
  3. Die verfügbaren KeyHelp-Pläne werden geladen

6.3 Template auswählen

  1. Bei KeyHelp Template: Wählen Sie die passende Vorlage
  2. Beispiel:
    • Produkt "Webhosting Basic" → Template "Basic Plan"
    • Produkt "Webhosting Pro" → Template "Pro Plan"

6.4 Alte Config-Optionen entfernen

Die alten Felder (Hostname, API-Key, etc.) werden automatisch ausgeblendet. Falls noch sichtbar, können diese ignoriert werden - sie werden nicht mehr verwendet.

6.5 Speichern

  1. Klicken Sie unten auf Save Changes
  2. Wiederholen Sie Schritte 6.1-6.5 für alle Produkte

Schritt 7: Bestehende Accounts migrieren (optional)

Wichtig: Bestehende Accounts funktionieren weiterhin!

Für bestehende Accounts können Sie optional die Template-Information hinzufügen:

-- Beispiel SQL für manuelles Hinzufügen der Template-ID
-- ACHTUNG: Nur für erfahrene Benutzer!

UPDATE tblhosting 
SET 
  configoption1 = '5'  -- Template ID
WHERE 
  server = [SERVER_ID]
  AND packageid = [PRODUCT_ID];

Empfehlung: Neue Accounts werden automatisch mit korrekter Template-ID erstellt.

Schritt 8: Test-Account erstellen

  1. Erstellen Sie eine Test-Bestellung
  2. Verifizieren Sie:
    • ✓ Account wird korrekt erstellt
    • ✓ Template wird verwendet
    • ✓ Client Area zeigt alle Informationen
    • ✓ Template-Name wird angezeigt
    • ✓ Admin-Panel-Link funktioniert
    • ✓ Login-Button funktioniert

🔍 Vergleich: Alt vs. Neu

Version 1.x (Alt)

Produkt-Konfiguration:
├── Hostname: keyhelp1.example.com
├── API-Key: abc123...
├── SSL: Ja
└── SSL-Verify: Ja

Problem: Bei 10 Produkten → 10x dieselbe Konfiguration!

Version 2.0 (Neu)

Server-Konfiguration (EINMALIG):
├── Server 1: keyhelp1.example.com
│   └── API-Key: abc123...
└── Server 2: keyhelp2.example.com
    └── API-Key: xyz789...

Produkt-Konfiguration (PRO PRODUKT):
├── Server: Server 1
└── Template: Basic Plan

Vorteil: Zentrale Verwaltung, keine Redundanz!

📊 Konfigurationsübersicht

Alte Produktkonfiguration (v1.x)

ConfigOption1: Hostname
ConfigOption2: API-Key
ConfigOption3: SSL (on/off)
ConfigOption4: SSL-Verify (on/off)

Neue Produktkonfiguration (v2.0)

ConfigOption1: Template-Dropdown (dynamisch geladen)

Server-Einstellungen:
├── serverhostname: Von Server übernommen
├── serveraccesshash: Von Server übernommen
└── serversecure: Von Server übernommen

🎯 Migration verschiedener Szenarien

Szenario 1: Ein Server, mehrere Produkte

Vorher:

  • 5 Produkte
  • Jedes mit eigenem Hostname + API-Key

Nachher:

  1. Einen Server in WHMCS anlegen
  2. Alle 5 Produkte diesem Server zuweisen
  3. Je nach Produkt unterschiedliche Templates wählen

Zeitersparnis: 80%

Szenario 2: Mehrere Server

Vorher:

  • Server A: Produkt 1-3
  • Server B: Produkt 4-5
  • Jedes Produkt einzeln konfiguriert

Nachher:

  1. Server A in WHMCS anlegen
  2. Server B in WHMCS anlegen
  3. Produkte 1-3 → Server A zuweisen
  4. Produkte 4-5 → Server B zuweisen
  5. Templates pro Produkt wählen

Szenario 3: White-Label / Reseller

Vorher:

  • Reseller1-Server: Produkt A, B, C
  • Eigene Branding, gleiche API-Keys

Nachher:

  1. "Reseller1-KeyHelp" Server anlegen
  2. Alle Reseller-Produkte zuweisen
  3. Reseller-spezifische Templates wählen

🐛 Troubleshooting

Problem 1: "KeyHelp server not configured"

Ursache: Server nicht in WHMCS konfiguriert

Lösung:

  1. Gehe zu Setup → Servers
  2. Füge KeyHelp-Server hinzu
  3. Weise Server dem Produkt zu

Problem 2: Templates werden nicht geladen

Ursache: API-Verbindung fehlerhaft oder keine Pläne in KeyHelp

Lösung:

1. Test Connection durchführen
2. In KeyHelp prüfen: Sind Pläne angelegt?
3. API-Key-Berechtigung prüfen
4. "Sync Templates" Button klicken

Problem 3: Bestehende Accounts funktionieren nicht

Ursache: Account-Details referenzieren alte Config-Optionen

Lösung: Bestehende Accounts sollten weiterhin funktionieren. Falls nicht:

-- Prüfe gespeicherte Account-Details
SELECT * FROM tblhosting WHERE id = [SERVICE_ID];

-- Prüfe Custom Fields
SELECT * FROM tblcustomfieldsvalues WHERE relid = [SERVICE_ID];

Ursache: Domain-ID nicht gespeichert (nur bei neuen Accounts)

Lösung:

  • Nur neue Accounts (ab v2.0) haben Admin-Panel-Link
  • Alte Accounts: Nutzen Sie den Standard-Login-Button

Problem 5: "Template not found"

Ursache: Gewähltes Template existiert nicht mehr in KeyHelp

Lösung:

  1. Templates neu synchronisieren
  2. Produkt-Konfiguration prüfen
  3. Anderes Template wählen

📝 Checkliste nach Update

  • Backup erstellt
  • Alte Konfiguration dokumentiert
  • Neue Module-Dateien hochgeladen
  • Server in WHMCS konfiguriert
  • Verbindung getestet (alle Server)
  • Templates synchronisiert
  • Alle Produkte aktualisiert
  • Test-Account erstellt und geprüft
  • Bestehende Accounts funktionieren
  • Client Area korrekt
  • Admin-SSO funktioniert
  • Module-Logs überprüft

🚀 Vorteile nach dem Update

Für Administratoren

  • Zentrale Verwaltung aller Server
  • Keine redundante Konfiguration
  • Schnellere Produkt-Erstellung
  • Einfacher Server-Wechsel
  • Bessere Übersicht

Für Kunden

  • Template-Information sichtbar
  • Direkter Admin-Panel-Link
  • Schnellerer Zugriff
  • Besseres Design

Für Entwickler

  • Sauberer Code
  • Weniger Config-Optionen
  • Standard-WHMCS-Workflow
  • Einfachere Wartung

📞 Support

Bei Problemen

  1. Logs prüfen:

    Utilities → Logs → Module Log
    Filter: keyhelpmanager
    
  2. KeyHelp-API testen:

    curl -H "X-API-Key: YOUR_API_KEY" \
         https://keyhelp.example.com/api/v2/server/version
    
  3. WHMCS Test Connection:

    Setup → Servers → Test Connection
    

Kontakt


🔄 Rollback (falls nötig)

Falls das Update Probleme verursacht:

# 1. Backup wiederherstellen
rm -rf /pfad/zu/whmcs/modules/servers/keyhelpmanager
cp -r /pfad/zu/backup/keyhelpmanager_v1_backup /pfad/zu/whmcs/modules/servers/keyhelpmanager

# 2. Browser-Cache leeren
# 3. WHMCS-Cache leeren
rm -rf /pfad/zu/whmcs/templates_c/*

# 4. Produkt-Konfiguration zurücksetzen
# (manuell in WHMCS Admin-Panel)

Wichtig: Nach Rollback müssen Sie die alten Config-Optionen wieder eintragen!


📅 Zeitaufwand

  • 1-2 Server: ca. 15-30 Minuten
  • 3-5 Server: ca. 30-45 Minuten
  • 10+ Produkte: ca. 45-60 Minuten

Tipp: Planen Sie das Update außerhalb der Geschäftszeiten.


Nächste Schritte

Nach erfolgreichem Update:

  1. Informieren Sie Ihr Team über die Änderungen
  2. Aktualisieren Sie interne Dokumentation
  3. Testen Sie alle Workflows
  4. Freuen Sie sich über die Vereinfachung! 🎉

Viel Erfolg beim Update!

KeyHelp Manager v2.0.0
© 2024 Kevin Feiler / AVVGO