# 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 ```bash # 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 ```bash # 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: ```sql -- 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: ```sql -- Prüfe gespeicherte Account-Details SELECT * FROM tblhosting WHERE id = [SERVICE_ID]; -- Prüfe Custom Fields SELECT * FROM tblcustomfieldsvalues WHERE relid = [SERVICE_ID]; ``` ### Problem 4: Admin-Panel-Link funktioniert nicht **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:** ```bash 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 - **GitHub Issues:** https://github.com/ihr-repo/keyhelpmanager/issues - **Entwickler:** Kevin Feiler / AVVGO - **Website:** https://avvgo.de --- ## 🔄 Rollback (falls nötig) Falls das Update Probleme verursacht: ```bash # 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*