94 lines
2.3 KiB
Markdown
94 lines
2.3 KiB
Markdown
# WHMCS installation
|
|
|
|
Install the HexaHost GameCloud provisioning and addon modules on WHMCS 8.x+.
|
|
|
|
## Prerequisites
|
|
|
|
- WHMCS with SSL (HTTPS admin and client area)
|
|
- GameCloud control plane deployed (`deploy/compose/compose.prod.yml`)
|
|
- `BILLING_PROVIDER=whmcs` on GameCloud
|
|
- Matching credentials prepared (`WHMCS_INTEGRATION_ID`, `WHMCS_API_SECRET`)
|
|
|
|
## Package contents
|
|
|
|
Source tree: `integrations/whmcs/`
|
|
|
|
| Component | WHMCS path |
|
|
|-----------|------------|
|
|
| Server module | `/modules/servers/hexagamecloud/` |
|
|
| Addon module | `/modules/addons/hexagamecloud/` |
|
|
| Hooks | `/includes/hooks/hexagamecloud.php` |
|
|
|
|
Build a distributable ZIP:
|
|
|
|
```bash
|
|
cd integrations/whmcs/packaging
|
|
./build-package.sh
|
|
```
|
|
|
|
## Installation steps
|
|
|
|
### 1. Copy server module
|
|
|
|
```bash
|
|
cp -r integrations/whmcs/modules/servers/hexagamecloud /path/to/whmcs/modules/servers/
|
|
```
|
|
|
|
**Setup → Products/Services → Servers → Create New Server**
|
|
|
|
- Type: **HexaHost GameCloud**
|
|
- Hostname: `api.example.net` (GameCloud API host only — no path)
|
|
- Username / Password: leave empty (credentials are per-product module settings)
|
|
|
|
### 2. Copy addon module
|
|
|
|
```bash
|
|
cp -r integrations/whmcs/modules/addons/hexagamecloud /path/to/whmcs/modules/addons/
|
|
```
|
|
|
|
**Setup → Addon Modules → HexaHost GameCloud → Activate**
|
|
|
|
Configure global settings — see [configuration](configuration.md).
|
|
|
|
### 3. Install hooks
|
|
|
|
```bash
|
|
cp integrations/whmcs/hooks/hexagamecloud.php /path/to/whmcs/includes/hooks/
|
|
```
|
|
|
|
Hooks enable daily event polling and optional auto-reconciliation.
|
|
|
|
### 4. Configure GameCloud
|
|
|
|
On the control plane `.env.prod`:
|
|
|
|
```env
|
|
BILLING_PROVIDER=whmcs
|
|
WHMCS_INTEGRATION_ID=prod-whmcs-main
|
|
WHMCS_API_SECRET=<same-as-addon>
|
|
INTEGRATION_MTLS_ENABLED=true
|
|
```
|
|
|
|
Restart API after changes.
|
|
|
|
### 5. Verify connectivity
|
|
|
|
In WHMCS: **Addons → HexaHost GameCloud → Dashboard**
|
|
|
|
Expected: green health, catalog plan count, zero pending critical events.
|
|
|
|
## File permissions
|
|
|
|
WHMCS web user must read module PHP files. Do not make `lib/` or `templates/` web-writable.
|
|
|
|
## Multi-environment
|
|
|
|
Use separate `WHMCS_INTEGRATION_ID` values for staging and production GameCloud installations. Never point staging WHMCS at production GameCloud.
|
|
|
|
## Related
|
|
|
|
- [Configuration](configuration.md)
|
|
- [Products](products.md)
|
|
- [Security](security.md)
|
|
- [Addon module](../addon-module.md)
|