Files
WHMCS-ArkHost-HetznerVPS/README.md
T
2025-07-21 15:22:09 +02:00

178 lines
4.6 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ArkHost Hetzner VPS Module
WHMCS server module for Hetzner Cloud VPS management.
## Features
**Core**
- VPS lifecycle: create, suspend, unsuspend, terminate
- Server control: start, stop, restart, shutdown
- Automatic provisioning on payment
**Advanced**
- Floating IP management with reverse DNS
- Backup creation and restoration
- Firewall rule management
- Performance graphs (CPU, network, disk I/O)
- Rescue mode with temporary passwords
- ISO mounting
- OS reinstallation
**Interface**
- Bootstrap 4 responsive design
- English and Portuguese languages
- Real-time status updates
- VNC console access
## Requirements
- WHMCS 8.9+
- PHP 7.4+
- Hetzner Cloud API token
- cURL extension
- HTTPS connection
## Installation
1. Upload files to `/path/to/whmcs/modules/servers/ArkHostHetznerVPS/`
2. Create server group:
- Setup → Products/Services → Servers → Create New Group
- Name: `Hetzner Cloud`
- Type: `ArkHostHetznerVPS`
- Hostname: `api.hetzner.cloud`
- Username: Hetzner Project ID (optional)
- Password: Hetzner Cloud API Token
3. Create products:
- Setup → Products/Services → Products/Services → Create New Product
- Type: `VPS/Dedicated Server`
- Module: `ArkHostHetznerVPS`
- Server Group: Select Hetzner Cloud
## Configuration
**Module Settings**
- Server Type: `cx11`, `cx21`, `cx31`, `cx41`, `cx51` , etc.
- Operating System: `ubuntu-20.04`, `debian-11`, etc.
- Datacenter: `fsn1`, `nbg1`, `hel1`, `ash`, `hil`
- Backups: On/Off
- Create Floating IP: On/Off
**Custom Field (Required)**
- Field Name: `ArkHostHetznerVPS|VPS ID`
- Type: Text Box
- Admin Only: Yes
For ModulesGarden migration, keep existing `serverID|Server ID` field.
## Configurable Options
Create in Setup → Products/Services → Configurable Options:
**1\. Floating IP Add-on**
- Option Name: `Floating IP`
- Option Type: `Yes/No`
- Options:
- `No|None`
- `Yes|1 Floating IP`
**2\. Datacenter Selection**
- Option Name: `datacenter`
- Option Type: `Dropdown`
- Options:
- `fsn1|Falkenstein, Germany`
- `nbg1|Nuremberg, Germany`
- `hel1|Helsinki, Finland`
- `ash|Ashburn, USA`
- `hil|Hillsboro, USA`
**3\. Server Type**
- Option Name: `planid`
- Option Type: `Dropdown`
- Options:
- `cx11|CX11 (1 vCPU, 2GB RAM, 20GB SSD)`
- `cx21|CX21 (2 vCPU, 4GB RAM, 40GB SSD)`
- `cx31|CX31 (2 vCPU, 8GB RAM, 80GB SSD)`
- `cx41|CX41 (4 vCPU, 16GB RAM, 160GB SSD)`
- `cx51|CX51 (8 vCPU, 32GB RAM, 240GB SSD)`
**4\. Operating System**
- Option Name: `osid`
- Option Type: `Dropdown`
- Options:
- `ubuntu-20.04|Ubuntu 20.04 LTS`
- `ubuntu-22.04|Ubuntu 22.04 LTS`
- `debian-11|Debian 11`
- `debian-12|Debian 12`
- `centos-stream-8|CentOS Stream 8`
- `centos-stream-9|CentOS Stream 9`
- `rocky-8|Rocky Linux 8`
- `rocky-9|Rocky Linux 9`
## Client Interface
**Overview**: Server status, information, control buttons **Graphs**: CPU, network, disk I/O monitoring **Backups**: Create, restore, delete backups **Settings**: Hostname, ISO, password reset, reinstall, firewall, rescue mode, floating IP
## SSH Key Management
**Why no SSH key feature?**
Hetzner's API stores SSH keys at the project level, not per-server. In a multi-tenant WHMCS environment, this creates security risks:
- Potential key exposure across customers
- No proper isolation between services
- Complex workarounds that compromise security
**Current recommended approach:**
1. Use password authentication for initial access
2. Add your SSH key manually: `ssh-copy-id root@your-server-ip`
3. Secure your server:
```bash
sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/' /etc/ssh/sshd_configsystemctl restart sshd
```
This ensures proper key isolation and security for each customer.
**Future development:**
We're exploring secure implementations using cloud-init or per-server user data to enable SSH key management while maintaining proper isolation.
## Screenshots
[to be added]
## Troubleshooting
**API Connection Failed**: Check API token in server group settings **Server Not Found**: Verify VPS ID custom field exists **Floating IP Issues**: Enable in configurable options
Enable module debugging: Configuration → System Logs → Module Log
## Support
[support@arkhost.com](mailto:support@arkhost.com "mailto:support@arkhost.com")
## License
MIT License - see [LICENSE](LICENSE) file for details.
Free and open source. Commercial support available.
## Other ArkHost Modules
Check out our premium WHMCS modules at [arkhost.com/whmcs-modules.php](https://arkhost.com/whmcs-modules.php "https://arkhost.com/whmcs-modules.php")
© 2025 ArkHost
<br>