Personal tools
Namespaces

Variants
Actions

Proxmox Cloud 2.X For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
Line 1: Line 1:
<h4 style="color: #ff0000; font-weight:bold; text-align:center;">Article update is ongoing on this page, watch out for broken links and unclear descriptions!<br/>
 
We are sorry for the inconvenience caused.</h4>
 
 
<meta name="keywords" content="proxmox cloud for whmcs, proxmox cloud configuration, whmcs proxmox cloud management, whmcs proxmox cloud installation, whmcs proxmox cloud common problems, about whmcs proxmox cloud, whmcs proxmox cloud documentation, whmcs proxmox cloud faq, whmcs proxmox cloud help, whmcs proxmox cloud guide, whmcs proxmox cloud wiki, whmcs proxmox cloud tutorial, whmcs proxmox cloud tips, whmcs proxmox cloud wiki"></meta>
 
<meta name="keywords" content="proxmox cloud for whmcs, proxmox cloud configuration, whmcs proxmox cloud management, whmcs proxmox cloud installation, whmcs proxmox cloud common problems, about whmcs proxmox cloud, whmcs proxmox cloud documentation, whmcs proxmox cloud faq, whmcs proxmox cloud help, whmcs proxmox cloud guide, whmcs proxmox cloud wiki, whmcs proxmox cloud tutorial, whmcs proxmox cloud tips, whmcs proxmox cloud wiki"></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Proxmox Cloud For WHMCS Module."></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Proxmox Cloud For WHMCS Module."></meta>
Line 97: Line 95:
 
{|
 
{|
 
|style="padding: 0px 0px 0px 30px;"|✔ Create And Store Full Backup Of VMs Configuration
 
|style="padding: 0px 0px 0px 30px;"|✔ Create And Store Full Backup Of VMs Configuration
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Manage SSH Key Pairs For KVM Template
 
|}
 
|}
 
{|
 
{|
Line 243: Line 244:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Advanced Billing For WHMCS</u> - Server Resource Usage Billing [http://www.modulesgarden.com/products/whmcs/advanced_billing/features (read more)]
+
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Advanced Billing For WHMCS</u> - Server Resource Usage Billing [https://www.modulesgarden.com/products/whmcs/advanced-billing (read more)]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Proxmox Cloud Autoscaling For WHMCS</u> - Automated Servers Resizing [http://www.modulesgarden.com/products/whmcs/proxmox_cloud_autoscaling/features (read more)]
+
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>Proxmox Cloud Autoscaling For WHMCS</u> - Automated Servers Resizing [https://www.modulesgarden.com/products/whmcs/proxmox-cloud-autoscaling (read more)]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>IP Manager For WHMCS</u> - Complete Management of IP Subnets [http://www.modulesgarden.com/products/whmcs/ip_manager/features (read more)]
+
|style="padding: 0px 0px 0px 30px;"|✔ Integrated With <u>IP Manager For WHMCS</u> - Complete Management of IP Subnets [https://www.modulesgarden.com/products/whmcs/ip-manager (read more)]
 
|}
 
|}
 
{|
 
{|
Line 255: Line 256:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports Proxmox VE 4.X
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports Proxmox VE Up To 5.X
 
|}
 
|}
 
{|
 
{|
Line 474: Line 475:
 
Finish configuration at '' 'Module Settings' '' tab through pressing '' 'Save Changes'. ''<br />
 
Finish configuration at '' 'Module Settings' '' tab through pressing '' 'Save Changes'. ''<br />
 
'''Important: Keep in mind that the root password is generated automatically for KVM virtualization upon its creation and reset.'''<br />
 
'''Important: Keep in mind that the root password is generated automatically for KVM virtualization upon its creation and reset.'''<br />
'''There is no possibility to set your own password due to Proxmox API limitations to KVM virtualization. '''
+
'''If you want be able to set your own password on KVM virtualization go check the [https://www.docs.modulesgarden.com/Proxmox_Cloud_For_WHMCS#Configuration_of_SSH_Keys_.28KVM.29 Configuration of SSH Keys] section.'''
 
|}
 
|}
 
{|
 
{|
Line 549: Line 550:
 
{|
 
{|
 
|style="padding: 0px 0px 30px 25px;"|[[File:PXC2__25_1.png]]
 
|style="padding: 0px 0px 30px 25px;"|[[File:PXC2__25_1.png]]
 +
|}
 +
==Configuration of SSH Keys (KVM)==
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|'''SSH keys are required to enable the automatic resizing of partition upon the disk upgrade as well as the change of passwords for KVM virtualization type.'''<br />
 +
'' '''Note''' - 'Resize Partition' and 'Change Root Password' will only work for '''newly created VMs'''. We recommend using this option only for new products.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:PXC2_65.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''33. First, create a new [https://pve.proxmox.com/wiki/VM_Templates_and_Clones VM Template] that you will use for the KVM image.'''<br />
 +
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.<br />
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:PXC2_66.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''34. Next, while in your WHMCS, go to the '' 'Proxmox Addon' '' → '' 'Settings' '' → '' 'SSH Keys' '' and press '' 'Add' '' button.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:PXC2_67.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|'''35. Enter the name and location to the key pairs located on your WHMCS server.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:PXC2_68.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''36. Then, go back to the product configuration and in ' ''KVM Configuration' '' → '' 'VM SSH Root Key' '' select the pair of keys you want to use. '''<br /> Enter the SSH communication port and select features you want to use.<br />Make sure '''they match''' the '' 'KVM OS Template' '' that will be used.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:PXC2_69.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''37. Now, '' '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 with the newly added value. <br /> The feature deletes the current partition table, then creates a new one according to the new disk size and reboots the VM machine. '' '''<br/> Note - in case of any failure, all data might be lost on the resized partition!''' ''
 +
* ''' Change Root Password ''' - this option is responsible for the automatic reset of a password after the VM creation. It also allows users to generate a new root password during the VM usage.
 +
'' '''Note''' - if a customer decides to remove the public key from VM on their own, it will make the 'Resize Partition' and 'Change Root Password' options no longer working!''
 +
<br /><br />
 +
From now on, for newly created VMs clients will be able to set their own password.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:PXC2_70.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|The partition will be also automatically resized during the VM upgrade if a disk size is different than the one set as default in the template.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:PXC2_71.png]]
 
|}
 
|}
  
Line 687: Line 738:
 
{|
 
{|
 
|style="padding: 0px 0px 30px 25px;"|[[File:PX2_35_1.png]]
 
|style="padding: 0px 0px 30px 25px;"|[[File:PX2_35_1.png]]
 +
|}
 +
===SSH Keys===
 +
{|
 +
|style="padding: 10px 0px 15px 15px;"|SSH Keys section allows you to manage your SSH key pairs that will be used for your KVM virtualization.<br/>
 +
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. <br />
 +
For more information, go to the [https://www.docs.modulesgarden.com/Proxmox_Cloud_For_WHMCS#Configuration_of_SSH_Keys_.28KVM.29 Configuration of SSH Keys] section.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:PX2_35_2.png]]
 
|}
 
|}
  
Line 1,136: Line 1,196:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|5. As this module supports templates system, any changes made in the module's templates files will be saved after the upgrade process.
+
|style="padding: 0px 0px 5px 15px;"|6. As this module supports templates system, any changes made in the module's templates files will be saved after the upgrade process.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 15px;"|7. If you currently use 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.
 
|}
 
|}
  

Revision as of 15:23, 2 August 2017


Contents

About Proxmox Cloud For WHMCS

Proxmox Cloud For WHMCS offers your clients the possibilities to create, remove and freely resize their own virtual servers within resource limits defined by you.

With our module your customers will be able to single-handedly create as many servers as they need and manage aspects like backups, network devices or firewall.
This gorgeous product lets you also conveniently manage servers, IP addresses and clusters owing to the unique Proxmox Addon attached to the module.

  • Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate User Account
✔ Change Package
✔ Change User Role
✔ Migrate/Import/Delete Server
✔ Edit Server Node
✔ 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, SWAP and Memory Usage Of Each Product
✔ Select Server Locations Available For Clients
✔ Configure Client Area Features Per Product
✔ Define Static Or Dynamic Resource Limits
✔ Define Server Minimum And Maximum Resource Values
✔ Import IP Address To Hosting IP Addresses Table
✔ Return IP Address To IP Addresses Subnet
✔ Add Additional IP Address To VM
✔ Enable Backups Routing
✔ Enable Auto VM Backups Before Reinstallation
  • Proxmox Addon Features:
✔ Display Servers List Per VPS And Cloud
✔ Manage Public & Private 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:
✔ Create/Edit/Delete Servers
✔ Boot/Reboot/Stop/Shutdown/Rebuild Server
✔ Choose Location For New Servers
✔ View Available Resources
✔ 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)
✔ Create/Upload/Download Public And Private SSH Keys (LXC)
✔ View Graphs - With Ability To Change Time Scale of MRTG Graphs
✔ View Task History
✔ View Network Devices and Manage Private Interface
✔ Manage Private Networks And Assign Them To Multiple Servers
✔ Create Server Snapshots (KVM)
✔ Create VM Template From Server - KVM Virtualization Only
✔ Manage Firewall
✔ View Server Status, Details And Statistics
✔ Display Disk And Bandwidth Usage
✔ Display CPU, SWAP and Memory Usage
✔ Change Boot Order (KVM)
✔ Change ISO Image (KVM)
✔ Choose Server Resources While Ordering And Upgrade/Downgrade Them Freely
  • Configurable Options:
KVM:
✔ CPU Sockets Limit
✔ CPU Cores Limit
✔ CPU Weight Limit
✔ Memory Limit
✔ Storage Limit
✔ Bandwidth Limit
✔ IPv4 Addresses Limit
✔ IPv6 Addresses Limit
✔ Backups Size Limit
✔ Backups Files Limit
LXC:
✔ CPU Cores Limit
✔ CPU Weight Limit
✔ SWAP Limit
✔ Memory Limit
✔ Storage Limit
✔ Bandwidth Limit
✔ IPv4 Addresses Limit
✔ IPv6 Addresses Limit
✔ Backups Size Limit
✔ Backups Files Limit
  • General Info:
✔ Supports PVE And PAM Authentication
✔ Supports KVM and LXC Virtualization
✔ Integrated With Advanced Billing For WHMCS - Server Resource Usage Billing (read more)
✔ Integrated With Proxmox Cloud Autoscaling For WHMCS - Automated Servers Resizing (read more)
✔ Integrated With IP Manager For WHMCS - Complete Management of IP Subnets (read more)
✔ Multi-Language Support
✔ Supports Proxmox VE Up To 5.X
✔ Supports IPv4 and IPv6
✔ Supports Custom Hooks
✔ Supports PHP 5.4 Up To PHP 7
✔ Supports WHMCS Templates Five and Six
✔ Supports WHMCS V6 and V7

Installation and Configuration

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

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

Installation

1. Log in to your client area and download the module.
PXC2 1.png
2. Extract the module and upload content of 'UploadOnProxmoxServer' on all Proxmox servers into '/usr/share/novnc-pve/' folder.

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

3. 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 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.
It does not apply to open source versions.

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

PX2 2.png
4. 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
5. When you install Proxmox Cloud For WHMCS for the first time you have to rename 'license_RENAME.php' file.

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

PXC2 3.png
6. In order to configure your license key, you have to edit a 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 your client area → 'My Products'.

PXC2 4.png

Activation of Proxmox Addon

7. Firstly, you should activate Proxmox Addon.

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

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

To do so, click on '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 'Add New Server'.

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

Choose 'ProxmoxCloud' from a dropdown menu and press 'Save Changes'.
The last step is choosing authentication from the 'Authentication' dropdown menu.
Note: Authentication depends on the realm used by a user on Proxmox server.

PXC2 8.png
11. After you configure your server correctly, you will see a following screen.

You can check connection with Proxmox server. To do so, simply press 'Test Connection' as shown on the screen below.

PXC2 9.png
12. It is time to create a server group. To do so, click on 'Create New Group'.
PXC2 10.png
13. Enter name, click on your previously created server, press 'Add' and afterwards 'Save Changes'.
PXC2 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 product group name and press 'Save Changes'.
PXC2 13.png
16. When you have a product group, you are able to create your product.

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

PXC2 14.png
17. Afterwards, choose your product group and 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 here 'Hosting Account'.

PXC2 15.png
18. Now, go to 'Module Settings' section, choose both 'ProxmoxCloud' and your previously created server group from dropdown menus.

Next, click on 'Save Changes'.

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

Available virtualization types:
KVM
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 bandwidth usage should be counted.
Afterwards, press 'Save Changes'.
Note: If you choose 'Auto-Node' as 'Default Note', new virtual servers will be created on the least used node.

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

From dropdown menus choose 'KVM OS Type', 'Default Storage', 'Disk Type' and 'CD/DVD-ROM Type'.
Choose ISO images available for your clients by marking them in 'ISO Image'.

Set network through selecting from 'Network Mode', 'Network Model', and 'Bridge' dropdown menus.
If you are going to allow your clients to manage their private networks, you must select 'Private Bridge' and set up VLAN TAG Range.
Type your VM description in 'Container Description', set backup location in 'Storage' dropdown menu and click 'Save Changes'.
Here you may also decide whether you wish to use DHCP software to automatically assign IP addresses, simply select option 'ISC DHCP Server'.
Read more about its installation here.

PXC2 18.png
21. Setting of LXC virtualization type (skip, if you have chosen 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 Proxmox server, you will not be able to start this virtualization.

PXC2 18 1.png
22. Setting OpenVZ virtualization type (skip, if you have chosen KVM virtualization type).

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

From dropdown menus choose 'OpenVZ OS Templates', 'Default Storage', 'Network Mode' and 'Bridge'.
Type in your virtual servers description in 'Container Description' and press 'Save Changes'.

Remember! This virtualization type is supported only by Proxmox VE 3.4. and earlier.
If you are using the latest version of Proxmox server, you will not be able to start this virtualization.

PXC2 19.png
23. Private Network Management - to allow clients manage their private networks please set up 'Network Device' section properly.
  • Select 'Private Bridge'
  • Select 'Private Network Model'
  • Enter ranges for VLAN TAG

Info: Configure these three options for KVM and LXC virtualization.
If you skip this step, clients will not me allowed to add private networks.

PXC2 20 1.png
24. The next step is setting up configuration of backups.

Define backup settings in 'Backups' section through selecting values from 'Storage' and 'Backups Routing' dropdown menus.
Backups routing automatically removes the oldest backup when a new backup is created and a backup limit is reached.
Additionally, you can limit the time period for storing backups by providing the number of days into 'Store The Backup For N Days' field.
Furthermore, you can define firewall rules limit and interface to apply rules to.
Finish configuration at 'Module Settings' tab through pressing 'Save Changes'.
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.

PXC2 20.png
25. Set up server limits to control the size of created servers.
PXC2 21 1.png
26. The final step is generating custom fields and deciding whether to set up product with static or configurable resources.

Press 'Generate default' next to 'Custom Fields'.
Static Resources: Fill in the fields in 'Default Configuration' section with desired values.
Configurable Resources: Click on 'Generate Default' next to 'Configurable Options'.
Press 'Save Changes' at the bottom of the page.
Note that while generating 'Configurable Options' it is advisable to delete the ones you do not use, e.g. for KVM virtualization delete swap option or IPv6.

PXC2 21.png
27. In the end of the product configuration you have to add cron job that is shown below (5 minutes interval suggested).
php -q /your_whmcs/modules/servers/proxmoxCloud/cron/cron.php

Do not forget to replace 'your_whmcs' with your WHMCS root location.

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

Configuration of Addon

28. Add a new IP address.

In order to create a new product you have to add a dedicated IP pool to 'IP Addresses' list in 'Proxmox' addon module.
To do so, go to 'Addons' 'Proxmox Addon' 'IP Management' and press 'New IP Addresses'.
Note: You can add both IPv4 and IPv6 addresses.

PXC2 30.png
29. Type in the desired IP and mask in 'IP Pool' and choose server from 'Server' dropdown menu.

Select 'Private Address' if added address is such, clients will be allowed then to manage their private network - add, remove and configure.
Afterwards, press 'Add'.
Note! Automatic IP assignment works only for OpenVZ/LXC machines.
In case of KVM virtualization IP addresses must be manually added to the pool in Proxmox addon or IP Manager to allow their automatic assignment!
Important: Private IP addresses are not downloaded for IP Manager module.

PXC2 23.png
30. You are now able to create new virtual machines at product.

If you used KVM virtualization type, the client area of successfully created product should look similar to the one on the screen below.

PXC2 24 1.png
31. The client area of product using LXC virtualization type looks quite similar.
PXC2 25.png
32. This is how an exemplary product's details look like in admin area.

Allowed actions:

  • Create
  • Suspend/Unsuspend
  • Terminate
  • Change Package
  • Change User Role
PXC2 25 1.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 KVM virtualization type.

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

PXC2 65.png
33. 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.

PXC2 66.png
34. Next, while in your WHMCS, go to the 'Proxmox Addon' 'Settings' 'SSH Keys' and press 'Add' button.
PXC2 67.png
35. Enter the name and location to the key pairs located on your WHMCS server.
PXC2 68.png
36. 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.
PXC2 69.png
37. Now, '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 with the newly added value.
    The feature deletes the current partition table, then creates a new one according to the new disk size and reboots the VM machine.
    Note - in case of any failure, all data might be lost on the resized partition!
  • Change Root Password - this option is responsible for the automatic reset of a password after the VM creation. It also allows users to generate a new root password during the VM usage.

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

From now on, for newly created VMs clients will be able to set their own password.

PXC2 70.png
The partition will be also automatically resized during the VM upgrade if a disk size is different than the one set as default in the template.
PXC2 71.png

Management

Proxmox Cloud For WHMCS allows your customers to manage their PVE servers via client area in your WHMCS system.

You can monitor and manage each product from your WHMCS admin area.
To view VM details(1), migrate VM(2), update VMs node(3) or delete VM(4) press a specific button.
To view details of virtual server created by your client simply press 'Load Status' button.

PXC2 26.png
On the following screen you can see loaded details of the VM as well as opened migration popup.

Migration is useful when you want to request migration from the WHMCS admin area, while editing node is useful for updating details after migrating VM from Proxmox panel.

PXC2 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 server edit page.

VMs List

In 'Addons' 'Proxmox Addon' 'Servers' 'VMs List' you can find details on any proxmox product.
PX2 28 1.png
Use 'Toggle Filters' button to find entries you are interested in the most.
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 'IP Management' tab you can add, edit and remove IP addresses of Proxmox products.
PXC2 30.png
Fill out the required fields. Here you may also define private IP addresses. Simply mark adequate field.

Only if some private IP addresses are added then clients may manage they private networks and assign IP addresses to VM.

PX2 30 1.png

Clusters

'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 VM on your server to a template.

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

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

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

PX2 34.png

General Settings

'Minimal VMID' allows you to define minimal ID of VM created from server, which does not have VMID range defined.

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

PXC2 35.png

VM Cleaner

VM Cleaner allows you to track VM existing only on your Proxmox server and that are not visible in your WHMCS.
Consequently, you are allowed here to sort and delete only those VM that are not 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 Cloud For WHMCS allows your clients to create their own virtual servers.

They can also view resources used and manage existing virtual servers.

PXC2 36.png

New Server

In order to add a new server, press 'Add New Server' button.
PXC2 37.png
Afterwards, enter 'Hostname', choose 'OS Type' and select resources for your server by using sliders.

Instead of using the sliders you can also enter resources values into textboxes.
Confirm creation through pressing 'Add New Virtual Server'.
Note! Data to be filled in may differ according to which type OpenVZ or KVM you have chosen.

PXC2 38.png
To manage your virtual server simply press 'Manage' button next to it.

You can find information about managing your virtual servers in next section.

PXC2 39.png
If you do not need a particular virtual server anymore, press 'Delete' button to remove it.
PXC2 40.png

Private Network Management

Move to 'Private Network Management' to add, delete and edit your private networks.

Please keep in mind that this option must be enabled by administrator in your product's 'Module Settings' previously and a private IP address must be added in the Proxmox Addon.
Otherwise you will no be able to add any private network successfully.

PXC2 60.png
In that section you will find all existing private networks with any details such as assigned virtual machines.
To create a new network press 'Add Private Network'.
PXC2 61.png
Type in the name and select virtual machines from available that will have the private IP Addresses assigned.
PXC2 61 1.png
New private network automatically appears on the list. You may edit (1) it or delete (2) whenever needed.
PXC2 61 2.png

Templates Management (KVM Only)

Press 'Templates', you will be redirected to a site where you will find the list of currently created templates along with their details and access to basic actions.
PXC2 62.png
You may edit or delete existing templates. To add a new one, simply press 'Add Template' button.

OS templates do not consume any resources such as CPU sockets, memory etc.
Important! When you convert server into a template, it is consumed in the process! There is no possibility to revert it back.

PXC2 63.png
Select server from dropdown menu and type in its short description. Save changes when ready.
PXC2 64.png

Client Area - VM Management

Client area interface of virtual server should look like the one on the screen below.

As you can see, control panel contains useful options needed for managing VPS.
The module allows your customers to easily boot, stop, reboot and shutdown their VM through pressing a specific button.
Clients can also upgrade server and access VNC, SPICE and noVNC consoles.
Any additional tools are described in details in below sections.

PXC2 41.png

VNC Console

VNC console allows your clients to remotely manage the server. To access it, simply press the 'VNC Console' button.

Console requires Java software and you need to accept security risk to run it.

PX2 39.png

noVNC Console

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

SPICE Console

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

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

PX2 40.png

Upgrade

Upgrade feature allows you to change server details and resources except 'Template' and 'Password' . To edit your server, click 'Upgrade' button.

Afterwards, alter options you desire and confirm through pressing 'Save Changes' button.

PXC2 42.png

Client Area - Additional Tools

Backups

To create a single backup, proceed to 'Backups' section and click 'New Backup' as shown on the following screen.
PXC2 47.png
Now choose 'Compress Dump File' and 'Backup Mode' from dropdown menus.

Afterwards, press 'Add' button.

PXC2 48.png
To restore VM from a backup simply press 'Restore' and then click 'OK' button in a popup window to confirm.
PXC2 49.png

Backup Jobs

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

To add a new backup job press 'New Job' as shown on the following screen.

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

Next, press 'Add' button. You may also enable email notifications here.

PXC2 51.png

Usage Graphs

Under 'Usage Graphs' page, a client can find graph with CPU usage, memory usage, network traffic and disc I/O.

They can also switch the timeline of the graphs by choosing it from a dropdown menu pointed on the following screen.

PXC2 46.png

Task History

All changes of VM status are listed in 'Task History'.

Additionally, each access to the VM through SPICE console is shown here.

PXC2 52.png

Network

'Network' section allows your clients to view their VM's network interface.

Depending on the settings of the product (private network is used), they can also create/remove them. This feature is optional.

PXC2 53.png

Snapshots (KVM only)

Use snapshot to remember the contents of virtual machine memory current state. You may use them later to restore the VM settings.
PXC2 52 1.png
Press '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 some description.
PXC2 48 11.png

Firewall

Owing to 'Firewall' page, your clients can set up firewall rules and enable security group for theirs 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.

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

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

PXC2 53 2.png
Inserting a security group consists of choosing security group and interface on which group has to be used.

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

PXC2 53 3.png

Disks (KVM only)

View and manage hard disk within defined limits, add new one or remove additional disks if you wish.
PXC2 52 2.png

Scheduled Task

Proceed to 'Scheduled Tasks' section to view details on any current task.
PXC2 52 3.png

Automatic IP Address Assignment

Automatic IP address assignment can be applied to your Proxmox module, all you need to do is to install 'DHCP' (Dynamic Host Configuration Protocol).
IP addresses will be then 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 'KVM' virtualization type.
Read the below section to learn how to properly install and configure DHCP.

1. First of all, you need to install SSH2 package. You will find precise instructions on how to do that here.
2. Now, you may move to ISC DHCP installation and configuration. Follow the steps below:
  • Install DHCP server package on your Proxmox Node, 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, run below command to create the file:
sudo nano  /etc/dhcp/dhcpd.conf

Below there is an exemplary content of 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 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "mydomain.example";
subnet 192.168.1.0 netmask 255.255.255.0 {
#ProxmoxIPv4
host 1 {hardware ethernet 32:62:39:64:33:33;fixed-address 1.1.1.101;}
host 2 {hardware ethernet 32:39:61:31:33:66;fixed-address 1.1.1.243;}
}


  • Key words: #ProxmoxIPv6 #ProxmoxIPv4 suggesting the usage of a specific type of IP address, must be located in the above mentioned file.
Note: Only key word corresponding to a used IP type is required. If you do not use IPv6 then #ProxmoxIPv6 key word is not obligatory.
  • More info about configuring DHCP server can be found here.
3. Turn on ISC DHCP.

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

PXC2 48 1.png

IP Manager Integration

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

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

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

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

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

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

PXC 54.png
6. Next, assign a previously created configuration to the submodule.

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

PXC 55.png

Importing VM

Our module allows you to easily import VM into your cloud product.

To do so, press 'Import VM' as shown on the following screen.

PXC2 45 3.png
Afterwards, select the node on which the server exists and fill in 'VMID' field.

Confirm importing through pressing 'Save Changes' button.

PXC2 45 4.png

Custom Hooks

Our module allows you to use custom hooks, all you need is knowledge of PHP programming language.

Custom hooks are placed in 'your_whmcs/modules/servers/proxmoxCloud/customhooks.php' .
You can find there all custom hooks and basic information about them.
A full list of available custom hooks:

proxmoxCloud_beforeCreateVM 
proxmoxCloud_afterCreateVM
proxmoxCloud_beforeTerminateVM
proxmoxCloud_afterTerminateVM
proxmoxCloud_beforeCreate
proxmoxCloud_afterCreate
proxmoxCloud_beforeTerminate
proxmoxCloud_afterTerminate
proxmoxCloud_afterSuspend
proxmoxCloud_afterUnsuspend
proxmoxCloud_afterIPAdditionByAdmin
proxmoxCloud_afterIPDeletionByAdmin
proxmoxCloud_afterIPAdditionByUpgrade

Configurable Options

When you successfully set up a product, your clients can order it by choosing from the default configurable options.

Note! If automatically generated configurable options do not seem to fulfill your clients needs, you can edit them using this guide.

PXC246.png
If you decide to set up pricing per server resource ordered, you can find instruction to proceed here.
PXC248.png

Management of Billing

When you combine Proxmox Cloud 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.

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

Products Autoscaling

If you want to meet the needs of your clients then give them the possibility to scale provisioned servers according to their current load automatically.

To achieve that you need our Proxmox Cloud Autoscaling extension with Advanced Billing For WHMCS product.
Only then, when you have such a combination of products your offer will be full.

PXC52.png
With the combination of these three items, you will be able to formulate a set of rules basing on which specified servers will be modified at the right time.

Advanced Billing For WHMCS will bill your clients for the currently used servers and its extension, Proxmox Cloud Autoscaling, will adjust the size of Cloud product to the current needs.

PXC51.png

Tips

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 of them.
While auto-node creates new VM on the server(node) with the most free resources, server-node creates VM on the server(node) which IP address it has (WHMCS's server configuration).

3. 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.
4. To name the location accordingly to your needs, within the module change the lang into:
$_LANG['node_X']='Your friendly name for node_X';
5. 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. As this module supports templates system, any changes made in the module's templates files will be saved after the upgrade process.
7. If you currently use 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.

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 noVNC console.

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

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

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

4. Blank page during connecting via noVNC console.

Reason: You have not uploaded 'mgnovnc.html' on to the Proxmox server.
Solution: Extract the module and upload 'mgnovnc.html' file located in 'UploadOnProxmoxServer' on all Proxmox servers into '/usr/share/novnc-pve/' folder.

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

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

6. After you have updated your Proxmox Cloud For WHMCS to Proxmox Cloud For WHMCS V2.0.0, it is always required to save your product configuration in module settings again.
7. If you see an error: 'Invalid VLAN TAG Range' configuration or other when trying to add a new private network, please make sure you have completed all required options in Module Settings.
These are: 'Network Device' → 'Private Bridge', 'VLAN TAG Range From' and 'VLAN TAG Range To'.
8. 'OS Architecture Type ' option for LXC virtualization type is currently not supported as it not implemented in Proxmox itself.
We are sorry for inconvenience.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Proxmox Cloud 2.X For WHMCS