This commit is contained in:
Kevin Feiler
2025-10-16 02:35:20 +02:00
parent 8259ec4621
commit cbb20ba6ce
8 changed files with 1462 additions and 49 deletions

458
UPDATE.md Normal file
View File

@@ -0,0 +1,458 @@
# 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*