Personal tools
Namespaces

Variants
Actions

Proxmox Cloud 2.X For WHMCS

From ModulesGarden Wiki
Revision as of 13:03, 17 April 2014 by Gregor (Talk | contribs)

Jump to: navigation, search

Contents

About Proxmox Cloud For WHMCS

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

Proxmox Cloud For WHMCS is a powerful module which allows you to provide your client with availability to create their own servers in resource limit defined by you.

Additionally it allows you to conveniently manage your servers, IP addresses and clusters.
The great advantage of this module is the fact that customers can manage virtual servers, backups and much more in your WHMCS client area!

  • Admin Area Features:
✔ Create Server/User
✔ Suspend/Unsuspend Server/User
✔ Terminate Server/User
✔ Import Server
✔ View Server Status, Details And Statistics
✔ View Graphs (With Ability To Change The Time Scale of MRTG Graphs)
✔ Display Disk And Bandwidth Usage Of Each Product
✔ Possibility To Import IP To Hosting IP Addresses Table
✔ Possibility To Return IP To IP Addresses Pool Possibility To Add Additional IP To VM
✔ Possibility To Add Additional IP To VM
✔ Configuration Of Features Available At The Client Area
  • Proxmox Addon Features:
✔ Servers List (VPS And Cloud)
✔ IP Management (Per Server)
✔ Clusters (Per Server)
✔ KVM Templates
  • Client Area Features:
✔ Create VM
✔ Boot Server
✔ Reboot Server
✔ Stop Server
✔ Shutdown Server
✔ Edit Server
✔ VNC Console
✔ Create Backups
✔ Restore Backups
✔ Backup Routing
✔ Backup Jobs
✔ Task History
✔ Backup Files & Job Limits (Max Number Of Files & Max Size Of Files)
✔ View Server Status, Details And Statistics
✔ View Graphs (With Ability To Change The Time Scale of MRTG Graphs)
✔ Display Disk And Bandwidth Usage
✔ Easy VM Upgrade/Downgrade
✔ Change Boot Order (KVM)
✔ Change ISO Image (KVM)
  • Additionally:
✔ Supports PVE And PAM Authentication
✔ Dynamically Chosen Server Resources While Ordering And Possibility To Upgrade Those Resources
✔ Integrated With Advanced Billing For WHMCS - Server Resource Usage Billing (read more)
✔ Integrated With IP Manager For WHMCS - Complete Management of IP Pools (read more)
✔ Multi-Language Support
✔ Supports Proxmox VE 3 and Later
✔ Supports IPv4 and IPv6
✔ Custom Hooks
✔ Supports WHMCS V5 and Later
  • Available 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
OpenVZ:
✔ 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

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 Proxmox Cloud For WHMCS.
File:PXC1.png
2. Upload and extract the module into the main WHMCS directory.
File:PXC2.png
3. When you install Proxmox Cloud for the first time you have to rename 'license_RENAME.php' file.

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

File:PXC3.png
4. 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 at your client area → 'My Products' .

File:PXC4.png

Activation of Proxmox Addon

5. 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' .

File:PXC5.png
6. In next step you need to permit access to this module.

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

File:PXC6.png

Configuration of Server

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

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

File:PXC7.png
8. Next, enter your server name, IP address, username and password.

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

File:PXC8.png
9. 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.

File:PXC9.png
10. It is time to create a server group. To do so, click on 'Create Server Group' .
File:PXC10.png
11. Enter name, click on your previously created server, press 'Add' and afterwards 'Save Changes' .
File:PXC11.png

Configuration of Product

12. In order to create and configure a product go to the 'Setup' → 'Products/Services' → 'Products/Services' .

Click on 'Create a New Group' .

File:PXC12.png
13. Enter product group name and press 'Save Changes' .
File:PXC13.png
14. When you have a product group, you are able to create your product.

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

File:PXC14.png
15. Afterwards, choose your product group and type from dropdown menus, enter your product name and press 'Continue' .

'Product Type' should be set to 'Dedicated/VPS Server' in order to add nameservers later.

File:PXC15.png
16. Now, go to the 'Module Settings' section, choose both 'ProxmoxCloud' and your previously created server group from dropdown menus.

Next, click on 'Save Changes' .

File:PXC16.png
17. From dropdown menus choose 'Virtualization Type' , 'Default Node' , 'Template & ISO Storage' and 'User Permission' .

Afterwards, press 'Save Changes' .
Note: If you choose 'Auto-Node' as 'Default Note', new virtual servers will be created on the least used node.

File:PXC17.png
18. Setting of KVM virtualization type. (skip, if you have chosen OpenVZ virtualization type)

From a dropdown menu choose 'KVM OS Type' , 'Default Storage' , 'Disk Type' , 'CD/DVD-ROM Type' and 'ISO Image' .
Set network through selecting from 'Network Mode' , 'Network Model' and 'Bridge' dropdown menus.
Type your VM description in 'Container Description' , set backup location at a 'Storage' dropdown menu and click 'Save Changes' .

File:PXC18.png
19. Setting of OpenVZ virtualization type. (skip, if you have chosen KVM virtualization type)

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

File:PXC19.png
20. Next step is setting up configuration of IP addresses and backups.

If you are using IP Manager For WHMCS you can assign configuration with IPv4 and IPv6 pools at 'IP Manager' section.
For more information, visit IP Manager Integration section.
Otherwise add IP pool via Proxmox For WHMCS addon (more about it in the next section).
Additionally, define backup settings at 'Backups' section through selecting values from 'Storage' and 'Backups Routing' dropdown menus.
Backups routing automatically remove oldest backup when new backup is created and backup limit is reached.
Finish configuration at the 'Module Settings' tab through pressing on 'Save Changes' .

File:PXC19 1.png
21. 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 fields at '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.

File:PXC20.png
22. At the end of product configuration you have to add cron job shown below (each 5 minutes 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

20. Adding new IP address.

In order to create new product you have to add 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.

File:PXC21.png
21. Type desired IP and mask in 'IP Pool' and choose server from a 'Server' dropdown menu.

Afterwards, press 'Add Pool' .

File:PXC22.png
22. 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 as on the screen below.

File:PXC23.png
23. The client area of product using OpenVZ virtualization type looks quite similar.
File:PXC24.png

Management

Proxmox Cloud For WHMCS 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.
To view details about virtual server created by your client simply press 'Load Status' button.

File:PXC25.png
You can view here basic information about virtual server, resource usage and graph of resource usage.

To hide server details, press 'Hide' button.

File:PXC25 1.png

Management of Addon

At the 'Addons' 'Proxmox Addon' 'Server List' you can find servers you have configured.

To see what product are created and assigned to your Proxmox server simply click on its 'Server Name' .

File:PXC26.png
As you can see on the screen below, you can find a lot of useful information here like e.g. IP address, VM ID or VM Type.
File:PXC27.png
At the 'IP Management' tab you can add, edit and remove IP addresses of Proxmox products.
File:PXC28.png
'Clusters' tab contains clusters list. To view information about cluster simply press on its name.
File:PXC29.png
Here you can find various information about cluster, from available resource to graph of their usage.

In order to go back to cluster list, press on 'Back to clusters list' button.

File:PXC30.png

Templates Management

You can easily convert any VM at your server to template.

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

File:PXC30 1.png
Next, choose node and VM to convert.

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

File:PX30 2.png
To access list of all available templates go to the 'Proxmox Addon' 'Templates' 'Show Templates' .
File:PX30 3.png

Client Area

Client area interface of Proxmox Cloud For WHMCS allows your clients to create their own virtual servers.

They can also view their resource usage and manage existing virtual servers.

File:PXC31.png
In order to add new server, press 'Add New Server' button.
File:PXC32.png
Afterwards, enter 'Hostname' , 'Nameserver 1' , 'Nameserver 2' and 'Root Password' .

Choose 'Template' from a dropdown menu and select resources for your server using the sliders.
You can also enter resources values into textboxes instead of using sliders.
Confirm creation through pressing 'Add New Virtual Server' .

File:PXC33.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.

File:PXC34.png
If you do not need a particular virtual server anymore, press 'Delete' button to remove it.
File:PXC35.png

Virtual Server Management

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

As you can see, control panel contains useful options needed for managing VPS.
Module allows your customers to easily boot(1), stop(2), reboot(3) and shutdown(4) their servers through pressing specified button.
Clients can also edit(5) server, access console(6), view graphs of resource usage(7), create backup(8) and set up backup jobs(9).
They can also find here server details and resource usage(10), and IP addresses assigned to virtual server(11).

File:PXC36.png

Edit VM

Edit feature allows you to change server details and resources except 'Template' and 'Password' . To edit your server, click on 'Edit VM' button.
File:PXC37.png
Afterwards, alter options you desire and confirm through pressing 'Save Changes' button.
File:PXC38.png

Console

One of the most interesting functionality is VNC console(6) where your clients can remotely manage server. To access it, simply press on the 'Console' (6) button.

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

File:PXC39.png

Usage Graphs

Under 'Usage Graphs' (7) page, client can find graph of CPU usage, memory usage, network traffic and disc I/O.

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

File:PXC40.png

Backup

To create a single backup, press 'Backup' (8) button and click on 'New Backup' as shown on the following screen.
File:PXC41.png
Now choose 'Compress Dump File' and 'Backup Mode' from dropdown menus.

Afterwards, press 'Add Backup' .

File:PXC42.png
To restore VM from backup simply press 'Restore' and then click 'OK' button in a popup window to confirm.
File:PXC43.png

Backup Jobs

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

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

File:PXC44.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.

File:PXC45.png

Backup Jobs

All changes of VM status are listed at the 'Task History' (10).
File:PXC45 1.png

IP Manager Integration

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

1. Proceed to IP Manager For WHMCS → IP Pools in order to prepare IP addresses pool for Proxmox VPS For WHMCS.
2. Afterwards, create a new configuration and assign previously created pool to it.
Note 1: Do not assign Proxmox VPS For WHMCS product to configuration. Simply, create new configuration with assigned IP addresses pool.
Note 2: Multiple IP addresses pools can be assigned to one configuration.
3. In order to finish, go to the Proxmox VPS For WHMCS product → 'Module Settings' .
Find 'IP Manager' section and choose previously created pool from 'Configuration IPv4' or 'Configuration IPv6' dropdown menu.
Finish through pressing 'Save Changes' .

File:PX45 2.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.

File:PX45 3.png
Afterwards, select node on which server exist and fill both 'VMID' and 'Password' fields.

Confirm importing through pressing 'Save Changes' button.
Note: If you fill 'Password' field with incorrect value, import will be completed successfully but some features may not work for that VM.

File:PX45 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 at 'your_whmcs/modules/servers/proxmoxCloud/customhooks.php' .
You can find there all custom hook and basic information about them.
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 client can order it by choosing from default configurable options.
File:PXC46.png
If automatically generated configurable options do not seem to fill your client needs, you can edit them using this guide to change them.
File:PXC47.png
If you decide to set pricing per server resource ordered, you can find instruction how to proceed here.
File:PXC48.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 based on the server resources used by them.

PXC49.png
With Advanced Billing module, you can also display your customers the current server resource usage and their cost.
PXC50.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.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall is not blocking ports.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
Proxmox Cloud 2.X For WHMCS