We're mostly done overhauling the Module to suit our internal needs at LEOPARD.host.
- Configure VM/CT plans with custom CPU/RAM/VLAN/On-boot/Bandwidth/etc
- Automatically Provision VMs & CTs in Proxmox VE from WHMCS easily
- Allow clients to view/manage VMs using the WHMCS Client Area
- Create/Suspend/Unsuspend/Terminate via WHMCS Admin Area
- Statistics/Graphing is available in the Client Area for services :)
The original module was written in 2 months by @cybercoder for sale online in 2016, though didn't sell any copies so they kindly open-sourced it and removed the licensing requirement. The manual PDF files are due to be updated (these still mention licensing - ignore this)
https://marketplace.whmcs.com/product/6935-proxmox-ve-for-whmcs
- (WHMCS) v8.x.x stable (HTTPS)
- (WHMCS) Service ID above 100
- (PHP) v8.x.x (stable version)
- (Proxmox) VE v7/8 (current)
- (Proxmox) 2 users (API/VNC)
SID >100: The WHMCS Service ID requirement is CRITICAL, as Proxmox reserves VMIDs <100 (system).
If you don't have enough services (of any status) in WHMCS (DB: tblhosting.id), create enough dummy/test entries to reach Service ID 101+. Else you're likely to see an error which explains this: HTTP/1.1 400 Parameter verification failed. (invalid format - value does not look like a valid VM ID)
Once you have uploaded, activated and made the WHMCS Module available to Administrators, you need to:
- WHMCS Admin > Addons > Proxmox VE for WHMCS > Module Config > VNC Secret (see below)
- WHMCS Admin > Addons > Proxmox VE for WHMCS > Add KVM/LXC Plan/s
- WHMCS Admin > Addons > Proxmox VE for WHMCS > Add an IP Pool
- WHMCS Admin > Config > Products/Services > New Service (create offering)
- " " > Newly-added Service > Tab 3 > SAVE (associates Plan/Pool to WHMCS Service type)
For now, please use the Manual PDFs as supplementary information, re: ISO files, LXC templates, etc. This is out-dated though still helpful contextually - please read the note at the top of this README.
To access VNC via WHMCS Client Area, you need to:
- Follow the PVE User Requirement below
- Public IPv4 for PVE, or proxy to private subnet
- PVE and WHMCS on the same Domain Name*
- Have valid PTR/rDNS for the PVE Address
WIP NOTE: noVNC has been overhauled. It is not guaranteed, nor the project at all. :-)
* = You must use different Subdomains on the same Domain Name, for the cookie (anti-CSRF).
* = If your Domain Name has a 2-part TLD (ie. co.uk) then you will need to fork & amend novnc_router.php - ideally we/someone will optimise this to better cater to all formats.
You must have a root (etc) account to Create/Access services. Configured via WHMCS Config > Servers.
Additionally, to improve security, for VNC you must have a Restricted User. "" via Module Config.
For the VNC User in Proxmox you need to:
- Create User Group "VNC" via PVE > Datacenter / Permissions / Group
- Create new User "vnc" > Datacenter / Permissions / Users - select Group: "VNC", Realm: pve
- Create new Role -> Datacenter / Permissions / Roles - select Name: "VNC", Privileges: VM.Console (only)
- Add permission to access VNC -> Datacenter / Node / VM / Permissions / Add Group Permissions - select Group: "VNC", Role: "VNC"
- Configure the WHMCS > Modules > Proxmox VE for WHMCS > Module Config > VNC Secret with 'vnc' password.
NOTE: This module has been overhauled and remains in functionally-OK beta.
Your support is welcomed per the spirit of FOSS (Free Open-source Software)!
If you cannot accept this, do not download nor use the code. Complaints, nasty reviews, and similar behaviour is against the spirit of FOSS and will not be tolerated. Be grateful & considerate - thank you!
Wiki: https://github.com/The-Network-Crew/Proxmox-VE-for-WHMCS/wiki
Including logs, details, steps to reproduce, etc, please raise an Issue.
Information we will need, at a minimum:
- (PHP) error_log contents
- (WHMCS) Module Debug Log contents
- (Configs) WHMCS/PHP/Module/Proxmox/etc
- (PVE) Logs from Proxmox Host (pveproxy etc)
- (Reproduction) pvesh/etc variants of failing calls
Please note that this is FOSS and Support is not guaranteed.
This module is licensed via the GNU General Public License v3.0.
WHMCS Admin > Addon Modules > Proxmox VE for WHMCS > Support/Health shows updates.
You can download the new version and upload it over the top, then run any SQL ops.
Please consult the SQL.md file, open your WHMCS DB & run the statements. Then you're done.
- PHP Client for PVE2 API (Dec 5th, 2022)
- TigerVNC VncViewer.jar (v1.13.1 in repo)
- noVNC HTML5 Viewer (v1.4.0 in repo)
- Proxmox API: https://pve.proxmox.com/pve-docs/api-viewer/
- TigerVNC: https://github.com/TigerVNC/tigervnc/wiki
- noVNC: https://github.com/novnc/noVNC/wiki
- WHMCS: https://developers.whmcs.com/
If you'd like to contribute to the Module, please open a PR.
We would like to thank @cybercoder and @WaldperlachFabi for their original contributions and troubleshooting assistance respectively. FOSS is only possible thanks to dedicated individuals!