.
This commit is contained in:
458
UPDATE.md
Normal file
458
UPDATE.md
Normal 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*
|
||||
Reference in New Issue
Block a user