Proxmox VPS For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search

Article update is ongoing on this page, watch out for broken links, unclear descriptions and images!
We are sorry for the inconvenience caused.


About Proxmox VPS For WHMCS

Proxmox VPS For WHMCS is a powerful module which allows you to automatically provision virtual servers to your clients.

With its help, your customers can manage virtual servers, backups, firewall as well as access VNC/SPICE console and much more - all this directly in your WHMCS client area.
Additionally, the module lets you conveniently manage all existing servers, IP addresses and clusters through the unique Proxmox Addon attached to the module.

  • Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server
✔ Create/Terminate User Account
✔ Change Package - Supports Configurable Options
✔ Boot/Reboot/Stop/Shutdown Server
✔ Change User Role
✔ Access noVNC And SPICE Console
✔ Migrate Server Between Nodes
✔ Reinstall Server
✔ View Server Status, Details And Statistics
✔ View Graphs - With Ability To Change Time Scale of MRTG Graphs
✔ Display Disk And Bandwidth Usage Of Each Product
✔ Display CPU And Memory Usage Of Each Product
✔ Auto Node - Possibility To Automatically Create VM On Node With The Most Free Space
✔ Configure Client Area Features Per Product
✔ Import IP Address To Hosting IP Addresses Table
✔ Return IP Address To IP Addresses Subnet
✔ Add Additional IP Address To VM
✔ Add Additional Storage To VM (KVM)
✔ Enable Backups Routing
✔ Enable Auto VM Backups Before Reinstall
  • Proxmox Addon Features:
✔ Display Servers List Per VPS And Cloud
✔ Manage IP Addresses Per Server, VLAN, Tag And Node
✔ Add Additional DHCP Server
✔ Display Servers Clusters
✔ Display KVM Templates
✔ Convert KVM VPS To KVM Template
✔ Set Minimum VM ID For Product Without ID Ranges Defined
✔ Synchronize Users Permissions
✔ VM Cleaner - Manage VM Not Existing In Your WHMCS
✔ Create And Store Full Backup Of VMs Configuration
✔ Manage SSH Key Pairs For KVM Template
✔ View Tasks History
  • Client Area Features:
✔ Boot/Reboot/Stop/Shutdown/Reinstall Server
✔ Access noVNC And SPICE Console
✔ Create/Restore/Delete Backups
✔ Manage Backups Within Defined Limits (Max Number Of Files & Max Size Of Files)
✔ Manage Backup Jobs Within Defined Limits (Max Number Of Files & Max Size Of Files)
✔ View Graphs - With Ability To Change Time Scale of MRTG Graphs
✔ View Task History
✔ View Network Devices And Manage Private Interface
✔ Create Server Snapshot (KVM)
✔ Manage Firewall
✔ Download Public And Private SSH Keys (LXC)
✔ View Server Status, Details And Statistics
✔ Display Disk And Bandwidth Usage
✔ Display CPU And Memory Usage
✔ Choose Server Resources While Ordering And Upgrade/Downgrade Them Freely
  • Configurable Options:
✔ Number of CPU Sockets
✔ Number of Cores Per Socket
✔ CPU Weight For VM
✔ Amount of RAM
✔ Disk Space
✔ Network Rate
✔ IPv4 Addresses
✔ IPv6 Addresses
✔ Backups Limit
✔ Backups Files Limit
✔ Bandwidth Limit
✔ VM Template
✔ ISO Image
✔ Number of CPU Sockets
✔ Amount of SWAP
✔ CPU Weight For a VM
✔ Amount of RAM
✔ Disk Space
✔ IPv4 Addresses
✔ IPv6 Addresses
✔ Backups Limit
✔ Backups Files Limit
✔ Bandwidth Limit
✔ VM Templates
  • General Info:
✔ Supports PVE And PAM Authentication
✔ Supports KVM and LXC Virtualization
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing (read more)
✔ Integrated With IP Manager For WHMCS - Complete Management of IP Subnets (read more)
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Specified Servers To Products (read more)
✔ Multi-Language Support
✔ Supports Proxmox VE Up To V5.X
✔ Supports IPv4 and IPv6
✔ Supports PHP 5.6 Up To PHP 7.2
✔ Supports WHMCS Template Six
✔ Supports WHMCS V7

Installation and Configuration

This tutorial will show you how to successfully install and configure Proxmox VPS For WHMCS.

We will guide you step by step through the whole installation and configuration process.


1. Log in to our client area and download the module.
PX2 1.png
2. In the downloaded file you will find two packages that support different PHP versions.
As presented on the screen below, the first one is dedicated to PHP 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2.
It does not apply to open source versions.

Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' › 'System' › 'PHP Info'.

PHP56 72.png
3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.

The content of PHP version files should look like this.

PX2 2 1.png
4. Open 'UploadOnProxmoxServer' and upload content of proper version on all Proxmox servers into the '/usr/share/novnc-pve/' folder.
You should upload these files not only during the first installation of the module, but also each time you update it.

Note: If you wish to allow noVNC consoles, you need to configure a product using the PVE realm and set user permissions to 'PVEVMUser.'

5. When you install Proxmox VPS For WHMCS for the first time you have to rename the 'license_RENAME.php' file.

File is located in 'modules/servers/proxmoxVPS/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

PX2 3.png
6. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen.
You can find your license key in our client area → 'My Products'.

PX2 4.png

Activation of Proxmox Addon

7. Firstly, activate Proxmox Addon.

To do so, log in to your WHMCS and press 'Setup' 'Addon Modules'. Find 'Proxmox Addon' and press 'Activate'.

Note: The Proxmox addon version might not match the current version of the provisioning module itself. This is completely normal due to the specific structure of the module.

PXC2 5.png
8. In the next step you need to permit access to this module.

To do so, click on the 'Configure' button, tick 'Full Administrator' and press 'Save Changes'.

PXC2 6.png

Configuration of Server

9. Now, we will show you how to configure a new product.

Go to 'Setup' 'Products/Services' 'Servers' and press the 'Add New Server' button.

PX2 7.png
10. Next, enter your server name, IP address, username and password.

Choose an authentication type from 'Authentication' and 'Proxmox VPS' from 'Type' dropdown menus. 'Save Changes'.

PX2 8.png
11. After configuring your server correctly, you will see the following screen.

In order to check connection to a Proxmox server, simply press 'Test Connection' as shown on the screen below.

PX2 9.png
12. It is time to create a server group, to do so click on 'Create Server Group'.
PX2 10.png
13. Enter a name, click on your previously created server, press 'Add' and afterward 'Save Changes'.
PX2 11.png

Configuration of Product

14. In order to create and configure a product go to 'Setup' 'Products/Services' 'Products/Services'.

Click on 'Create a New Group'.

PXC2 12.png
15. Enter a product group name and press 'Save Changes'.
PX2 13.png
16. When you have a product group, you can assign your product to it.

To create a product click on 'Create a New Product'.

PX2 14.png
17. Afterward, choose your product group and its type from dropdown menus, enter your product name and press 'Continue'.

'Product Type' can be set to 'Dedicated/VPS Server' but nameservers will have to be added later.
If you do not want to be forced to fill out nameservrs, please select 'Hosting Account' here.

PX2 15.png
18. Now go to the 'Module Settings' section, choose both 'Proxmox VPS' and your previously created server group from dropdown menus.

Next, 'Save Changes'.

PX2 16.png
19. From dropdown menus choose 'Virtualization Type', 'Default Node' and 'Template & ISO Storage'.

Available virtualization types:
LXC (supported by Proxmox VE 4.0 and later)
OpenVZ (supported by Proxmox VE 3.4 and earlier, prior to Proxmox v2.3.0)
You can also choose how often the bandwidth usage should be counted.
Afterward, press 'Save Changes'.
Note: If you choose the 'Auto-Node' as your 'Default Note', new virtual servers will be created on the least used node.

PX2 17.png
20. Setting the KVM virtualization type (skip, if you have chosen the LXC virtualization type).

From dropdown menus choose 'KVM OS Type' and 'Default Storage'.
Type your VM description in 'Container Description' and scroll down.
You can also define VM prefix by filling out the 'Default KVM Container Prefix' field.
Set 'Use Client name For VPS' to 'Yes' and either the client's company or their first/last name will be used as the hostname value.
Here you may also decide whether you wish to use DHCP software to automatically assign IP addresses, simply select the option 'ISC DHCP Server'. Read more about its installation here.

PX2 18.png
21. Now, select desired values from 'Storage', 'Disk Type', 'CD/DVD-ROM Type', 'ISO Image', 'Network Mode' and 'Network Model'.

Additionally, set up backups in the 'Backups' section through selecting values from 'Storage' and 'Backups Routing' dropdown menus.
Backups routing automatically removes the oldest backup as soon as a new backup is created and a backup limit is reached.
Type in the number of days into 'Store The Backup For N Days' to remove backups older than the provided number of days.
In the 'Firewall Options' section you can set up available interfaces and a firewall rules limit.
Important: Keep in mind that the root password is generated automatically for KVM virtualization upon its creation and reset.
If you want be able to set your own password on KVM virtualization go check the Configuration of SSH Keys section.

PX2 19.png
22. Setting the LXC virtualization type (skip, if you have chosen the KVM virtualization type).

From dropdown menus choose 'Default Storage' , 'Template' and 'Bridge'.
Enter your virtual servers description in 'Container Description' and press 'Save Changes'.
Remember! This virtualization type is supported only by Proxmox VE 4.0. and later
If you are using older version of a Proxmox server, you will not be able to start this virtualization.

PX2 19 1.png
23. Setting the OpenVZ virtualization type (skip, if you have chosen the KVM virtualization type).

Please note that only versions of Proxmox prior to v.2.3.0 support OpenVZ virtualization.

From dropdown menus choose 'Default Storage' and 'OpenVZ OS Template'.
Additionally, define backup settings at the 'Backups' section through selecting values from the 'Storage' and 'Backups Routing' dropdown menus.
Backups routing automatically deletes the oldest backup when a new backup is created and a backup limit is reached.
Fill out the number of days into 'Store The Backup For N Days' to remove backups older than the provided number of days.
Type your VM description into 'Container Description' and press 'Save Changes'.

PX2 20.png
24.Afterward, press 'Generate default' nearby 'Configurable Options' and 'Custom Fields'.
PX2 21.png
By doing so, you have just added required custom fields and optional configurable options listed in this table.

Note that while generating 'Configurable Options' it is advisable to delete the ones you no longer use, e.g. for the KVM virtualization delete swap option or IPv6.

25. At the end of the product configuration you have to add a cron job as shown below (each 5 minutes suggested).
php -q /your_whmcs/modules/servers/proxmoxVPS/cron/cron.php 

Do not forget to replace 'your_whmcs' with your WHMCS root location. The cron can be also run each minute in order to perform the action more often.

Congratulations! You have just finished the installation and configuration of the module.

Configuration of Addon

26. Proceed to 'Addons' 'Proxmox Addon' 'Settings' 'General Settings' and set up cron jobs listed under the 'Cron' section.
PXC2 35.png
27. Adding a new IP address (if you are not using IP Manager For WHMCS).

In order to create a new product you have to add 'Dedicated IP ' to the 'IP Addresses' list in 'Proxmox' addon module.
To do so, go to 'IP Management' and press 'Add Pool'.
Note: You can add both the IPv4 and IPv6 addresses.

PXC2 30.png
28. Start by typing a desired IP address and mask into 'IP Pool'.

Next, choose a server from the 'Server' dropdown menu and define which virtualization it should be applied to through selecting it from the 'Virtualization' dropdown menu.
Afterward, press 'Add'.
Note! Automatic IP assignment works only for OpenVZ/LXC machines.
KVM virtualization does not support IP Management from the module. Instead, IP can be assigned via the console.

PX2 23.png
29. You are now able to create a new product using the previously added IP address.

If you are using the KVM virtualization type, the client area in a successfully created product should look similar to the one on the screen below.

PX2 24.png
30.The client area with the LXC virtualization type product looks quite similar.
PX2 25.png

Configuration of SSH Keys (KVM)

SSH keys are required to enable the automatic resizing of partition upon the disk upgrade as well as the change of passwords for the KVM virtualization type.

Note - 'Resize Partition' and 'Change Root Password' will only work for newly created VMs with ISC DHCP and Internet access configuration. We recommend using this option only for new products.

PX2 61.png
31. First, create a new VM Template that you will use for the KVM image.

Then, generate SSH keys and add the public key to the root account on the newly created VM image. Moreover, upload both ( public and private ) keys on your WHMCS server in a secure location.

PX2 62.png
32. Next, while in your WHMCS, go to 'Proxmox Addon' 'Settings' 'SSH Keys' and press the 'Add' button.
PX2 63.png
33. Enter a name and location to the key pairs located on your WHMCS server.
PX2 64.png
34. Then, go back to the product configuration and in ' KVM Configuration' 'VM SSH Root Key' select the pair of keys you want to use.
Enter the SSH communication port and select features you want to use.
Make sure they match the 'KVM OS Template' that will be used.
PX2 65.png
35. Now, the 'Resize Partition' and 'Change Root Password' options should be available.
  • Resize Partition - if a customer upgrades a VM by changing the disk size to a larger one, the size of the last partition in that disk will be automatically increased by the newly added value.
    The feature deletes a current partition table, then creates a new one, according to a new disk size, and reboots the VM.
    These partition types have to be standard, e.g. 'Linux Extended' (Ext2/Ext3/Ext4...), 'Linux SWAP' or 'Solaris' .
    'LVM' partitions are not yet supported (coming soon).
    Important - in case of any failure, all data available on the resized partition might be lost!
  • Change Root Password - this option is responsible for the automatic reset of the password after the VM creation. It also allows users to generate a new root password while using the VM.

Note - if a customer decides to remove the public key from the VM on their own, it will render the 'Resize Partition' and 'Change Root Password' options no longer working!

From now on, all passwords for the newly created VMs will be generated automatically by WHMCS. The partition will be also automatically resized during the VM creation if a disk size is different than the one set as default in the template.
What is more, the administrator will be able to execute the action of partition resizing during the package change (if the disk size has been previously upgraded) and also set a custom root password in the 'Product/Services' settings.

PX2 66.png
The above mentioned features can be also executed in the client area using the options below.
PX2 67.png


Proxmox VPS allows your customers to manage their PVE accounts via client area in your WHMCS system.

You can monitor and manage each product from your WHMCS admin area.

Admin Area

From the admin area you are able to view details and manage your client's VMs, access VMs consoles and even migrate VMs between nodes.

You are also able to add an IP address to a product. To do so, press 'Add New IP' as shown on the following screen.

PX2 26.png
Afterward, enter IP address in a textbox and confirm through pressing 'Save Changes'.
PX2 27.png

Management of Addon

Servers Management

Server List

In 'Addons' 'Proxmox Addon' 'Servers' 'Servers List' you can find configured Proxmox servers.

RAM details:

Assigned - RAM assigned to the server (hosting services only)
Total - full RAM on server
Free - difference between Server Total RAM and RAM Assigned

Suspended - number of suspended accounts per their size in MB
i.e. (1/500 MB) when there is only one suspended account (size: 500MB of that account) assigned to Proxmox server VPS.
You can quickly define VM ID ranges for those servers, press 'Manage' to do so.
Note: VM ID range allows you to sort VMs created depending on server they were created from.

PX2 28.png
Define ID range and save changes.
PX2 29.png
Through pressing 'Edit' you will be moved to the server edit page.

VMs List

In 'Addons' 'Proxmox Addon' 'Servers' 'VMs List' you can find details of any proxmox product.
PX2 28 1.png
Use the 'Toggle Filters' button to find entries you are the most interested in.
PX2 28 2.png

Recovery VM Lists

In 'Addons' 'Proxmox Addon' 'Servers' 'recovery VM List' you can find configured Proxmox servers.

Run 'recovery cron job' to create and store full backups of VMs configuration.
Use 'Export to File' button to save information of the cron execution.

PX2 28 3.png

IP Management

At the 'IP Management' tab you can add, edit and remove IP addresses of Proxmox products.
PXC2 30.png
PX2 30 1.png

Automatic IP Address Assignment

Automatic IP address assignment can be applied to your Proxmox module, all you need to do is install 'DHCP' (Dynamic Host Configuration Protocol)
and IP addresses will be automatically requested from a DHCP server. Consequently, the need to manually configure them will be reduced to a minimum.
Important! This option is available only for the 'KVM' virtualization type.
When there are no IP addresses assigned to the module, then it will create a VM without any IP address. In that case, you should verify the configuration of your IP Manager,
after that you are allowed to run the 'Change Package' command in order to assign IP addresses.

Read the below section to learn how to properly install and configure DHCP.
1. First of all, you must install the SSH2 package on your WHMCS server. Find precise instructions on how to do that here.
Please note that in order to use ISC DHCP, root details must be provided in the server configuration settings.
2. Now, you may move to ISC DHCP installation and configuration. Follow the steps below:
  • Install DHCP package on your Proxmox server (if you are using more than one, then do it on each one of them), execute the below command to do so:
sudo apt-get install isc-dhcp-server
  • When ready, configure DHCP server in /etc/dhcp/dhcpd.conf file for IPv4 or /etc/dhcp/dhcpd6.conf for IPv6.
  • Now, run below command to create the file for IPv4:
sudo nano /etc/dhcp/dhcpd.conf
  • Or the next command for IPv6 accordingly:
sudo nano /etc/dhcp/dhcpd6.conf

Below there is an exemplary content of a properly created file: /etc/dhcp/dhcpd.conf.
Take a look at it to see what data should be inside of it:

# Sample /etc/dhcpd.conf
# (add your comments here) 
default-lease-time 600;
max-lease-time 7200;
option subnet-mask;
option broadcast-address;
option routers;
option domain-name-servers,;
option domain-name "mydomain.example";
subnet netmask {
host 1 {hardware ethernet 32:62:39:64:33:33;fixed-address;}
host 2 {hardware ethernet 32:39:61:31:33:66;fixed-address;}
  • Key words: #ProxmoxIPv6 #ProxmoxIPv4 suggesting the usage of a specific type of IP address, must be located in the one of above mentioned files.
Note: Only a key word corresponding to the used IP type is required. If you do not use IPv6 then /etc/dhcp/dhcpd6.conf configuration and #ProxmoxIPv6 key word are not obligatory.
  • More info about configuring DHCP server can be found here.
3. Turn on ISC DHCP.

To use the automatic IP addresses assignment feature, select 'ISC DHCP Server' option in 'Module Settings' under the 'KVM Configuration' section.

PX 48 1.png

IP Manager Integration

Owing to integration with IP Manager For WHMCS you are able to easily create subnets with IP addresses and assign them to desired products.

By activating the IP Manager submodule, settings concerning IP adresses such as 'Configurable Options' and 'Default Options' are ignored by Proxmox VPS.
Note: This integration works for LXC and KVM virtualization type. OpenVZ is no longer supported.

1. Proceed to the IP Manager For WHMCS → Subnets tab in order to prepare IP addresses subnet for Proxmox VPS For WHMCS.
2. Edit the previously created IP addresses subnet and create a custom field 'MAC Address' with a desired MAC address at each IP address in the subnet.
Note: Setting up MAC address is optional and can be skipped.
More about creating custom fields can be found here.

PX 49.png
3. Afterward, create a new configuration and assign the previously created subnet to it.

Note: Multiple IP addresses subnets can be assigned to a single configuration.
4. Now, link the configuration with Proxmox VPS product via a product, a server or a configurable option.
On the following screen we have linked them via the configurable option assigned to the Proxmox VPS product.

PX 50.png
5. Now, enable the integration by proceeding to the '3rd Party Integration' tab.

Press 'Activate' next to the 'proxmoxVPS' module type as shown on the following screen.

PX 51.png
6. Next, assign the previously created configuration to the submodule.

Press 'Configure' , choose a configuration and press 'Save Changes'.

PX 52.png
In case you encounter an error like on the below screen while integrating the two products, probably the function 'mb_strlen' is not enabled by default.
Please read the manual here for installation instructions.
PX 52 1.png


The 'Clusters' tab contains the list of clusters. To view information about a cluster simply press its name.
PX2 31.png
Here you can find various information about a cluster, from available resource to usage graphs.
PX2 32.png

Templates List

Under this page you can view the list of templates. You may also delete unused templates here.
PX2 32 1.png

Create Templates

You can easily convert any KVM VM on your server to a template.

In order to convert a VM, go to 'Proxmox Addon' 'Templates' 'Create Template'.
Choose a server on which the VM to convert exists and press 'Next Step'.
Important: VM will be destroyed in the process.

PX2 33.png
Next, choose a node and VM to convert.

Fill out 'Template Friendly Name' and press 'Save Changes'.

PX2 34.png

General Settings

'Minimum VMID' allows you to define a minimal ID of a VM created on the server, which does not have any VMID range defined.

Cron job user synchronization - if you change a user role in the product settings, this cron job changes the roles of existing users.
Cron job recovery VM synchronization - runs regularly, responsible for updating list of recovered VMs, allows downloading results.

PX2 35.png

VM Cleaner

VM Cleaner allows you to track VMs existing only on your Proxmox server and that are not visible in your WHMCS.
Consequently, you are allowed to sort and delete only those VMs that cannot be managed from your WHMCS.
PX2 35 1.png

SSH Keys

SSH Keys section allows you to manage your SSH key pairs that will be used for your KVM virtualization.

These keys will be next used to enable the automatic resizing of a partition upon the disk upgrade as well as the change of a root password on the VM.
For more information, go to the Configuration of SSH Keys section.

PX2 35 2.png

Client Area

Client area interface of Proxmox VPS For WHMCS should look like the one on the screen below.

As you can see, control panel contains options useful for managing a VM.
The module allows your customers to easily 'boot', 'reboot', 'stop' and 'shutdown' their servers through pressing specific buttons.
Clients can also access the 'noVNC' and 'SPICE' consoles. Among 'Additional Tools' you will find options to 'reinstall' server, create 'backup' and set up 'backup jobs'.

Your clients are able to access resource usage 'graphs', view VM 'history', manage 'network' interface device and set up 'firewall' rules.
Additionally, in case of Proxmox VPS (KVM) clients may take 'snapshots' and manage 'disks'.

PX2 24.png
On the main product page in the client area, under the 'Details' headline your clients can find information about current usage of CPU, memory, disk (LXC only)
and SWAP (LXC only).

Customers can also view 'DNS' (LXC only) and 'IP Addresses'.

Client Area - VM Management

VNC Console

VNC console enables your clients to remotely manage their servers.

To access it, simply press the 'VNC Console' button. Console requires Java software. You need to accept security risk to run it.
Please note that only versions of Proxmox prior to v.2.3.0 support this console.
Remember that VNC Console is available for users of Proxmox VE 3.4. only!

PX2 39.png

noVNC Console

noVNC console allows your clients to connect to their server in the easiest possible way.
PX2 39 1.png

SPICE Console

SPICE console enables you to connect to virtual machine using SPICE.

Note: Your client needs to download and install client side SPICE application in order to connect with a VM.

PX2 40.png

Client Area - Additional Tools


Reinstall feature should be used to change templates. Select template from available templates list to reinstall your server, click the 'Reinstall' button.
PX2 38.png


To create a single backup, press the 'Backups' button and click on 'New Backup' as shown on the following screen.
PX2 41.png
Now, choose 'Compress Dump File' and 'Backup Mode' from dropdown menus.

Afterward, press 'Add'.

PX2 42.png
To restore a VM from backup, press 'Restore' and then click the 'OK' button in a popup window to confirm.
PX2 43.png

Backup Jobs

By pressing 'Backup Jobs' in your client area, you will be carried to the backup jobs management page.

There you can easily edit/delete and preview details of existing backup jobs.
To add a new backup job press 'New Job' as shown on the following screen.

PX2 44.png
Now, define a backup time, mark days to run it and choose 'Compression Dump File' and 'Backup Mode' from dropdown menus.

Next, press the 'Add' button.

PX2 45.png


Through pressing the 'Graphs' button clients will be moved to the page with generated graphs of CPU usage, memory usage, network traffic and disc I/O.

They can also switch the timeline of graphs by choosing it from a dropdown menu pointed on the following screen. Choose from 'Hour', 'Day', 'Week', 'Moth' and 'Year'.

PX2 46.png

Task History

To access the history of a VM, simply press the 'Task History' button.
PX2 47.png


Your clients are allowed to add/remove only private network interface devices.

Keep in mind that ' Network device' options must be set as 'Private'.

PX2 48.png

Snapshots (KVM only)

Use a snapshot to remember a current state contents of the virtual machine memory. You may use them later to restore the VM's settings.
PX2 48 4.png
Press the 'Take Snapshot' button and fill out the form to take a snapshot.
Name it (use alphabetical characters only), choose whether to include RAM and add a description.
PX2 48 5.png


Owing to the 'Firewall' page, your clients can set up firewall rules and enable a security group for their servers from your WHMCS client area.

As you can see, you can easily modify and remove previously added rules and security groups.
To add a new firewall rule (1) or predefined security group (2) use the buttons marked on the following screen.

PX2 48 1.png
You can add a firewall rule in two ways. Both of them require choosing a direction, action, interface, source and a destination.

The first way (red) is by choosing macro from the 'Macro' dropdown field.
The second way (blue) consists of choosing a protocol and filling both source and destination ports out.
Additionally, you can enable a rule and add a comment to it.
Press 'Add' to create a rule.

PX2 48 2.png
Choose a security group and an interface on which the group will be used.

Additionally, you can enable a security group and add a comment to it.
Click 'Add' to use the security group.

PX2 48 3.png

Disks (KVM only)

View available disks and add new ones.
PX2 48 6.png

Configurable Options

When you successfully set up a product, your client can order it by choosing from the default configurable options.
PX2 53.png
In case those options do not suit your needs, you can edit them.

Go to 'Setup' 'Products/Services' 'Configurable Option' and press the edit button next to the configurable option used by your product.

PX2 54.png
Here you can view all the products this configurable option group is assigned to.

Now, we will show you how to edit options. Let's say you want to add an option to order a VPS with 4 cores per socket.
To do so, edit 'The number of cores per socket' by pressing the edit button as shown on the screen below.

PX2 55.png
You will see a popup window, so make sure your browser will not block it.

To add a new option, enter it in a textbox under all other options, but if you want to replace it with option you currently have, simply edit its textbox.
Finish through pressing 'Save Changes'.

PX2 56.png

List of Configurable Options

The table below lists all configurable options used by the module for the chosen virtualization type.
Note that the name on the left is a variable (which you should not edit) separated by the | from the editable custom name.

The number of CPU sockets|CPU Sockets
cores|CPU Cores
The number of cores per socket|CPU Cores
cpulimit|Limit Of CPU
cpulimit|Limit Of CPU
CPU weight for a VM|CPU Weight For The VM
CPU weight for a VM|CPU Weight For The VM
Amount of RAM|Amount Of RAM
Amount of RAM|Amount Of RAM
Disk Space|Disk Space
Disk Space|Disk Space
Amount of SWAP|Amount Of SWAP
additionalDisksSpace|Additional Disks Space
IP Addresses|IPv4 Addresses
IP Addresses|IPv4 Addresses
IPv6 Addresses|IPv6 Addresses
IPv6 Addresses|IPv6 Addresses
Backups Limit|Backups Size
Backups Limit|Backups Size
Backups Files Limit|Backup Files
Backups Files Limit|Backup Files
VM Template|VM Template
VM Template|VM Template
Network Rate|Network Rate
Network Rate|Network Rate

ISO Image|ISO Image

osType|OS Type

Management of Billing

When you combine Proxmox VPS For WHMCS with Advanced Billing For WHMCS, you will be able to set up additional billing options.

Module allows you to charge your customers basing on the server resources used by them.
Note: Advanced Billing supports OpenVZ (prior to Proxmox v2.3.0), KVM and the LXC virtualization type.

PX 57.png
With Advanced Billing For WHMCS module, you can also display your customers current server resource usage and their cost.
PX 58.png

Management of Existing Accounts

You can easily use Proxmox VPS module with your existing Proxmox accounts. To do so, follow the instructions below:

1. Create and configure a Proxmox VPS server and a server group.
2. Create and configure a Proxmox VPS product.
3. Place a new order with a previously created product for your customer. Do not activate the product yet.
4. Access the just created product from the admin area via client profile → 'Products/Services' section and fill out 4 custom fields.
They are 'vmid' and 'node' .
5. If possible, enter IP addresses into fields 'Dedicated IP' and 'Assigned IPs' .
6. Set the product status to 'Active' .
Remember, do not click the 'Create' button during the entire process. That would unnecessarily create a new virtual machine.

Servers Location Management

Important: Server Allocator For WHMCS is required to allow locations management.

In order to allow defining locations for Proxmox VPS, follow the below steps:
1. In your product's 'Module Settings' set up 'Default Node' to 'Server-Node'.
2. Create a WHMCS server for each Proxmox node.
3. Manually create a configurable option, name it for example: 'Location'. Add options for each server within that config option.
4. Install our Server Allocator For WHMCS module and configure it properly.

It must assign a server to a product depending on the selected option in 'Location' configurable option.

Keep in mind that all locations must have exactly the same configuration.

Now, a client may order a VPS and select 'Location'. Server Allocator For WHMCS will change the server assigned to the product.

Create action is triggered on the assigned server due to the 'Server-Node' option enabled.


1. Operations performed on the virtual servers are not executed immediately. Give your Proxmox Virtual Environment some time for processing the request and execution of operation.
2. Multiple physical Proxmox servers can be joined into one cluster.

When they are joined into one cluster, you can access all of them by connecting to any.

  • auto-node - Creates a new VM on the server (node) with the most free resources, so the administrator cannot control it.
  • server-node - Creates a VM on the server node which IP address or node host (e.g. was provided during the WHMCS's server configuration,
    respectively the administrator is allowed to control the node choice.
3. If you set the product type as 'Hosting Account' when adding a new product, you will not have to fill out nameservers, they will be automatically set up.
4. OS Templates are not automatically downloaded while configuring a product.
For each virtualization type, templates are downloaded from the Proxmox server depending on which one of them they are generated for.
5. OS Templates are loaded from the Storage. Make sure the module can access its content by selecting appropriate permissions for the chosen Storage.
6. KVM virtualization supports only graphs concerning 'Bandwidth'. Other virtualizations support all graphs.
This is due to API limitations.
7. When PAM authentication is used it is necessary to create a client first in order to change the password correctly. Read more about it here.
8. As this module supports templates system, any changes made in the module's templates files will be saved after the upgrade process.
9. If you are currently using the module in the 2.3.2 version or previous, and would like to migrate to Proxmox VE V5.X, you need to update the files on your Proxmox server to the new version from the 'UploadOnProxmoxServer' folder.
10. OS Templates serve purely as operating systems for a VM, while VM Templates contain complete configuration of a VM, the amount of resources included.

Update Instructions

Essential guidance through the process of updating the module is offered here.

Please note that each time you update the module, you have to also update the files on the Proxmox server described in the step 4 of the installation guide.

Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!
To take advantage of it, simply use the License Upgrade button located on the product's page and a discounted invoice will be generated automatically.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Error 'Could not create PVE2_API object' during connecting via the noVNC console.

Reason: User account does not have permission to access the noVNC console.
Solution: Proceed to the product's 'Module Settings' tab and check whether selected a user permission grants access for the noVNC console.
Afterward, proceed to the client's hosting and run 'Change User Role' on it.

To change user role for all clients please use the 'Cron job users synchronization (run only once)' cron command.
You will find it in the 'Proxmox Addon' → 'General Settings'.

3. Error 'This connection is untrusted' during connecting via the noVNC console.

Reason: Your certificate is not valid.
Quick Solution: Your client needs to add the Proxmox address to the certificate exception list.
Best Solution: Configure a valid certificate.

4. Blank page during connecting via noVNC console.

Reason: You have not uploaded the additional files on the Proxmox server.
Solution: Open 'UploadOnProxmoxServer' and upload content of proper version on all Proxmox servers into the '/usr/share/novnc-pve/' folder.

5. Error 'Change password failed: user 'xxx' does not exist'

Reason: You have not created a client yet.
Solution: When PAM authentication is used, it is necessary to create a client first in order to change the password correctly. Read more about it here.

6. Error 'Function "ssh2_connect" does not exist. Please Install SSH2 PECL before you start using the script.'

Reason: You have not updated the php.ini file
Solution: After SSH2 PECL installation be sure that you have updated php.ini files for CLI and webserver.

7. Once you have updated your Proxmox VPS For WHMCS to Proxmox VPS For WHMCS V2.0.0, it is always required to save your product configuration
in module settings again.
8. The current disk usage for the KVM virtualization type is not properly displayed.
This is due to API limitations which currently do not return the correct value, which is always set to '0' .
9. Proxmox VPS For WHMCS does not provide a direct support for HA clusters.
Personal tools

WHMCS Modules
cPanel Modules
Magento Extensions
Magento Themes
PrestaShop Modules
Blesta Extensions
Proxmox VPS For WHMCS