Proxmox VE for WHMCS

Proxmox VE for WHMCS

Developed By The Network Crew Pty Ltd (TNC)

Compatible with WHMCS v8.10

Proxmox VE for WHMCS (Module) Provision & Manage

Salvation, a free and open-source solution for beloved PVE! If you love it, REVIEW & SHARE IT!

  • 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 :)
  • Leverage the power of QEMU & LXC with PVE's convenience

Repo: https://github.com/The-Network-Crew/Proxmox-VE-for-WHMCS/

RTFM: Read the Manual & Review the Module!

Please read the entire README.md file before getting started with Proxmox VE for WHMCS. Thanks!

We're pretty much done overhauling the Module to suit our needs at The Network Crew Pty Ltd & Merlot Digital.

Please review the module! https://marketplace.whmcs.com/product/6935-proxmox-ve-for-whmcs#reviews

If you want it to remain free and fabulous, it could use a moment of your time in reviewing it. Thanks!

MODULE: System Requirements (PVE/WHMCS)

New Biz: Fresh Installations/Businesses using WHMCS need to take note of the Service ID < 100 case.

SID >100: The WHMCS Service ID requirement is CRITICAL, as Proxmox reserves VMIDs <100 (system).

  • (WHMCS) v8.x.x stable (HTTPS)
  • (WHMCS) Service ID above 100
  • (PHP) v8.x (stable version)
  • (Proxmox) VE v8.x (current)
  • (Proxmox) 2 users (API/VNC)

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)

MODULE: Installation & Configuration

DON'T SKIP ANY PART OF THIS README.md - please don't raise pointless Issues - thank you!

Firstly, you need to upload, activate and make the WHMCS Module available to Administrators.

Once you've done all of that, in order to get the module working properly, you need to:

  1. Proxmox VE > Create an additional VNC-only user, per instructions below
  2. WHMCS Admin > Config > Servers > Add your PVE host/s (user: root; IP: PVE's)
  3. WHMCS Admin > Addons > Proxmox VE for WHMCS > Module Config > VNC Secret (see below)
  4. WHMCS Admin > Addons > Proxmox VE for WHMCS > Add KVM/LXC Plan/s
  5. WHMCS Admin > Addons > Proxmox VE for WHMCS > Add an IP Pool
  6. WHMCS Admin > Config > Products/Services > New Service (create offering)
  7. " " > Newly-added Service > Tab 3 > SAVE (links Module Plan to WHMCS Service type)

noVNC: Console Tunnel (Client Area)

After forking the module, we considered how to improve security of Console Tunneling via WHMCS. We decided to implement a routing method which uses a secondary user in Proxmox VE with very restrictive permissions. This is due to be re-built again to further enhance security.

To offer VNC via WHMCS Client Area

  1. Install & configure the module properly
  2. Follow the PVE User Requirement info below
  3. Public IPv4 for PVE (or proxy to private)
  4. PVE and WHMCS on the same Domain Name*
  5. Have valid PTR/rDNS for the PVE Address

noVNC has been overhauled. It isn't guaranteed, nor the project at all. :-)

  • Note #1 = You must use different Subdomains on the same Domain Name, for the cookie (anti-CSRF).
  • Note #2 = 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.

PVE: User Requirements (API & VNC)

You must have a root account to use the Module at all. Configured via WHMCS > Servers.

Additionally, to improve security, for VNC you must also have a Restricted User. Configured in the Module.

Creating the VNC user within PVE

  1. Create User Group "VNC" via PVE > Datacenter / Permissions / Group
  2. Create new User "vnc" > Datacenter / Permissions / Users - Group: "VNC", Realm: pve
  3. Create new Role -> Datacenter / Permissions / Roles - Name: "VNC", Privileges: VM.Console (only)
  4. Permit VNC Access -> Datacenter / Permissions / Add Group Permissions - Group: "VNC", Role: "VNC"
  5. WHMCS > Modules > Proxmox VE for WHMCS > Module Config > VNC Secret = 'vnc' password (PVE) you set

Do NOT set less restrictive permissions. The above is designed for hypervisor security.

VM/CT PLANS: Setting everything up

These steps explain the unique requirements per-option.

Custom Fields: Values need to go in Name & Select Options.

Unsure? Consult the zMANUAL-PVE4.pdf legacy manual file.

VM Option 1: KVM, using PVE Template VM

Firstly, create the Template in PVE. You need its unique PVE ID.

Use that ID in the Custom Field KVMTemplate, as in ID|Name.

Note: Name is what's displayed in the WHMCS Client Area.

VM Option 2: KVM, WHMCS Plan + PVE ISO

Firstly, create the Plan in WHMCS Module. Then, WHMCS Config > Services.

Under the Service, you need to add a Custom Field ISO with the full location.

CT Option: LXC, using PVE Template File

Firstly, store the Template in PVE. You need its unique File Name.

Use that full file name in the Custom Field Template, as in:<br> ubuntu-99.99-standard_amd64.tar.gz|Ubuntu 99

Then make a 2nd Custom Field Password for the CT's root user.

IPv4/v6: Networking (IP Pools)

Please make sure you create an IP Pool with sufficient scope/size to be able to deploy addresses within it to your guest VMs and CTs. Else it won't be able to create a Service for you.

Private IPs for PVE Hosts: Note that VNC may be problematic without work due to the strict requirements introduced in Proxmox v8.0 (strict same-site attribute).

IPv6: SLAAC default, 2nd vNIC

Per #33 there's SLAAC/DHCP/off available (2x vNICs) (May 2024).

You can of course add different config via PVE/pvesh manually, if you need to specify a prefix.

FEATURES: PVE v8.0/8.1 bling

There are new features deployed into Proxmox VE upstream in the v8 branch which are exciting and should be added to this module.

Proxmox v8.0

  1. Create, manage and assign resource mappings for PCI and USB devices for use in virtual machines (VMs) via API and web UI.
  2. (DONE) Add virtual machine CPU models based on the x86-64 psABI Micro-Architecture Levels and use the widely supported x86-64-v2-AES as default for new VMs created via the web UI.

Proxmox v8.1

  1. Secure Boot support.
  2. Software Defined Networking (SDN).
  3. New flexible notification system (SMTP & Gotify).
  4. MAC Organizationally Unique Identifier (OUI) BC:24:11: prefix!

Proxmox 8.2

  1. Import Wizard for Guests.
  2. Unattended PVE Install (answer file).
  3. Backup Fleecing (local disk as data block buffer).
  4. Firewall Preview (based on nftables).

PVE Roadmap: https://pve.proxmox.com/wiki/Roadmap

ABUSE: Zero Tolerance (ZT)

This module has been overhauled and remains functionally-OK but not thoroughly tested nor reviewed.

Your support and assistance is always 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!

HELP: Best-effort Support

Before raising a GitHub Issue, please check:

  1. The Wiki.
  2. The README.md.
  3. Open GitHub Issues on the repo.
  4. HTTP, PHP, WHMCS & debug logs (see below).
  5. PVE logs; best practices; network; etc.
  6. Read the errors. Do they explain it?

Help: Including logs, details, steps to reproduce, etc, please raise a GitHub Issue.

Logs: We work to ensure that Proxmox VE for WHMCS passes through error details to you.

Issues/etc raised must include:

Logging & Debug Logging

  • (Logs: PHP) error_log contents
  • (Logs: WHMCS) Module Debug Logging*
  • (Logs: Config) WHMCS Display/Log Errors = ON
  • (Logs: PVE) Logs from Proxmox Host (pveproxy etc)

Other Support Requirements

  • (Visibility) Screenshots of the issue
  • (Configs) WHMCS/PHP/Module/Proxmox/etc
  • (Reproduction) pvesh etc variants of failing calls
  • (Network) Proof WHMCS Server can talk to PVE OK
  • (PEBKAC) PROOF THAT YOU'VE FOLLOWED THIS README!

The more info/context you provide up-front, the quicker & easier it will be!

* Debug: Also enable Debug Logging in Proxmox VE for WHMCS > Settings, as needed.

Please note that this is FOSS and Support is not guaranteed at all.

If you don't read, listen or actively try, no help is given.

UPDATING: Patching the Module

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 needed SQL ops.

Please consult the UPDATE-SQL.md file, open your WHMCS DB & run the statements. Then you're done.

INC: Libraries & Dependencies

  • (MIT) PHP Client for PVE2 API (Dec 5th, 2022) https://github.com/CpuID/pve2-api-php-client
  • (GPLv2) TigerVNC VncViewer.jar (v1.13.1 in repo) https://sourceforge.net/projects/tigervnc/files/stable/
  • (MPLv2) noVNC HTML5 Viewer (v1.4.0 in repo) https://github.com/novnc/noVNC
  • (GPLv3) SPICE HTML5 Viewer (v0.3 in repo) https://gitlab.freedesktop.org/spice/spice-html5
  • (MIT) IPv4/SN Validation (August 2012) https://github.com/tapmodo/php-ipv4/

DIY: Documentation & Resources

  • 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/
  • x86-64-ABI: https://gitlab.com/x86-psABIs/x86-64-ABI/-/jobs/artifacts/master/raw/x86-64-ABI/abi.pdf?job=build

FOSS: Contributions & Open-source

If you'd like to contribute to the Module, please open a Pull on GitHub >> The-Network-Crew/Proxmox-VE-for-WHMCS

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.

We would like to thank @cybercoder and @WaldperlachFabi for their original contributions and troubleshooting assistance respectively.

Thank you to psyborg® for the module's logo design! We love it.

FOSS is only possible thanks to dedicated individuals!

Usage License (GPLv3) & Links to TNC & Co.

This module is licensed under the GNU General Public License (GPL) v3.0.

GPLv3: https://www.gnu.org/licenses/gpl-3.0.txt (by the Free Software Foundation)

Corporate Sites: TNC & Merlot Digital

The Network Crew Pty Ltd :: https://tnc.works

Merlot Digital :: https://merlot.digital

Support: Best-effort via GitHub Issues

Browse issues, raise a new one: GitHub Issues

 

Reviews

5 stars
4
4
4 stars
0
0
3 stars
0
0
2 stars
0
0
1 star
1
1

chairul anwar @chairul9768

August 11, 2023 at 10:32:06 AM

I have managed to install this module even though there are lots of errors. but I have managed to fix it. I hope that the PROXMOX VE FOR WHMCS Free project will continue and get even better. and for developers keep the spirit

Thank You

  • 9 months ago
  • Version Number 1.2.1
  • Edited

Willi @willi7464

June 21, 2023 at 08:38:37 PM

Hi colles Addon for WHMCS,

my Question Would the configurator from WHMCS also work if so what do I have to set.

  • 11 months ago
  • Version Number 1.2.1

Fabian Ruhl @fabian1776

June 16, 2023 at 06:56:54 AM

No comment provided.

  • 11 months ago
  • Version Number 1.1

Andrei Kostas @8757

June 15, 2023 at 04:15:55 PM

The module does not work correctly, too many errors, so do not be too happy that it is free.

Luke Thompson @luke3603

June 16, 2023 at 02:03:02 AM

The current v1.1 release is a beta, and is the first step in resolving issues arising from the 7-year delta.

We have forked the module and continue to overhaul it. Version 1.2 will address many of the problems.

FOSS (Free Open-source Software) projects die out due to such abuse. You are only negatively contributing.

This is all explained on the repository. Due to your review, we have now added a Zero-tolerance Abuse line too.

Owner@The Network Crew Pty Ltd (TNC)  
  • 11 months ago
  • Version Number 1.1

Alexandre dos Santos @alexandre5881

June 10, 2023 at 07:29:39 AM

Sorry, is free or not?

Step6: Enter license key which you obtained from www.moduleland.com, and save License.

This site are offline.

Thanks.

Luke Thompson @luke3603

June 16, 2023 at 02:00:43 AM

Hi there Alexandre, thanks for your 5-star review!

The module is free, however the original Manual PDF files in the repository are outdated, and show the previous license steps.

Version 1.2 is due to be released in the next few days, it resolved many small bugs and issues in the 7 year delta.

Once you've made the update after its release, please let us know via GitHub Issues of problems.

Owner@The Network Crew Pty Ltd (TNC)  
  • 11 months ago
  • Version Number 1.1

Version Compatibility


Compatible with WHMCS v8.10

Full Version Compatibility


  • Selected versions of WHMCS v8.10
        8.10.0
  • Selected versions of WHMCS v8.9
        8.9.0
  • Selected versions of WHMCS v8.8
        8.8.0

System Requirements


  • PHP 8.x Stable

* Requirements listed are in addition to the WHMCS default system requirements.

Support for this product

The best place to start if you need help with a specific product is to contact the developer. All WHMCS Marketplace developers have both a website and support URL listed.

Developed By The Network Crew Pty Ltd (TNC)

Changelog

v1.2.4 Released May 19th, 2024

Latest Version


Feature

  • IPv6: By default, new instances will be created with SLAAC configured. (#33)
  • IPv6: Ability to configure off/DHCP/SLAAC via VM/CT Plan setting. (#33)

Polish

  • CT Specs: Now amended post-clone, to ensure they match the Plan. (#32)

Bug Fix

  • db.sql: Improve logic with SQL import to pull from relative dir. (#67)
  • Connection Test (WHMCS Server): Refine fallback/normal logic (re: #70)

 

Previous Versions


v1.2.3 Released December 31st, 2023

View/hide detailed changelog

Feature

  • x86-64-ABI: Add options; Emulation default now x86-64-v2-AES (#58)
  • Intel/AMD: Add new CPU Emulation options (8~ Intel, 2x EPYC) (#58)

Polish

  • Debug Logs: Improved quality & scope of logged info (#59)
  • SECURITY.md: Add file to repository, clarifying process (#61)
  • README.md: Add VM/CT creation explanations from old Manual (#57)
  • Logo: Per request from Proxmox Server Solutions, we got a logo (#56)
  • SPICE: Ground-work for future potential addition of 2nd HTML5/etc VNC

Bug Fix

  • PHP v8.1: Verified no problems operating on v8 old-stable ver.
  • Connection Test: Fixed, so it reports OK/Green or an error (#29)
  • Admin, Edit Service: Should now populate existing config OK (#36)

 

v1.2.2 Released September 15th, 2023

View/hide detailed changelog

Feature

  • Debugging Mode: Allow admin to turn on/off Module Log feed (#38)*
  • VLAN ID: Set the required Virtual LAN ID against VM/CT Plan (#35)*
  • Version: Report in-use & latest versions in Health; ver alert (#21)
  • Power Actions: Now available in Admin Area as well as Client Area
  • (Note: Suspend/Unsuspend/Terminate remain admin-only functions)

Polish

  • Client Area: Power Action wording amended (Soft Stop, Hard Stop)
  • Admin, Module Config: Explain what the VNC Secret field is about
  • Admin, Module Config: House-keeping to design, Support/Health tab

Bug Fix

  • Admin, Create Service: Fails if Plan/Pool not assigned in WHMCS (#36)
  • Client, VNC: Fails early if VNC Secret is not set or adequate (#27)
  • On-boot Status: Enabled/Disabled now properly applied for CTs (#34)

(*): SQL Note: There are new columns in 2 of the module tables, see SQL.md

 

v1.2.1 Released June 19th, 2023

View/hide detailed changelog

Feature

  • Module Config tab, allowing for configuration of the VNC Secret
  • Reboot command/action added to Client Area (ie. on/off/hard-off)
  • Link from Health tab of Admin GUI to WHMCS Marketplace re: reviews
  • Images for all supported Operating Systems & Kernel types (some fixed)
  • Ground-work for noVNC overhaul, to support PVE Auth & VNC Tunnel tickets

Polish

  • Stop VM/CT (Client Area) renamed to Hard Stop, compared to Shut Down
  • Modify the PHP API2 class, adding getTicket() so we can dual-auth (VNC)
  • Move VNC Clients from root-level to vnc-only-level access to Proxmox VE

Bug Fix

  • noVNC render method updated to stop out-of-order data flow problem
  • noVNC back-end vncproxy and vncwebsocket methods updated re: spec
  • Client Area actions (Power Off/On, etc) fixed for LXC (QEMU OK)
  • Error with both VNC methods. We are going to remove TigerVNC

 

v1.2.0 Released June 18th, 2023

View/hide detailed changelog

Feature

  • Link off to GitHub Issues for Support from the Module page in WHMCS
  • CHANGELOG.md file added to repository to track in recommended format
  • Try-catch around the Creation API Call, routing OK/error into WHMCS
  • Feed the IP/GW configuration into QEMU and LXC creation attempts
  • PVE Storage > Volume Name and Disk I/O Limit fields added (#7)
  • Module, PHP & Server reported on the Health/Support GUI tab
  • Licensed repository/module via GPLv3 (link-back attribution)
  • Warning in README.md re: WHMCS Service ID being > 100
  • Zero Tolerance Abuse Policy added to README file

Polish

  • Module versioning changed to semver (semantic versioning) 1.2.0
  • Change rel. path to ROOTDIR in IPv4 file, in case of other issues
  • Use /cluster/resources via API, not /node/, to get stats (ex. swap)
  • Updated noVNC, TigerVNC, Ubuntu, Debian and CentOS interface images
  • Improved error handling and pass-back from Proxmox to Class to WHMCS
  • Updated the PVE2 API Class and improved its logging (prefix/exception)
  • Method to fire API Calls updated due to reduction in WHMCS param scope

Bug Fix

  • Regression in v1.1 with missing semicolon breaking activation (#14)
  • Edit Icon not rendering on IP/Pool edit page, missing asset (#13)
  • Relative link to PVE2 API Class file broken, use ROOTDIR (#13/15)
  • IPv4 Address functions, update file to use float not real (#13)
  • Container (CT/LXC) Swap reporting in Client Area now working
  • RRD (Usage) measurements: params attached to requests OK
  • API Requests for Creation now functional (fixes #17)
  • Client Area pages/actions now fixed (fixes #19)
  • Font Awesome icons fixed in the Client Area

 

v1.1 Released June 6th, 2023

View/hide detailed changelog

Feature

  • Swap space editing for plans; back-end existed but not GUI editing
  • Modern-day language to GUI according to changes in the 6 years

Polish

  • Module Name from "PRVE" to "pvewhmcs" (ie. Proxmox VE for WHMCS)
  • Default storage/disk type changed from IDE to Virtio (fastest)
  • Updated 3 dependencies to latest: PVE2-PHP, NoVNC, TigerVNC
  • Removed all code segments relating to software licensing
  • DNS defaults changed from Google DNS to Cloudflare DNS

Bug Fix

  • Module can now be installed onto WHMCS 8.x installations
  • OpenVZ changed to LXC, to support PVE 4 installs and up
  • Removed I/O Priority setting, to re-do via Throttling
  • Catch error in Client Area if can't reach Proxmox

 

See also

Hetzner Servers Manager

Integrate manager for Hetzner Dedicated

Commercial
Liquid Web VPS & Cloud Dedicated Reseller Program

Resell VPS & Cloud Dedicated Products from Liquid Web

Free
Acronis Cyber Protect Cloud

AI-Powered Integration of Data Protection and Cybersecurity.

Free
SolusVM WHMCS module

Automate the sale of VPS servers & give your clients the ability to completely manage their VPS server inside of WHMCS, using the industry leading SolusVM control panel.

Free
VPN reseller module

Resell VPN accounts with whitelabel Windows, Mac, IOS and Android software

Free