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 do not use, e.g. for 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 'Cron' section.
|
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 product 'Dedicated IP ' to 'IP Addresses' list in 'Proxmox' addon module.
To do so, go to 'IP Management' and press 'Add Pool'.
Note: You can add both IPv4 and IPv6 addresses.
|
28. Start by typing desired IP address and mask into 'IP Pool'.
Next, choose a server from 'Server' dropdown menu and define which virtualization it should be applied to through selecting it from 'Virtualization' dropdown menu.
Afterwards, press 'Add'.
Note! Automatic IP assignment works only for OpenVZ/LXC machines.
KVM virtualization does not support IP Management from module. Instead, IP can be assigned via the console.
|
29. You are now able to create a new product using the previously added IP address.
If you use KVM virtualization type, the client area in a successfully created product should look similar to the one on the screen below.
|
30.The client area with an LXC virtualization type product looks quite similar.
|
Management
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.
|
Afterwards, enter IP address in a textbox and confirm through pressing 'Save Changes'.
|
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.
|
Define ID range and save changes.
|
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.
|
Use 'Toggle Filters' button to find entries you are the most interested in.
|
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.
|
IP Management
At 'IP Management' tab you can add, edit and remove IP addresses of Proxmox products.
|
Clusters
'Clusters' tab contains the list of clusters. To view information about a cluster simply press its name.
|
Here you can find various information about a cluster, from available resource to usage graphs.
|
Templates List
Under this page you can view the list of templates. You may also delete unused templates here.
|
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.
|
Next, choose node and VM to convert.
Fill in 'Template Friendly Name' and press 'Save Changes'.
|
General Settings
'Minimum 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.
|
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.
|
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 VM.
The module allows your customers to easily 'boot', 'reboot', 'stop' and 'shutdown' their servers through pressing specific buttons.
Clients can also access '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'.
|
On the main product page in the client area, under '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!
|
noVNC Console
noVNC console allows your clients to connect with their server in the easiest possible way.
|
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.
|
Client Area - Additional Tools
Reinstall
Reinstall feature should be used to change templates. Select template from available templates list to reinstall your server, click 'Reinstall' button.
|
Backups
To create a single backup, press 'Backups' button and click on 'New Backup' as shown on the following screen.
|
Now, choose 'Compress Dump File' and 'Backup Mode' from dropdown menus.
Afterwards, press 'Add'.
|
To restore VM from backup, press 'Restore' and then click 'OK' button in a popup window to confirm.
|
Backup Jobs
By pressing 'Backup Jobs' in your client area, you will be carried to a 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.
|
Now, define backup time, mark days to run it and choose 'Compression Dump File' and 'Backup Mode' from dropdown menus.
Next, press 'Add' button.
|
Graphs
Through pressing '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'.
|
Task History
To access history of VM, simply press 'Task History' button.
|
Network
Your clients are allowed to add/remove only private network interface device.
Keep in mind that ' Network device' options must be set as 'Private'.
|
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.
|
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.
|
Firewall
Owing to 'Firewall' page, your clients can set up firewall rules and enable security group for their servers from your WHMCS client area.
As you can see, you can easily modify and remove a 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.
|
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) consists 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.
|
Insert a security group by choosing security group and interface on which the group will be used.
Additionally, you can enable security group and add a comment to it.
Click 'Add' to use the security group.
|
Disks (KVM only)
View available disks and add new ones.
|
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) 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 'KVM' virtualization type.
Read the below section to learn how to properly install and configure DHCP.
|
1. First of all, you must install 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 given 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 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 one of above mentioned files.
- Note: Only key word corresponding to a 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 automatic IP addresses assignment feature, select 'ISC DHCP Server' option in 'Module Settings' under 'KVM Configuration' section.
|
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.
1. Proceed to IP Manager For WHMCS → Subnets tab in order to prepare IP addresses subnet for Proxmox VPS 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.
Note: Setting up MAC address is optional and can be skipped.
More about creating custom fields can be found here.
|
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 VPS product via a product, a server or a configurable option.
On the following screen we have linked them via configurable option assigned to Proxmox VPS product.
|
5. Now, enable integration by proceeding to '3rd Party Integration' tab.
Press 'Activate' next to 'proxmoxVPS' module type as shown on the following screen.
|
6. Next, assign a previously created configuration to the submodule.
Press 'Configure' , choose the configuration and press 'Save Changes'.
|
In case, while integrating the two products, you encounter an error like on the below screen, probably the function 'mb_strlen' is not enabled by default. Please read the manual here for installation instructions.
|
Configurable Options
When you successfully set up a product, your client can order it by choosing from the default configurable options.
|
In case those options do not suit your needs, you can edit them.
Go to 'Setup' → 'Products/Services' → 'Configurable Option' and press edit button next to the configurable option used by your product.
|
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 VPS with 4 cores per socket.
To do so, edit 'The number of cores per socket' by pressing edit button as shown on the screen below.
|
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'.
|
List of Configurable Options
The table below lists all cofigurable 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 editable custom name.
|
KVM
|
LXC
|
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
|
Bandwidth|Bandwidth
|
Bandwidth|Bandwidth
|
VM Template|VM Template
|
VM Template|VM Template
|
Network Rate|Network Rate
|
Network Rate|Network Rate
|
|
vcpus|VCPUs
|
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: Currently Advanced Billing supports OpenVZ (prior to Proxmox v2.3.0), KVM and LXC virtualization type.
|
With Advanced Billing For WHMCS module, you can also display your customers current server resource usage and their cost.
|
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 product yet.
4. Access the just created product from the admin area via client profile → 'Products/Services' section and fill in 4 custom fields.
They are 'vmid' and 'node' .
5. If possible, enter IP addresses into fields 'Dedicated IP' and 'Assigned IPs' .
6. Set product status to 'Active' .
Remember, do not click '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 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 'Server-Node' option enabled.
|
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.
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. If you choose product type as 'Hosting Account' when adding a new product, you will not have to fill out namenservers, they will be automatically set up on the ever.
|
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. KVM virtualization supports only graphs concerning 'Bandwidth'. Other virtualizations support all graphs. This is due to API limitations.
|
6. 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.
|
7. As this module supports templates system, any changes made in the module's templates files will be saved after the upgrade process.
|
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.
To change user role for all clients please use '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 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 '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 php.ini file
Solution: After SSH2 PECL installation be sure that you have updated php.ini files for CLI and webserver.
|
7. After 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.
|
|
|