Proxmox VE VPS For WHMCS
(→Resources Notofications) |
(→Selling Additional Storage) |
||
(84 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
<meta name="keywords" content="proxmox ve vps for whmcs, proxmox ve vps configuration, whmcs proxmox ve vps management, whmcs proxmox ve vps installation, whmcs proxmox ve vps common problems, about whmcs proxmox ve vps, whmcs proxmox ve vps documentation, whmcs proxmox ve vps faq, whmcs proxmox ve vps help, whmcs proxmox ve vps guide, whmcs proxmox ve vps wiki, whmcs proxmox ve vps tutorial, whmcs proxmox ve vps tips, whmcs proxmox ve vps wiki, proxmox vps whmcs module, proxmox virtual environment whmcs"></meta> | <meta name="keywords" content="proxmox ve vps for whmcs, proxmox ve vps configuration, whmcs proxmox ve vps management, whmcs proxmox ve vps installation, whmcs proxmox ve vps common problems, about whmcs proxmox ve vps, whmcs proxmox ve vps documentation, whmcs proxmox ve vps faq, whmcs proxmox ve vps help, whmcs proxmox ve vps guide, whmcs proxmox ve vps wiki, whmcs proxmox ve vps tutorial, whmcs proxmox ve vps tips, whmcs proxmox ve vps wiki, proxmox vps whmcs module, proxmox virtual environment whmcs"></meta> | ||
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Proxmox VE VPS For WHMCS Module."></meta> | <meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Proxmox VE VPS For WHMCS Module."></meta> | ||
− | |||
− | |||
− | |||
=About [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps Proxmox VE VPS For WHMCS]= | =About [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps Proxmox VE VPS For WHMCS]= | ||
Line 236: | Line 233: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Disk Read And Write | + | |style="padding: 0px 0px 0px 45px;"|✔ Disk Read And Write Speed |
|} | |} | ||
{| | {| | ||
Line 249: | Line 246: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 60px;"|✔ Every Number Of Hours | |style="padding: 0px 0px 0px 60px;"|✔ Every Number Of Hours | ||
− | |||
− | |||
− | |||
|} | |} | ||
{| | {| | ||
Line 291: | Line 285: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space | + | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space (With Configurable Storage, Units And Size): |
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
Line 304: | Line 295: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ IPv6 Subnets | |style="padding: 0px 0px 0px 45px;"|✔ IPv6 Subnets | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Private Network | ||
|} | |} | ||
{| | {| | ||
Line 355: | Line 349: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ CPU Limit | |style="padding: 0px 0px 0px 45px;"|✔ CPU Limit | ||
− | |||
− | |||
− | |||
|} | |} | ||
{| | {| | ||
Line 372: | Line 363: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space | + | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space (With Configurable Storage, Units And Size): |
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
Line 385: | Line 373: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ IPv6 Subnets | |style="padding: 0px 0px 0px 45px;"|✔ IPv6 Subnets | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Private Network | ||
|} | |} | ||
{| | {| | ||
Line 409: | Line 400: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ Network Rate | |style="padding: 0px 0px 0px 45px;"|✔ Network Rate | ||
− | |||
− | |||
− | |||
|} | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 45px;"|✔ Tag | ||
+ | |} | ||
+ | |||
*'''General Info:''' | *'''General Info:''' | ||
{| | {| | ||
Line 427: | Line 419: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/advanced-billing Advanced Billing For WHMCS] - Actual Server Resource Usage Billing |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/ip-manager IP Manager For WHMCS] - Complete Control And Easy Assignment Of IP Subnets (LXC) |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/products-reseller Products Reseller For WHMCS] - End-To-End Solution For Products And Servers Reselling |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/proxmox-ve-cloud-vps Proxmox VE Cloud VPS For WHMCS] - Multiple Servers Provisioning And Management Within Set Resource Limits |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/server-allocator Server Allocator For WHMCS] - Automatic Assignment Of Most Suitable Servers To Products |
|} | |} | ||
{| | {| | ||
Line 448: | Line 440: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports Proxmox VE 6.X | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports Proxmox VE 6.X, 7.X And 8.X |
|} | |} | ||
{| | {| | ||
Line 454: | Line 446: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports 8.1 Back To PHP 7.4 | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.1 Back To PHP 7.4 |
|} | |} | ||
{| | {| | ||
Line 460: | Line 452: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports V8. | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports V8.9 Back To WHMCS V8.6 |
|} | |} | ||
{| | {| | ||
Line 466: | Line 458: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 30px;"|✔ Easy Module Upgrade To [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps#open-source-version Open Source Version] | + | |style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps#open-source-version Open Source Version] |
|} | |} | ||
Line 578: | Line 570: | ||
|style="padding: 0px 0px 15px 15px;"|'''10. Next, enter your server name and IP address, you may add any port in the following format: '' "IpAddress:Port" '', that is: ''10.10.10.1:8006'''''.<br /> | |style="padding: 0px 0px 15px 15px;"|'''10. Next, enter your server name and IP address, you may add any port in the following format: '' "IpAddress:Port" '', that is: ''10.10.10.1:8006'''''.<br /> | ||
Enter the and password, choose the authentication type from '' 'Authentication' '' and '' 'Proxmox VE VPS' '' from the '' 'Type' '' dropdown menus. Save changes afterward.<br/> | Enter the and password, choose the authentication type from '' 'Authentication' '' and '' 'Proxmox VE VPS' '' from the '' 'Type' '' dropdown menus. Save changes afterward.<br/> | ||
+ | |||
+ | '''''Important:''' If you have problems with connection, make sure the WHMCS server can correctly connect to Proxmox. For more details refer to this article [https://pve.proxmox.com/wiki/Proxmox_VE_API#Example:_Get_a_New_Ticket_and_the_CSRF_Prevention_Token|article].'' | ||
|} | |} | ||
{| | {| | ||
Line 658: | Line 652: | ||
Start your product configuration in the '' 'Virtual Machine Configuration' '' panel, where you can set up such features as the used OS Template or Archive, machine resources and limits or assigned IP addresses. <br/> Note that some fields can be left empty if you want to disable them or set as unlimited - read the tooltips for further guidance. <br/> | Start your product configuration in the '' 'Virtual Machine Configuration' '' panel, where you can set up such features as the used OS Template or Archive, machine resources and limits or assigned IP addresses. <br/> Note that some fields can be left empty if you want to disable them or set as unlimited - read the tooltips for further guidance. <br/> | ||
− | '''''Note:''' If you want to create the VM based on '' 'Archive' ''of the backup copy, remember to leave the 'OS Template' field empty.''<br/> | + | '''''Note:''' When creating a virtual machine (VM) from an OS template, the module automatically deletes network interfaces and creates new ones based on the product configuration.''<br/> |
+ | '''''Note 1:''' If you want to create the VM based on '' 'Archive' ''of the backup copy, remember to leave the 'OS Template' field empty.''<br/> | ||
'''''Note 2:''' To turn off loading archives, see section: [[#Tips|Tips, point 26]].'' | '''''Note 2:''' To turn off loading archives, see section: [[#Tips|Tips, point 26]].'' | ||
|} | |} | ||
Line 668: | Line 663: | ||
Guest Agent is used to exchange information between the virtualization server and the operating system of your virtual machine.<br/> Thanks to this, additional commands such as setting IP addresses and the user’s password can be executed in the guest system.<br/> | Guest Agent is used to exchange information between the virtualization server and the operating system of your virtual machine.<br/> Thanks to this, additional commands such as setting IP addresses and the user’s password can be executed in the guest system.<br/> | ||
− | The '' 'Service Password' '' and '' 'Configure Network' '' options work with Windows OS only.<br/> If enabled, while creating a VM, Guest Agent will set up the user’s password and configure the network automatically. <br/> Remember that you need to install Guest Agent on your KVM template in order for the function to work properly. For more info click [https://pve.proxmox.com/wiki/Qemu-guest-agent here] | + | The '' 'Service Password' '' and '' 'Configure Network' '' options work with Windows OS only.<br/> If enabled, while creating a VM, Guest Agent will set up the user’s password and configure the network automatically. <br/> |
+ | <!-- | ||
+ | * '' 'Guest Trim'' ' - enable and the guest-trim will be run after moving the disk or migrating the VM <br/> | ||
+ | * '' 'FileSystems Freeze during Backup' '' - enable to allow freezing/thawing of guest filesystems during backup for consistency <br/>--> | ||
+ | |||
+ | Remember that you need to install Guest Agent on your KVM template in order for the function to work properly. For more info click [https://pve.proxmox.com/wiki/Qemu-guest-agent here] | ||
|} | |} | ||
{| | {| | ||
Line 728: | Line 728: | ||
===Finalizing The Configuration=== | ===Finalizing The Configuration=== | ||
{| | {| | ||
− | |style="padding: | + | |style="padding: 10px 0px 15px 15px;"|'''22. Afterward, you can create configurable options. '''<br/> |
This step is <u>optional</u> - if you want to take it, start by selecting which of the configurable options listed in [[#List of Configurable Options|this table]] you want to generate.<br/> | This step is <u>optional</u> - if you want to take it, start by selecting which of the configurable options listed in [[#List of Configurable Options|this table]] you want to generate.<br/> | ||
− | '' '''Note:''' | + | '' '''Note:''' It is advisable not to generate options that you do not plan to use, or in case you want their fixed values to be taken from the module settings, rather than being flexible.<br/> Moreover, the configurable options differ between the KVM and LXC virtualization types, so create them separately if needed.'' |
+ | |||
+ | '''''Note 2:''' There is also an 'Alternative Mode' available, which changes the way the configurable options values are verified and calculated. <br/> Select single configurable options and their values will be summed with the default product configuration values instead of overwriting them.'' | ||
More information about configurable options and their edition can be found [https://docs.whmcs.com/Addons_and_Configurable_Options here]. | More information about configurable options and their edition can be found [https://docs.whmcs.com/Addons_and_Configurable_Options here]. | ||
|} | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_23_0.png]] | ||
+ | |} | ||
+ | {| | ||
{| | {| | ||
|style="padding: 0px 0px 20px 25px;"|[[File:PX3_23.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_23.png]] | ||
Line 793: | Line 799: | ||
* "Network Address" ''(eg: 192.168.1.0/24)'' | * "Network Address" ''(eg: 192.168.1.0/24)'' | ||
* "Gateway" | * "Gateway" | ||
− | * "First IP Address" and "Last IP Address" - | + | * "First IP Address" and "Last IP Address" - define the border '''from which and up to which''' of the IP address the generation ''(including the provided addresses)'' |
|} | |} | ||
{| | {| | ||
Line 801: | Line 807: | ||
|style="padding: 0px 0px 15px 15px;"| | |style="padding: 0px 0px 15px 15px;"| | ||
'''For "IPv6 Subnet" address type''' | '''For "IPv6 Subnet" address type''' | ||
− | *"Network Address" ''(eg: | + | *"Network Address" ''(eg: 2a00:1911:5::/64)'' |
*"Gateway" | *"Gateway" | ||
*'Number of Subnets" | *'Number of Subnets" | ||
*"CIDR" | *"CIDR" | ||
− | *"First IP Address" and "Last IP Address" - | + | *"First IP Address" and "Last IP Address" - define the border '''from which and up to which''' of the IP address the generation ''(including the provided addresses)'' |
Decide whether the created addresses will be private or not. | Decide whether the created addresses will be private or not. | ||
Line 814: | Line 820: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|Move to the '' 'Details' '' tab. 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.<br/> | |style="padding: 0px 0px 15px 15px;"|Move to the '' 'Details' '' tab. 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.<br/> | ||
− | Remember to press '' 'Confirm' '' button when ready. | + | Remember to press the '' 'Confirm' '' button when ready. |
|} | |} | ||
{| | {| | ||
Line 828: | Line 834: | ||
|} | |} | ||
− | ==Proxy Installation For Console Connection== | + | ==[https://www.docs.modulesgarden.com/Proxmox_Proxy_Application Proxy] Installation For Console Connection== |
{| | {| | ||
− | |style="padding: 10px 0px 5px 15px;"|''' | + | |style="padding: 10px 0px 5px 15px;"|'''A comprehensive guide detailing the installation, update instructions, and operational flow for the Proxmox Proxy application can be found in a dedicated article accessible through the following [https://www.docs.modulesgarden.com/Proxmox_Proxy_Application link].'''<br/> |
+ | We encourage you to refer to it for further insight into the Proxmox Proxy application. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 5px 15px;"|It hides your Proxmox server so that your clients will not get to know its actual address when connecting to the server via the console in your system.<br/> | + | |style="padding: 0px 0px 5px 15px;"|'''The proxy feature can be looked on as an added security boost for your infrastructure.'''<br/> |
− | To work properly, proxy must be accessible from both public and private net as clients connect with proxy from the public net, without the need to connect directly to proxmox. | + | It hides your Proxmox server so that your clients will not get to know its actual address when connecting to the server via the console in your system.<br/> |
+ | To work properly, the proxy must be accessible from both the public and private net as clients connect with the proxy from the public net, without the need to connect directly to proxmox. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"|'''[https://www.docs.modulesgarden.com/Proxmox_Proxy_Application Proxy]''' must be '''connected with Proxomx server'''. To verify if the connection between these two is successful, you may run the following command: | ||
+ | curl -v <nowiki>https://10.10.11.48:8006</nowiki> | ||
+ | where 10.10.11.48:8006 is the '''node IP address'''. | ||
|} | |} | ||
{| | {| | ||
|style="padding: 10px 0px 5px 15px;"|'''Before you begin the process of connecting the console to the server through a proxy, you need to download the proxy application file.'''<br/> | |style="padding: 10px 0px 5px 15px;"|'''Before you begin the process of connecting the console to the server through a proxy, you need to download the proxy application file.'''<br/> | ||
− | The file can be found under the following '''[https://www.modulesgarden.com/client-area/dl.php?type=d&id= | + | The file can be found under the following '''[https://www.modulesgarden.com/client-area/dl.php?type=d&id=5521 link]''' after you have logged in to your ModulesGarden account. |
|} | |} | ||
{| | {| | ||
Line 893: | Line 906: | ||
|style="padding: 0px 0px 5px 15px;"|'''11. Next, copy your machine IP address to WHMCS. You may check the IP address using the below command:''' | |style="padding: 0px 0px 5px 15px;"|'''11. Next, copy your machine IP address to WHMCS. You may check the IP address using the below command:''' | ||
ip a | ip a | ||
− | '''''Note:''' Remember to check the IP address in your virtual machine, not in the proxyphp | + | '''''Note:''' Remember to check the IP address in your virtual machine, not in the proxyphp container.'' |
|} | |} | ||
{| | {| | ||
Line 914: | Line 927: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 5px 15px;"|'''Important:''' If your certificate expires in the meantime, you will need to '''buy/generate''' a new one and follow the below steps: |
* move to the '''/root/proxmox-proxy'' catalog ''(the directory may differ depending on your setup)'' | * move to the '''/root/proxmox-proxy'' catalog ''(the directory may differ depending on your setup)'' | ||
* replace the '''nginx/localhost.crt''' and '''nginx/localhost.key''' files | * replace the '''nginx/localhost.crt''' and '''nginx/localhost.key''' files | ||
Line 920: | Line 933: | ||
docker-compose up --build -d | docker-compose up --build -d | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"|'''''Note:''' If you ever encounter an iconcube error while rerunning the 'docker-compose up' command, delete all local docker images related to your docker file using the following command and try again.'' | ||
+ | $ docker rmi -f $(docker images -a -q) | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|For instruction on how to react in case an '''update is required''', please refer to the dedicated article including all details on the [https://www.docs.modulesgarden.com/Proxmox_Proxy_Application Proxmox Proxy] application. | ||
|} | |} | ||
Line 996: | Line 1,016: | ||
===Configuration Of Product=== | ===Configuration Of Product=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|To | + | |style="padding: 10px 0px 15px 15px;"|To use Cloud-Init, you need to enable it in the configuration of the Proxmox product.<br/> |
Before you start, we '''highly recommend''' that you learn the details of Cloud-Init configuration on your Proxmox server first. Click [https://pve.proxmox.com/wiki/Cloud-Init_Support here] for more information included directly in the Proxmox wiki article.<br/> | Before you start, we '''highly recommend''' that you learn the details of Cloud-Init configuration on your Proxmox server first. Click [https://pve.proxmox.com/wiki/Cloud-Init_Support here] for more information included directly in the Proxmox wiki article.<br/> | ||
Once you get familiar with Proxmox Cloud-Init, proceed to the Cloud-Init group of your KVM configuration where you can enable it as well as configure the following options: | Once you get familiar with Proxmox Cloud-Init, proceed to the Cloud-Init group of your KVM configuration where you can enable it as well as configure the following options: | ||
Line 1,066: | Line 1,086: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX2_57.png]] |
|} | |} | ||
--> | --> | ||
Line 1,079: | Line 1,099: | ||
<pre>cat /var/log/cloud-init.log | <pre>cat /var/log/cloud-init.log | ||
cat /var/log/cloud-init-output.log</pre> | cat /var/log/cloud-init-output.log</pre> | ||
− | < | + | |} |
− | + | ||
− | -- | + | ==Additional Storage Configuration== |
+ | {| | ||
+ | |style="padding: 10px 0px 5px 15px;"|This is an extra option that allows for specifying additional parameters for additional disk drives.<br/> Check how to set the product to allow clients to add disks with desired space, storage type and speed within configured limits.<br/> | ||
+ | Remember that the Additional Disks options in the module settings must be enabled. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|1. Start with creating new selections for the "Additional Disk Space" configurable option (additionalDisksSpace|Additional Disk Space), note that you have to do that manually.<br/> | ||
+ | To create the configurable options, please remember to follow the below-presented pattern: | ||
+ | local-lvm:3 | Disk Local-LVM Storage: 3GB | ||
+ | Where ''local-lvm:3'' cannot be modified, the name on the right can be freely adjusted and the unit changed. | ||
+ | |||
+ | 2. Next, add an appropriate entry in the language file to display the configurable option in a user-friendly manner. Open the english.php file located in ''modules/servers/ProxmoxVPS/langs/english.php'' and find an empty string: | ||
+ | $_LANG['storage']['local'] = 'Local'; | ||
+ | $_LANG['storage']['local-lvm'] = 'Local-lvm'; | ||
+ | |||
+ | Modify the configurable option name that is on the right from the '=' sign. | ||
+ | |||
+ | 3. Consequently, clients are now given the option to add hard disk with the custom storage type. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_60.png]] | ||
|} | |} | ||
Line 1,167: | Line 1,207: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"|Through pressing the '' 'Edit' '' icon, you will be moved to the server edit page - see | + | |style="padding: 0px 0px 30px 15px;"|Through pressing the '' 'Edit' '' icon, you will be moved to the server edit page - see point 10 of the [[#Configuration of Server|Server Configuration]].<br/> |
Press the '' 'More Details' '' icon, and you will obtain extended information on the selected server. Look below for more details. | Press the '' 'More Details' '' icon, and you will obtain extended information on the selected server. Look below for more details. | ||
|} | |} | ||
Line 1,204: | Line 1,244: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_29_3.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Specify the 'Tasks Limit' here to set the maximum number of permitted backup tasks for the node you are currently modifying. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_29_4.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Please bear in mind that limits placed in the above section overwrite the "Default Limit of Backup Tasks Per Node" value defined in the ''Addon → Settings → Backup Tasks Limitation'' [[#Global_Limitations|section]]. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_29_4_0.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|In the last tab you may define the relation between the node and backup storage and their synchronization. | ||
+ | * '' 'Backup Search Storages' '' - here you are allowed to define which storages will be searched through while running "backupSynch" cron job for backup creation and restoration purposes.<br/> This setting overwrites the product settings. | ||
+ | * '' 'Alternative Backup Storage' '' - if you run out of space on the storage, an alternative pointed here storage will be used to create and store the backup.<br/> You still can restore backup from the old storage, but only if that is selected in the above "Backup Search Storages" selection. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_29_5.png]] | ||
|} | |} | ||
{| | {| | ||
Line 1,503: | Line 1,563: | ||
If you decide to use the Load Balancer tool, define the resource weights to adjust the prioritization of nodes according to your needs. | If you decide to use the Load Balancer tool, define the resource weights to adjust the prioritization of nodes according to your needs. | ||
+ | |} | ||
+ | |||
+ | ====Global Limitations==== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"| | ||
+ | *'' 'VLANs Limit' '' - enter the maximum number of allowed VLANS per customer | ||
+ | *'' 'Default Limit of Backup Tasks Per Node' '' - put a global limit on the number of allowed tasks to create backups per node.<br/> This general limit may be overwritten per single node in the [[#Clusters|cluster settings]] section at: ''Addon → Servers → Server Details → Edit Cluster → Tasks Limit'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PXC3_30_5_0.png]] | ||
|} | |} | ||
Line 1,580: | Line 1,650: | ||
|style="padding: 0px 0px 20px 15px;"|By clicking the '' 'Edit' '' button next to the '' 'Information' '' headline, your clients can additionally change the VM hostname and ISO image, choose boot devices, as well as insert their SSH public key.<br/> | |style="padding: 0px 0px 20px 15px;"|By clicking the '' 'Edit' '' button next to the '' 'Information' '' headline, your clients can additionally change the VM hostname and ISO image, choose boot devices, as well as insert their SSH public key.<br/> | ||
'''''Important:''' If you do not see the Edit icon, it means the option to change hostname has been turned off by the admin.''<br/> | '''''Important:''' If you do not see the Edit icon, it means the option to change hostname has been turned off by the admin.''<br/> | ||
− | '''''Note:''' Information elements included in the below table are managed by the admin in the product's configuration section under [[#Client_Area_Features| | + | '''''Note:''' Information elements included in the below table are managed by the admin in the product's configuration section under [[#Client_Area_Features|Client Area Features]].'' |
|} | |} | ||
{| | {| | ||
Line 1,639: | Line 1,709: | ||
===Backups=== | ===Backups=== | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 5px 15px;"|'''Important!''' Remember that since Proxmox VE VPS For WHMCS module version '''3.7.0''', a dedicated to backups synchronization cron job must be configured. <br/> |
Make sure you have set up the corn task as described in point 28 of the addon configuration [[#Configuration_of_Addon|instruction]]. | Make sure you have set up the corn task as described in point 28 of the addon configuration [[#Configuration_of_Addon|instruction]]. | ||
|} | |} | ||
Line 1,653: | Line 1,723: | ||
{| | {| | ||
|style="padding: 0px 0px 20px 25px;"|[[File:PX3_42.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_42.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"|'''''Note:''' Creating a backup is now added to the [[#Tasks|tasks]] list, wait a moment until the task is completed. Once ready, your new backup will appear on the list and will be available for future restoration.'' <br/> | ||
+ | '''''Note 2:''' You may select the storage for created backups either in the [[#Configuration_of_Product|module settings]] globally, or per node in the [[#Clusters|addon module]] (this setting overwrites the product settings).'' | ||
|} | |} | ||
{| | {| | ||
Line 1,719: | Line 1,793: | ||
===Network=== | ===Network=== | ||
{| | {| | ||
− | |style="padding: 10px 0px | + | |style="padding: 10px 0px 20px 15px;"|Your clients are allowed to add and remove only private network interface devices. Additionally, they may assign other virtual machines to the network, enabling communication between them. |
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 20px 25px;"|[[File:PX3_48.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 00px 0px 20px 15px;"|Upon clicking the '' 'Information' '' button, the new popup will open with more network details. | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_1.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 00px 0px 20px 15px;"|The '' 'Assign Virtual Machine' '' button opens another popup window, where virtual machines to be assigned to the network can be selected and optionally restarted.<br/> You can find an exemplary scenario illustrating a typical use case of this function in the [[#Connecting_Multiple_VPS_Machines_Into_One_Private_Network|'' 'Use Cases' '' section]] of this wiki. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_1_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 00px 0px 10px 15px;"|Finally, the '' 'Delete' '' button will remove the network. <br/> | ||
+ | |||
+ | Keep in mind that '' ' Network device' '' options have to be set to '' 'Private'.'' <br/>Also, after the network creation, the button to add another one or delete a newly created private network may not be longer available, depending on your Proxmox configuration. | ||
|} | |} | ||
Line 1,944: | Line 2,030: | ||
Note that the name on the left is a variable (which you <u>should not edit</u>), separated by the | from the editable custom name. | Note that the name on the left is a variable (which you <u>should not edit</u>), separated by the | from the editable custom name. | ||
|} | |} | ||
− | {| class="wikitable" style="margin-left: 25px; margin-bottom: | + | {| class="wikitable" style="margin-left: 25px; margin-bottom: 20px" |
! style="width:400px; text-align:center;" | KVM<br /> | ! style="width:400px; text-align:center;" | KVM<br /> | ||
! style="width:400px; text-align:center;" | LXC<br /> | ! style="width:400px; text-align:center;" | LXC<br /> | ||
Line 2,027: | Line 2,113: | ||
| | | | ||
|} | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|Differences between the '''cicustom''' and the '''ciscript''' configurable options:<br/> | ||
+ | '''cicustom''' - it is a more advanced alternative to the "ciscript" configurable option. Using the "cicustom" option results in sending the configuration specified by the administrator.<br/> | ||
+ | '''ciscript''' - using the "ciscript" option results in passing the script ID available in Proxmox Addon, which will be uploaded to the snippet storage and passed to the Proxmox VE server during the virtual machine creation. | ||
+ | |} | ||
+ | <!-- | ||
+ | ==Bridges Configuration== | ||
+ | |||
+ | Nic z tego nie rozumiem :/ | ||
+ | |||
+ | |||
+ | {| | ||
+ | |style="padding: 10px 0px 20px 15px;"|Select multiple private bridges for private network configuration to assign those IP addresses upon VM creation | ||
+ | with the appropriate bridge setting selected in module's IP management | ||
+ | |||
+ | *http://git.mglocal/whmcs-products/Proxmox/-/issues/1388 | ||
+ | *http://git.mglocal/whmcs-products/Proxmox/-/issues/1522 | ||
+ | *http://git.mglocal/whmcs-products/Proxmox/-/issues/1508#note_320966 | ||
+ | *http://git.mglocal/whmcs-products/Proxmox/-/issues/1340 | ||
+ | |||
+ | W zależności od wybranego produktu admin chce aby używało to innego bridge-a | ||
+ | |||
+ | |||
+ | |||
+ | '''Private Network section:''' | ||
+ | *'''Legacy Private Bridge''' ''(before 3.7.0: Private Bridge option)'' - use this option to select a default private bridge if you have not selected multiple bridges in the "Private Brdiges" setting. | ||
+ | |||
+ | *'''Private Bridges''' - select private bridges from all available bridges | ||
+ | |||
+ | When fetching IP addresses in NetworkService, only those IPs that match the selected Private Bridges will be retrieved. If it turns out that no Private Bridges are chosen, the ''Legacy Private Bridge'' will be used. | ||
+ | |||
+ | * DHCP - Enable DHCP to assign network configuration details from a DHCP server automatically. This option makes the module use DHCP instead of reserving an IP address. | ||
+ | |||
+ | '''Virtual Machine Configuration''': | ||
+ | * '''Private Network Rate Limit''' - set the limits for the network rate, separate setting of the network rate limit for the private bridge independent from the public network | ||
+ | |||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2xxx.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"| | ||
+ | |} | ||
+ | |||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"| | ||
+ | |||
+ | Należy dodać opcje w konfiguracja produktu (checkboxy dwa), która jeżeli jest zaznaczona spowoduje usunięcie aktualnych adresów IP o pobranie nowych ale już z nowym bridgem: | ||
+ | |||
+ | Reassign Private IP Addresses After Upgrade/ Reassign Public IP Addresses After Upgrade - If enabled, upon the product upgrade/downgrade, currently assigned IP addresses will be removed and replaced with equivalents on the new bridge. If there are no corresponding free IP addresses in the new bridge, any free IP addresses will be assigned in their place. | ||
+ | |||
+ | |||
+ | Virtual Machine upgrades - when upgrading a VM remember to avoid mixing bridges in product settings.<br/> | ||
+ | When upgrading a product, the single bridge corresponding to a private IP address must be related to a private address in the target product as well.<br/> | ||
+ | In case you use different bridges, private addresses are treated as public and the other way around.<br/> | ||
+ | |||
+ | Take a look to see an exemplary situation of correctly assigned bridges: | ||
+ | * '''Product 1''' (about to be upgraded): | ||
+ | ** Private: '''vmbr1''' | ||
+ | ** Public: '''vmbr0''' | ||
+ | |||
+ | * '''Product 2''' (target product): | ||
+ | ** Private: '''any bridge except vmbr0''' | ||
+ | ** Public: '''any bridge except vmbr1''' | ||
+ | |||
+ | |} | ||
+ | --> | ||
==Integration with Products Reseller For WHMCS== | ==Integration with Products Reseller For WHMCS== | ||
Line 2,076: | Line 2,229: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"| | |style="padding: 10px 0px 15px 15px;"| | ||
− | '''You can easily use Proxmox VPS module with your existing Proxmox accounts. To do so, follow the instructions below:'''<br /> | + | '''You can easily use Proxmox VE VPS module with your existing Proxmox accounts. To do so, follow the instructions below:'''<br /> |
− | 1. Create and configure a Proxmox VPS server, and a server group.<br /> | + | 1. Create and configure a Proxmox VE VPS server, and a server group.<br /> |
− | 2. Create and configure a Proxmox VPS product.<br /> | + | 2. Create and configure a Proxmox VE VPS product.<br /> |
3. Place a new order with the previously created product for your customer. '''Do not activate the product yet.'''<br /> | 3. Place a new order with the previously created product for your customer. '''Do not activate the product yet.'''<br /> | ||
4. Access the just created product from the admin area via the Client Profile → '' 'Products/Services' '' section and fill out 2 custom fields.<br /> | 4. Access the just created product from the admin area via the Client Profile → '' 'Products/Services' '' section and fill out 2 custom fields.<br /> | ||
Line 2,113: | Line 2,266: | ||
|style="padding: 0px 0px 30px 15px;"|Now, a client may order a VPS, and select '' 'Location'.'' Server Allocator For WHMCS will change the server assigned to the product. <br/> | |style="padding: 0px 0px 30px 15px;"|Now, a client may order a VPS, and select '' 'Location'.'' Server Allocator For WHMCS will change the server assigned to the product. <br/> | ||
The "Create" action is triggered on the assigned server due to the '' 'Server-Node' '' option enabled. | The "Create" action is triggered on the assigned server due to the '' 'Server-Node' '' option enabled. | ||
+ | |} | ||
+ | =Use Cases= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|'''In this section, you will find exemplary scenarios illustrating typical use cases, along with specifics on how the module's functionalities can be applied in practice.'''<br/> | ||
+ | Review the following scenarios for practical examples of the module usage. | ||
+ | |} | ||
+ | |||
+ | ==Selling Predefined Windows Virtual Machines== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 5px 15px;"| | ||
+ | '''Proxmox VE VPS For WHMCS''' can be used to sell predefined Windows-based virtual machines. Follow the instructions below, to prepare the template for Windows Virtual Machines and configure the module. <br/> | ||
+ | Keep in mind that the instructions are for Kernel-based Virtual Machines (KVM) only. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"| '''First, a template virtual machine needs to be prepared in Proxmox:''' <br/> | ||
+ | 1. Start a new virtual machine with a Windows Installer ISO file mounted. <br/> | ||
+ | 2. Make sure the '' 'OS Type' '' in the virtual machine's options includes '' 'Windows.' '' <br/> | ||
+ | 3. Install '' 'Windows Operating System' '' on the virtual machine. <br/> | ||
+ | 4. Install '' 'Qemu Guest Agent.' '' The module will detect and run it if the OS Type is set to Windows. <br/> | ||
+ | 5. Stop the virtual machine. You can delete the CD Drive (it will not be needed anymore). <br/> | ||
+ | 6. Convert the virtual machine to a template. <br/> | ||
+ | 7. If you are using '' 'Shared Storage,' '' upload the template to it. If you do not use '' 'Shared Storage,' '' make sure to upload the template to every node. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''Next, the Proxmox VE VPS For WHMCS module settings need to be correctly configured:''' <br/> | ||
+ | 1. Enable the '' 'Guest Agent' '' in the product's [[#KVM_Virtualization_Type|module settings]]. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_58_1_1.png]] | ||
+ | |} | ||
+ | <!-- | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|2. Define which '' 'OS Templates' '' will be available in the Reinstall section in the client area. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_58_1_2.png]] | ||
+ | |} | ||
+ | --> | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|2. Generate [[#Finalizing_The_Configuration|'' 'Configurable Options' '']] responsible for the virtual machine templates. Including only Windows templates in the [[#Configurable_Options|Configurable Options]] is recommended. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_58_1_5.png]] | ||
+ | |} | ||
+ | |||
+ | ==Selling Predefined Linux Virtual Machines== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 5px 15px;"| | ||
+ | '''Proxmox VE VPS For WHMCS''' can be used to sell predefined Linux-based virtual machines. Follow the instructions below, to prepare the template for Linux Virtual Machines and configure the module. <br/> | ||
+ | Keep in mind that the instructions are for Kernel-based Virtual Machines (KVM) only. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"|'''First, a template virtual machine needs to be prepared in Proxmox:''' <br/> | ||
+ | 1. Create a template Cloud-Init virtual machine based on this [https://pve.proxmox.com/wiki/Cloud-Init_Support documentation]. <br/> | ||
+ | 2. If you would like to make additional changes in the template (e.g. login with a password, root access via SSH) then: <br/> | ||
+ | # Create a new virtual machine with the template from step 1. <br/> | ||
+ | # Log in to the virtual machine. <br/> | ||
+ | # Introduce any changes you want the new template to have. <br/> | ||
+ | # Convert the virtual machine to a new template. <br/> | ||
+ | 3. If you are using '' 'Shared Storage,' '' upload the template to it. If you are not using '' 'Shared Storage', '' you will need to upload the template to every node. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''Next, the Proxmox VE VPS For WHMCS module settings need to be correctly configured:''' <br/> | ||
+ | 1. Make sure '' 'Cloud-Init' '' is enabled in the product's [[#KVM_Virtualization_Type|module settings]]. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_58_1_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|2. Define which '' 'OS Templates' '' will be available in the Reinstall section in the client area. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_58_1_4.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|3. Generate [[#Finalizing_The_Configuration|'' 'Configurable Options' '']] responsible for the virtual machine templates. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_58_1_5.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|Optionally, set prices for '' 'VM Template [[#Configurable_Options|Configurable Options]].' '' Navigate to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Configurable Options.' '' in order to do so. | ||
+ | |} | ||
+ | |||
+ | ==Connecting Multiple VPS Machines Into One Private Network== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|Proxmox VE VPS For WHMCS allows connecting multiple VPS machines into one private network.<br/> To do so, you will need at least 2 virtual machines. In our case, the hostname of the first virtual machine is: '' 'virtualmachine1.com' '' and the hostname of the second one is: '' 'virtualmachine2.com.' '' <br/> | ||
+ | First, pick one of the machines and navigate to '' 'Additional Tools' '' → '' 'Network' '' in your client area. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Once there, assign a new private network to the virtual machine you have selected by clicking on the '' 'Create Private Network' '' button. <br/> If there are any private IP addresses available, a new network will be created and this virtual machine will be assigned to it. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Now, you can assign other virtual machines you own to this very network. Click on the '' 'Assign Virtual Machine' '' button. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Select the virtual machine that you want to add to the network. You can identify it by its hostname. In our case we want to add '' 'virtualmachine2.com.' ''<br/> Restarting the virtual machine is optional but will allow it to connect to the network as soon as possible. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"| After clicking on '' 'Confirm' '' button, you should receive information stating that the virtual machine has been successfully assigned to the private network. | ||
+ | |} | ||
+ | ==Selling Virtual Machine Upgrades== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 5px 15px;"|Proxmox VE VPS For WHMCS integrates WHMCS '' 'Upgrades' '' and '' 'Configurable Options' '' to enable clients to change their virtual machine's specification. | ||
+ | See the instructions below on how those functions work with the module. <br/> Please note that: | ||
+ | *When an upgrade is performed and the template of the virtual machine changes, the machine will always be reinstalled. | ||
+ | *Upgrades can only be performed within the same type of products, i.e. KVM to KVM; LXC to LXC. | ||
+ | *Disk size '''downgrading''' is not supported. | ||
+ | *For more information regarding the WHMCS product upgrade function, visit this [https://docs.whmcs.com/Automated_Upgrades_and_Downgrades guide]. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''Upgrading from one product to another.''' <br/> | ||
+ | 1. Configure the first product as you normally would. For the sake of an example, in the product's [[#KVM_Virtualization_Type|module settings]], we will set the limits to 4GB of disk space, and 512MiB of RAM. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|2. Create another product in the same way, but this time with higher limits. For the second product, we will set the limits to 6GB of disk space, and 1024MiB of RAM.<br/> Of course, you can change any properties of the products as you see fit. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|3. Open the '' 'Upgrades' '' section of the first product and select the products you would like to allow the clients to upgrade it to.<br/> In our case, we will choose the newly created 6GB product. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|4. In the client area, a new option will be visible, and the client will be able to place an order to upgrade their product. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_4.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|5. Once the order is accepted, the virtual machine has to be rebooted for the upgrade to take place. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_5.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|The changes will immediately be visible in the client area and the admin area. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_6.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''Another way for the client to upgrade their virtual machines is to utilize the [[#Configurable_Options|'' 'Configurable Options' '']] function instead. In this way, all the changes in the specification will take place within the same product.''' <br/> | ||
+ | |||
+ | 1. For the products that have the '' 'Configurable Options' '' assigned, you can use those as an upgrade option. Tick the '' 'Configurable Options' '' checkbox in the '' 'Upgrades' '' section. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_7.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|2. In the client area, a new option to upgrade the configurable options will be displayed. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_8.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|3. Clients will be able to pick their configuration again, all within the possible range that you have defined in configurable options. <br/> If you prepare configurable options for, say, the number of snapshots, the client will be able to pay for an increased limit of snapshots. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_9.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|4. After the order is accepted, the configuration will update once the virtual machine is rebooted. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57_10.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|The changes will immediately be visible in the client admin areas. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_57_11.png]] | ||
+ | |} | ||
+ | |||
+ | ==Selling Additional Storage== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 5px 15px;"|'''Proxmox VE VPS For WHMCS''' can take advantage of the '' 'Configurable Options' '' function to allow admins to sell additional storage space to their clients.<br/> Follow the instructions below, to see how to set up additional storage space options for your clients. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|In the product's [[#KVM_Virtualization_Type|module settings]], at the very bottom, you can find a list of available configurable options. The ones that we are interested in right now are: | ||
+ | additionalDisksSpace|Additional Disks Space | ||
+ | and | ||
+ | additionalDisksSpace_[STORAGE_NAME]|Additional Disk Space (STORAGE_NAME) | ||
+ | The difference between them is that '' 'additionalDisksSpace' '' can include any combination of any storage detected on your server, but only one option can be selected. <br/> | ||
+ | In the case of '' 'additionalDisksSpace_[STORAGE_NAME]' '' only the chosen storage will be included in the options.<br/> Still, you can set multiple configurable options of this type, allowing the client to freely choose how much of which storage they would like to buy. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Click on '' 'Create Configurable Options' '' and select those relevant to generate a template you can edit under '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Configurable Options.' ''<br/> | ||
+ | '''''Note:''' You can also create them manually if you prefer.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_4.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''Here is an example '' 'additionalDisksSpace' '' configurable option:''' | ||
+ | *'''Option name''' - you can change the display name after the '|' symbol. | ||
+ | *'''Options''' - the possible options the client will be able to choose from, the left side has to be specifically '' '[storage_name]:[size];[another_storage_name]:[size]' '' while the right side is what the client will see.<br/>Storage can be combined into one option if you put a semicolon between each storage name. An option to not buy any additional storage is represented with '' '-1.' '' | ||
+ | *'''Pricing''' - set an individual price for every option. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_5.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"| The option to buy additional storage space will now be displayed in the client area while ordering a new product, or [[#Virtual_Machine_Upgrade|upgrading]] configurable options.<br/> | ||
+ | While using the '' 'additionalDisksSpac' '' configurable option, only strict storage configurations defined by the administrator are available.<br/> | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_6.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"| | ||
+ | '''The '' 'additionalDisksSpace_[STORAGE_NAME]' '' configurable option can be used to achieve a different effect.'''<br/> | ||
+ | Set up multiple configurable options like on the screen below.<br/> | ||
+ | *'''Option name''' - this time the left side defines the storage type for all options. | ||
+ | *'''Options''' - the left side only includes the number of gigabytes. | ||
+ | *'''Pricing''' - make sure to set a price for each option. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_7.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Once configurable options for every storage are created, the clients will be able to freely choose their own combinations. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_8.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|After the order for additional storage is accepted, the user may create additional disks as they see fit, within the limits specified when placing the order and the product's module settings. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_9.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Here is an explanation of each field: | ||
+ | *'''Size''' - the size of the new disk. Limited by the purchased additional storage, limits are unique to each storage type. | ||
+ | *'''Storage Type''' - similarly limited by the purchased additional storage.<br/> '' '''Note:''' While there is an option to pick a default storage type in the product's module settings, the clients will still need to buy the storage space to create an additional disk on it.'' | ||
+ | *'''Bus''' - the type of interface the disk uses, the options can be specified in the product's module settings, under '' 'Additional Disks' '' → '' 'Additional Disk Type' ''. | ||
+ | *'''Format''' - the format the disk will use, the options can be specified in the product's module settings, under '' 'Additional Disks' '' → '' 'Additional Disk Format' ''. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_59_10.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|If you would like to change how the storage types are displayed to the client, you can do so. <br/> | ||
+ | 1. Find and edit the english.php file located in ''modules/servers/ProxmoxVPS/langs/english.php''. <br/> | ||
+ | 2. Find the line responsible for the display name of your additional storage, it should look like this: | ||
+ | $_LANG['storage']['local-lvm'] = 'Local-lvm'; | ||
+ | 3. The text after the '=' is the display name and can be edited.<br/> | ||
+ | 4. The string in the second bracket is the storage type. You can add more lines in the same manner, for each of your storage type configurable options, like so: | ||
+ | $_LANG['storage']['local-ssd'] = 'SSD Storage'; | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_59_12.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|The virtual machine has to be rebooted before the new disks are enabled and usable. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_59_11.png]] | ||
|} | |} | ||
Line 2,205: | Line 2,635: | ||
Main IP: {$service_dedicated_ip} {if $service_assigned_ips} | Main IP: {$service_dedicated_ip} {if $service_assigned_ips} | ||
IP Address Allocation: {$service_assigned_ips} {/if}</pre> | IP Address Allocation: {$service_assigned_ips} {/if}</pre> | ||
+ | |||
+ | You may also use markdown to modify the container notes, for example: | ||
+ | <pre>Client: {$client_name} (ID: {$client_id})\ | ||
+ | Email: {$client_email}\ | ||
+ | Service ID: {$service_id}\ | ||
+ | Hostname: {$service_domain}\ | ||
+ | Main IP: {$service_dedicated_ip} {if $service_assigned_ips} </pre> | ||
+ | |||
+ | The above notes will be displayed with every item starting in a new line. | ||
|} | |} | ||
{| | {| | ||
Line 2,299: | Line 2,738: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 10px 15px;"|28. If you want to use the IP Address, CIDR and Gateway allocated from the IP Management section of the Proxmox Addon module instead of hard coding them, use the following parameter: |
{$ipv4Addresses[0].gateway} | {$ipv4Addresses[0].gateway} | ||
|} | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 15px;"|29. Select the storage type already while placing the order.<br/> | ||
+ | Create the "Storage Disk Space" configurable option with storage size and name to allow clients to set "Storage Disk Space" during the order. It will be used instead of the provided "Disk Space" value.<br/> | ||
+ | For VE VPS '''KVM''' and '''LXC''': | ||
+ | * Resource Usage: | ||
+ | ** Available resources | ||
+ | ** Disc size | ||
+ | ** Storage type | ||
+ | |||
+ | Exceptions: | ||
+ | * if the "Linked Clone" option is selected in "Clone Mode" of the KVM configuration, the storage disk space will not work. ''(In the case of a linked template the KVM must have the same storage as the machine's main disk)'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|30. '''Private Network management'''<br/> | ||
+ | The module allows to create private network skipping the IP Management and firewall settings. Disable the below options if you do not aim to assign the IP address to the private network device. | ||
+ | |||
+ | *'' 'Assign IP Address Automatically' '' - option toggled by default; the IP Address is automatically assigned to a private network device | ||
+ | *'' 'Firewall on Private Network' '' - option toggled by default; the firewall is enabled on a private network device | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_22_9.png]] | ||
+ | |} | ||
+ | |||
<!-- | <!-- | ||
{| | {| | ||
Line 2,319: | Line 2,781: | ||
Please also note that since 2.7.0 module version the commands for the crons execution have slighty changed - although the old ones should still work, we recommend that you update their entries. | Please also note that since 2.7.0 module version the commands for the crons execution have slighty changed - although the old ones should still work, we recommend that you update their entries. | ||
+ | |} | ||
+ | =Upgrade Guide= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.<br/> | ||
− | + | Opt for the [https://www.modulesgarden.com/products/whmcs/proxmox-ve-vps#open-source-version Open Source version] of your Proxmox VE VPS For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/> | |
− | + | ||
− | + | Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. | |
|} | |} | ||
Line 2,415: | Line 2,881: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 10px 15px;"|17. The ''Move Product/Service'' action is not supported by the Proxmox VE VPS For WHMCS module.<br/> This is due to WHMCS limitations, and the fact that there are no hooks that would allow to catch such an event. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 15px;"|18. Error: "([boot] - invalid format - format error boot.order: invalid format - invalid boot device 'c')"<br/> | ||
+ | Solution: Edit the boot order in any of the templates to ensure the boot order is saved in a new format ''(after the change you may go back to the previous order)'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|19. In case you encounter any problems with the '' 'Guest Agent','' please first ensure that the service is active in the machine's operating system. <br/> | ||
+ | You may use the following command in PowerShell to check the status: | ||
+ | Get-Service QEMU-GA | ||
+ | To restart the service (stop and start again) use the following command: | ||
+ | Restart-Service QEMU-GA | ||
|} | |} |
Revision as of 12:43, 29 April 2024
About Proxmox VE VPS For WHMCS
Proxmox VE VPS For WHMCS is a powerful module which allows you to automatically provision virtual servers to your clients. Your customers will be able to manage virtual servers, backups, firewall, as well as access noVNC, SPICE, or Xterm.js console, and much more - all this directly in your WHMCS. |
- Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server |
✔ Create/Terminate User Account |
✔ Change Package - Supports Configurable Options |
✔ Reconfigure Server Network |
✔ Boot/Reboot/Stop/Shutdown Server |
✔ Change User Role |
✔ Access noVNC, SPICE And Xterm.js Console |
✔ Migrate Server Between Nodes In The Same Cluster |
✔ Reinstall Server |
✔ Change Server Hostname, ISO Image, Boot Devices And SSH Public Key |
✔ View Server Status, Details And Statistics |
✔ View Graphs - With Option To Change Time Scale of MRTG Graphs |
✔ Display Disk And Bandwidth Usage Of Each Product |
✔ Display CPU And Memory Usage Of Each Product |
✔ Display IP Sets (KVM) |
✔ Auto Node - Automatically Create VM On Node With Most Free Space |
✔ Configure Client Area Features Per Product |
✔ Configure Network And Private Network Settings With SDN Support |
✔ Import IP Address To Hosting IP Addresses Table |
✔ Return IP Address To IP Addresses Subnet |
✔ Add Additional IP Address To VM |
✔ Add Additional Disks Storage To VM (KVM) |
✔ Enable Qemu Guest Agent (KVM) |
✔ Enable Backups Routing |
✔ Enable Auto VM Backups Before Reinstallation |
✔ Enable Load Balancer |
✔ Receive Notifications About VM Upgrades And Creation Failures |
- Proxmox Addon Features:
✔ Display Servers: |
✔ List Per VPS And Cloud |
✔ Clusters List |
✔ VMs List |
✔ KVM Templates |
✔ Recovery VM Configurations List With Export To Backup File |
✔ Tasks History |
✔ Statuses, Resources Usage, IP Assignments And Details |
✔ Manage Public And Private IP Addresses Per Server/VLAN/Tag/Node/Bridge: |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ IPv6 Subnets |
✔ View Logs Of IP Assignment Changes |
✔ VM Cleaner - Manage VM Not Existing In Your WHMCS |
✔ Convert KVM VPS To KVM Template |
✔ Define VM IDs Ranges Per Server |
✔ Set Minimum VM ID For Product Without ID Ranges Defined |
✔ Provide Server Credentials For Cloud-Init Scripts |
✔ Configure Resource Weights For Load Balancer Prioritization |
✔ Configure Console Proxy |
✔ Synchronize Users Permissions |
✔ Create And Manage Custom Cloud-Init Scripts |
- Client Area Features:
✔ View Server Status, Details And Statistics |
✔ Boot/Reboot/Stop/Shut Down Server |
✔ Reconfigure Server Network |
✔ Access noVNC, SPICE And Xterm.js Console |
✔ Change Server Hostname, ISO Image, Boot Devices And SSH Public Key |
✔ View And Edit Public SSH Key (KVM) |
✔ Download Public And Private SSH Keys (LXC) |
✔ Create/Restore/Delete Backups Of Current Server |
✔ Manage Backups Within Defined Limits (Max Number And Size Of Files) |
✔ Restore Backups From Any Owned Server |
✔ Manage Backup Jobs Within Defined Limits (Max Number And Size Of Files) |
✔ Add And Manage Additional Disks |
✔ Manage Firewall Rules And Options |
✔ View Resources Usage Graphs - With Option To Change Time Scale of MRTG Graphs: |
✔ CPU |
✔ Memory |
✔ Network Traffic |
✔ Disk I/O |
✔ View Network Devices, Manage Private Interface And Attach Servers |
✔ Reinstall Server Using Templates (KVM) And ISO Images |
✔ Send Email Notifications When Server Exceeds Resources Thresholds: |
✔ Network Traffic |
✔ CPU Usage |
✔ Memory Usage |
✔ Disk Read And Write Speed |
✔ Create Server Snapshots: |
✔ Manually |
✔ Automatically: |
✔ Every Number Of Hours |
✔ Each Specified Days |
✔ View Tasks History |
✔ Manage VM Power Tasks To Automatically Start/Stop/Reboot Server At Specified Time |
✔ Display CPU, Memory, Disk And Bandwidth Usage |
✔ Choose Server Resources While Ordering And Upgrade/Downgrade Them Freely |
- Configurable Options:
✔ KVM: |
✔ Number Of CPU Sockets |
✔ Number Of Cores Per Socket |
✔ CPU Limit |
✔ CPU Units For The VM |
✔ Amount of RAM |
✔ Disk Space |
✔ Additional Disk Space (With Configurable Storage, Units And Size): |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ IPv6 Subnets |
✔ Private Network |
✔ Backups Size Limit |
✔ Backups Files Limit |
✔ Snapshots Limit |
✔ Snapshot Jobs |
✔ Bandwidth Limit |
✔ VM Template |
✔ Archive |
✔ Network Rate |
✔ VCPUs |
✔ ISO Image |
✔ OS Type |
✔ Custom Cloud-Init Configuration |
✔ Cloud-Init Script |
✔ Tag |
✔ LXC: |
✔ Number Of CPU Cores |
✔ CPU Limit |
✔ CPU Units For The VM |
✔ Amount of RAM |
✔ Amount of SWAP |
✔ Disk Space |
✔ Additional Disk Space (With Configurable Storage, Units And Size): |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ IPv6 Subnets |
✔ Private Network |
✔ Backups Size Limit |
✔ Backups Files Limit |
✔ Snapshots Limit |
✔ Snapshot Jobs |
✔ Bandwidth Limit |
✔ VM Template |
✔ Archive |
✔ Network Rate |
✔ Tag |
- General Info:
✔ Supports Cloud-Init (KVM) |
✔ Supports PVE And PAM Authentication |
✔ Supports KVM And LXC Virtualization |
✔ Supports Proxy For Proxmox Console Connections |
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing |
✔ Integrated With IP Manager For WHMCS - Complete Control And Easy Assignment Of IP Subnets (LXC) |
✔ Integrated With Products Reseller For WHMCS - End-To-End Solution For Products And Servers Reselling |
✔ Integrated With Proxmox VE Cloud VPS For WHMCS - Multiple Servers Provisioning And Management Within Set Resource Limits |
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products |
✔ Fully Integrated With Lagom WHMCS Client Theme |
✔ Multi-Language Support |
✔ Supports Proxmox VE 6.X, 7.X And 8.X |
✔ Supports IPv4 And IPv6 |
✔ Supports PHP 8.1 Back To PHP 7.4 |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports V8.9 Back To WHMCS V8.6 |
✔ Requires ionCube Loader V12 Or Later |
✔ Easy Module Upgrade To Open Source Version |
Installation and Configuration
This tutorial will show you how to successfully install and configure Proxmox VE VPS For WHMCS. We will guide you step by step through the whole installation and configuration process. Note: If you are still using any of the module's previous versions prior to v2.7.0, follow these instructions. |
Installation
This tutorial will show you how to successfully install and configure Proxmox VE 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. |
2. In the downloaded file you will two packages that support different PHP versions. The first one that supports PHP 7.3 up to PHP 7.4, and the second one addressed to PHP 8.1. |
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'. |
3. Extract the package and upload the 'includes' and 'modules' folders into the main WHMCS directory.
The content of the package to upload should look like this. |
Warning: The next step is important, make sure you do not skip it! |
4. Open 'UploadOnProxmoxServer' and upload the content of the proper version on all Proxmox Virtual Environment servers into the '/' path. You should upload these files not only during the first installation of the module but also each time you update it. |
Note 1: If the version of the Proxmox server you are using is not available, choose the package with the highest version number that is lower than the one you are currently using. |
5. When you install Proxmox VE VPS For WHMCS for the first time, you have to rename the 'license_RENAME.php' file. The file is located in 'modules/servers/proxmoxVPS/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
6. In order to configure your license key, you have to edit the previously renamed 'license.php' file. Enter your license key between the quotation marks as presented on the following screen. |
7. In the next step, set up the 'storage' folder as recursively writable. This folder is available at two locations:
|
Important: Beta to Stable Release update: |
8. If you are upgrading your module from beta to a stable release module version please either:
ALTER TABLE `ProxmoxAddon_Backups` ADD `format` VARCHAR(40) NOT NULL AFTER `volid`; |
Activation of Proxmox Addon
7. Firstly, activate the Proxmox Addon. To do so, log in to your WHMCS and navigate to 'System Settings' → 'Addon Modules'. Find 'Proxmox Addon' and press 'Activate'. |
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'. |
Configuration of Server
9. Now, we will show you how to configure a new product. Go to 'System Settings' → 'Servers' and press the 'Add New Server' button. |
10. Next, enter your server name and IP address, you may add any port in the following format: "IpAddress:Port" , that is: 10.10.10.1:8006. Enter the and password, choose the authentication type from 'Authentication' and 'Proxmox VE VPS' from the 'Type' dropdown menus. Save changes afterward. Important: If you have problems with connection, make sure the WHMCS server can correctly connect to Proxmox. For more details refer to this article [1]. |
11. Time to create a server group. To do so, click on 'Create Server Group'. |
12. Enter the name, click on your previously created server, press 'Add' and afterward 'Save Changes'. |
Configuration of Product
14. In order to create and configure a product, go to 'System Settings' → 'Products/Services' → 'Products/Services'. Click on 'Create a New Group'. |
15. Enter a product group name and press 'Save Changes'. |
16. When you have a product group, you can assign your product to it. To create a product, click on 'Create a New Product'. |
17. Afterward, choose your product group from dropdown menus and point its type, enter your product name and choose Proxmox VE VPS as a module name. Press 'Continue'. 'Product Type' can be set to 'Server/VPS' but nameservers will need to be added later (here you can find instructions on how to remove them from your order template). |
18. Now, go to the 'Module Settings' section and choose your previously created server group from the dropdown menu. The page should reload automatically after the selection. If it doesn't, you may need to click 'Save Changes' . |
19. Choose 'Virtualization Type' and 'Default Node' from the dropdown menus, and define whether the available resources should be checked before creating a new machine. Available virtualization types:
Remember that changing the node will always result in the replacement of the current configuration with the default one. Upon selecting the node, the current configuration should be saved automatically. Note: If you choose the 'Auto-Node' as your 'Default Node', new virtual servers will be created on the least used node. |
KVM Virtualization Type
20. Setting the KVM virtualization type. Before you start configuring the KVM virtualization, we highly recommend that you familiarize yourself with the following 'Qemu/KVM Virtual Machines' Proxmox Virtual Environment wiki article. Since the 2.7.0 module version, the basic fields required to create a virtual machine are filled in by default to make the initial setup simpler for you. Start your product configuration in the 'Virtual Machine Configuration' panel, where you can set up such features as the used OS Template or Archive, machine resources and limits or assigned IP addresses. Note: When creating a virtual machine (VM) from an OS template, the module automatically deletes network interfaces and creates new ones based on the product configuration. |
Next, configure 'Network', 'Hard Disk', 'Backup' and so on. For KVM virtualization type, there is also the 'Guest Agent' section available. Guest Agent is used to exchange information between the virtualization server and the operating system of your virtual machine. Remember that you need to install Guest Agent on your KVM template in order for the function to work properly. For more info click here |
Other panels that are less important or require more knowledge can be expanded according to your needs by clicking on the arrow on the right. |
Finally, choose which client area features shall be available for your clients. Do not forget to check out the Finalizing The Configuration chapter. Other practical information on the product configuration can be also found in the further sections of this documentation. Save settings when ready. |
Important: Keep in mind that the root password is by default generated automatically for the KVM virtualization upon its creation and reset. If you want to set your own password on the KVM virtualization, use the Cloud-Init feature. |
LXC Virtualization Type
21. Setting the LXC virtualization type is very similar to KVM. Before you start configuring the LXC virtualization, we highly recommend that you familiarize yourself with the following 'Linux Container' Proxmox wiki article. Just as with KVM, the basic fields required to create a virtual machine are filled in by default since the 2.7.0 module version to make the initial setup simpler for you. Start your product configuration in the 'Virtual Machine Configuration' panel, where you can set up such features as 'Default Storage', used 'OS Template' or 'Archive', container resources and limits or the number of assigned IP addresses. Note: If you want to create the VM based on 'Archive' of the backup copy, remember to leave the 'OS Template' field empty. |
Next, configure 'Mount Point', 'Backup', 'Network' and so on. Other panels that are less important or require more knowledge can be expanded according to your needs by clicking on the arrow on the right. |
Finally, choose which client area features shall be available for your clients. Do not forget to check out the Finalizing The Configuration chapter. Other practical information on the product configuration can be also found in the further sections of this documentation. Save settings when ready. |
Important: The LXC virtualization type is supported only by Proxmox VE 4.0. and later. If you use any previous version of a Proxmox server, you will not be able to start this virtualization. |
Finalizing The Configuration
22. Afterward, you can create configurable options. This step is optional - if you want to take it, start by selecting which of the configurable options listed in this table you want to generate. Note: It is advisable not to generate options that you do not plan to use, or in case you want their fixed values to be taken from the module settings, rather than being flexible. Note 2: There is also an 'Alternative Mode' available, which changes the way the configurable options values are verified and calculated. More information about configurable options and their edition can be found here. |
23. At the end of the product configuration, you have to add a cron job as shown below (5-minute intervals are recommended).
php -q /your_whmcs/modules/addons/proxmoxAddon/cron/cron.php queue Do not forget to replace 'your_whmcs' with your WHMCS root location. The cron can be also executed every single minute in order to perform the action more often. |
You have just finished the installation and configuration of the product, congratulations! Be sure to follow the below addon configuration as well to learn how to set up additional features. |
Configuration of Addon
24. Proceed to 'Addons' → 'Proxmox Addon' → 'Settings' → 'General Settings' and set up cron jobs listed under the 'Cron' section. Please note there are separate cron jobs dedicated to Proxmox VPS and Proxmox Cloud VPS, crucial for the seamless operation of the modules. Their suggested frequency is 5 minutes.
|
25. Next, find the 'Minimum VMID' field under the 'Cron' settings. Fill it in with a number that will be used as an ID of the first VM, the second VM will be assigned the next ID number. Define the limit of tasks that will be executed with a single cron run, just type in the required number into the 'Tasks Limit' field. Here, you may also turn on the 'Debug Mode' if you need to register module logs. |
26. Adding a new IP address (applicable only if you do not use IP Manager For WHMCS). In order to create a new product with an IP address assigned, you have to add 'Dedicated IP ' to the 'IP Addresses' list in 'Proxmox' addon module. |
27. Start with defining the IP address type, choose among: 'IPv4', IPv6' and 'IPv6 subnet'. Then, depending on the selected type, provide: For IPv4 and IPv6 addresses types
|
For "IPv6 Subnet" address type
Decide whether the created addresses will be private or not. |
Move to the 'Details' tab. 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. Remember to press the 'Confirm' button when ready. |
28. 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 with a successfully created product should look similar to the one on the screen below. |
Proxy Installation For Console Connection
A comprehensive guide detailing the installation, update instructions, and operational flow for the Proxmox Proxy application can be found in a dedicated article accessible through the following link. We encourage you to refer to it for further insight into the Proxmox Proxy application. |
The proxy feature can be looked on as an added security boost for your infrastructure. It hides your Proxmox server so that your clients will not get to know its actual address when connecting to the server via the console in your system. |
Proxy must be connected with Proxomx server. To verify if the connection between these two is successful, you may run the following command:
curl -v https://10.10.11.48:8006 where 10.10.11.48:8006 is the node IP address. |
Before you begin the process of connecting the console to the server through a proxy, you need to download the proxy application file. The file can be found under the following link after you have logged in to your ModulesGarden account. |
1. Create a new VPS server, which you may run on a Proxmox server. It is advised to use the KVM virtualization type. Warning! The used VPS may NOT have any services running, such as: PHP, WebServer (e.g. apache, nginx) or MySQL server. |
2. Configure the network on the virtual machine, make sure the network works correctly, to do so you may use the below command:
ping modulesgarden.com If everything is fine, assure that basic server security settings have been established. |
3. Log into the machine on which you are going to set up proxy. |
4. Install the docker engine and the docker compose:
https://docs.docker.com/engine/install/ |
5. Upload the application files into a proper directory, eg: /root/proxmox-proxy (create if needed). Then unzip the files. |
6. Move to the following catalog:
cd /root/proxmox-proxy Note that the exact directory depends on the previous step where you uploaded the files. |
7. Purchase or generate your own SSL certificate, and then use the certificate to overwrite the following files: 'nginx/localhost.crt' and 'nginx/localhost.key' . |
8. Find the 'example.env' file and rename it to '.env'. Then open the just renamed '.env' file and provide a random set of signs to create the database and root passwords: DB_PASSWORD and MYSQL_ROOT_PASSWORD |
9. Run the below command:docker-compose up --build -d |
10. Move to docker container:
docker exec -it proxyphp bash and run the installation script: php -q /var/www/html/installer.php install When ready, find the API Key and keep it safe, you will need it later on when pasting the data into the Proxmox Addon, see point 12 for details. |
11. Next, copy your machine IP address to WHMCS. You may check the IP address using the below command:
ip a Note: Remember to check the IP address in your virtual machine, not in the proxyphp container. |
12. Configure all the required data in the Proxomox addon in your WHMCS. Move to 'Addons' → 'Proxmox Addon' → 'Settings'. At the bottom you will find section 'Console Proxy' with 'Host' and 'API Key' fields. Provide the necessary data and confirm the changes. |
13. Make sure the server works. In order to do so, please open the address: https://{vmip}:8443. Remember to replace {vmip} with a valid virtual machine IP address, for example: https://192.168.8.113:8443/ |
14. Finally, try to open the noVNC console on your WHMCS Proxmox product to check if the proxy configuration is working properly. |
Important: If your certificate expires in the meantime, you will need to buy/generate a new one and follow the below steps:
docker-compose up --build -d |
Note: If you ever encounter an iconcube error while rerunning the 'docker-compose up' command, delete all local docker images related to your docker file using the following command and try again.
$ docker rmi -f $(docker images -a -q) |
For instruction on how to react in case an update is required, please refer to the dedicated article including all details on the Proxmox Proxy application. |
Cloud-Init (KVM)
Use Cloud-Init to configure the system during installation, first boot and package change. Cloud-Init was originally developed to provide early initialization of cloud instances. Click here to learn more about the initial Cloud-Init configuration. Note: Cloud-Init functionality is supported for the KVM virtualization only. |
Custom Configuration In Addon
Cloud-Init Scripts
The Cloud-Init Scripts section allows adding ready scripts that will be available to choose from in the products' configuration page. The selected there script will be used while crating the virtual machine. Press 'Add New' to manually add your script. |
Name your new Cloud-Init script and type in or paste a ready configuration. The configuration must include:
Here is an exemplary configuration of a Cloud-Init script. You may alter it to fit your settings and paste into the 'Script' field: #cloud-config hostname: {$domain} manage_etc_hosts: true fqdn: {$domain} user: {$username} password: {$passwordHash} chpasswd: expire: False users: - default package_upgrade: true |
A full list of available variables related to a Proxmox VPS type of the product/service:
{$userid} {$serviceid} {$domain} {$username} {$password} {$passwordHash} {$model->dedicatedip} {$model->assignedips} {$customfields.sshkeys} Where:
Important: If you want to use a {} sign in your script that has no variable inside, you must place it inside: {literal}{/literal}, for example: '{literal}{"X": "Y"}{/literal}'. |
Manage created Cloud-Init scripts, edit/delete singe scripts or use mass action to delete numerous scripts. |
Server Details
In order to use the Cloud-Init successfully, you need to also provide SSH details to let the script send the IP addresses to the Proxmox server. Move to Servers → Servers List → Details → Settings, there you will find fields that are responsible for the correct SSH connection.
You also have to select the 'Snippet Storage' to locate the Cloud-Init script in the correct catalog. |
Configuration Of Product
To use Cloud-Init, you need to enable it in the configuration of the Proxmox product. Before you start, we highly recommend that you learn the details of Cloud-Init configuration on your Proxmox server first. Click here for more information included directly in the Proxmox wiki article.
|
What is more, you can let your clients provide their own password to the VM when 'Cloud-init' is used. To do so, use the custom field that is presented below and do not forget to tick the 'Show on Order Form' option. |
In addition, you can allow clients to enter their own public keys for the VM during the ordering process, so they can log in to the server using their private key instead of a password. To enable this function, go to the 'Custom Fields' tab and add a new 'sshkeys|SSH Public Key' field, select the 'Text Area' type and the 'Show on Order Form' checkbox. Note: This custom field is also auto-generated from the module settings, but with the 'Admin Only' option enabled. Remember to uncheck it in order to make this field visible to clients. |
Now, when the client places a new order, they will be able to enter the public key here in the OpenSSH format. |
The SSH public key can also be inserted once the order has been completed. Simply click on the 'Edit' icon on the product's 'Information' panel. |
The public key can be entered right there in the OpenSSH format. It can be inserted from the admin area as well. |
Configuration Of Proxmox Server
The process of setting up Cloud-Init on the Proxmox server is described here. Additionally, you can use the following commands that can be useful for debugging purposes:
rm -rf /var/lib/cloud/sem/* /var/lib/cloud/instance /var/lib/cloud/instances/* && cloud-init init && cloud-init modules -m final
cat /var/log/cloud-init.log cat /var/log/cloud-init-output.log |
Additional Storage Configuration
This is an extra option that allows for specifying additional parameters for additional disk drives. Check how to set the product to allow clients to add disks with desired space, storage type and speed within configured limits. Remember that the Additional Disks options in the module settings must be enabled. |
1. Start with creating new selections for the "Additional Disk Space" configurable option (additionalDisksSpace|Additional Disk Space), note that you have to do that manually. To create the configurable options, please remember to follow the below-presented pattern: local-lvm:3 | Disk Local-LVM Storage: 3GB Where local-lvm:3 cannot be modified, the name on the right can be freely adjusted and the unit changed. 2. Next, add an appropriate entry in the language file to display the configurable option in a user-friendly manner. Open the english.php file located in modules/servers/ProxmoxVPS/langs/english.php and find an empty string: $_LANG['storage']['local'] = 'Local'; $_LANG['storage']['local-lvm'] = 'Local-lvm'; Modify the configurable option name that is on the right from the '=' sign. 3. Consequently, clients are now given the option to add hard disk with the custom storage type. |
Management
Proxmox VPS allows your customers to manage their PVE accounts via the client area in your WHMCS system. At the same time, you can monitor and manage each product from your WHMCS admin area. |
Admin Area
In the admin area, you are able to view details and manage your clients' machines, access remote consoles, migrate VMs between nodes, assign IP addresses and view resource usage graphs. All visible features can be turned on and off in the Proxmox Addon → Settings → Admin Area Features.
Note: The "Move Product/Service" action is not supported due to WHMCS limitations, and the fact that there are no hooks that would allow to catch such an event. |
It is possible to fetch information of network interfaces and OS using the 'Qemu Guest Agent' tool. This option must be previously enabled in the product configuration, and successfully installed on the VM. Afterward, it should look similar to the image below. |
In the next panel, you can find IPv4 and IPv6 addresses assigned to the VM. You can either delete or add an IP address to a product. To perform the latter action, press 'Add New IP' as shown on the following screen. |
Fill in the fields to add a new IP address. At the bottom, there is a switcher 'Create Network' which, when on, forces assigning this IP address via Cloud-Init if that has been enabled and configured properly. Important: Create Network option works for KVM configuration only. |
Additionally, until the VM has been provisioned, you can manually assign to it the desired IP addresses from the pool by typing them in the 'Assigned IPs' field (available for the 'Dedicated/VPS Server' product type). This will override the automatic IP address assignment, and the VM will use only the IP addresses you have entered in the mentioned field. Note: The IP addresses you provide must already exist in the IP Management pool, and cannot be assigned to any other VM. This feature will not work if you already use the IP Manager For WHMCS module. |
In the next two panels, you can view IPSet information as well as reinstall the VM based either on the OS or ISO template. |
Graphs can be useful to monitor the usage of VM resources. You can change the interval by pressing the 'Edit' button, and simply providing a new one. |
In the last part of product management, you can view the user details on your Proxmox servers along with the assigned VMID, node, VLAN tag, and SSH public key provided before the VM creation. |
Management of Addon
Servers Management
Servers List
In 'Addons' → 'Proxmox Addon' → 'Servers' → 'Servers List' you can find the configured Proxmox servers. RAM details:
Suspended - the number of suspended accounts per size in MB E.g.: (1/500 MB) in case there is only one suspended account that takes up 500MB assigned to the Proxmox VPS server. |
Through pressing the 'Edit' icon, you will be moved to the server edit page - see point 10 of the Server Configuration. Press the 'More Details' icon, and you will obtain extended information on the selected server. Look below for more details. |
VMs
The 'VMs' tab includes the list of virtual machines created on this server. Take a quick look at information on the domain, status, bandwidth, and IP addresses. To view information about the VM, simply press the "More Info" icon located on the right side of the page. |
Check the node and VMID: |
Clusters
The next tab contains the list of clusters with information on uptime, VMS and resource limits, as well as CPU, SWAP, memory and disk usage data. Important: Defined here node limits are strongly connected with the Load Balancer and node prioritization method used by the module to create new virtual machines. |
Press the "Edit" icon to manage the node and its limits.
Setting node limits is crucial as creating virtual machines is largely based on them, once reached, a new virtual machine cannot be created on that node. |
Specify the 'Tasks Limit' here to set the maximum number of permitted backup tasks for the node you are currently modifying. |
Please bear in mind that limits placed in the above section overwrite the "Default Limit of Backup Tasks Per Node" value defined in the Addon → Settings → Backup Tasks Limitation section. |
In the last tab you may define the relation between the node and backup storage and their synchronization.
|
Press 'Node Details' , and you will obtain all the summary and usage graphs: |
VM Cleaner
VM Cleaner allows you to track VMs existing only on your Proxmox server, and not in your WHMCS. Consequently, you are allowed to sort and delete only those VMs that cannot be managed in your WHMCS system. |
Templates
You can view the list of templates on this page. You can easily convert any KVM machine on your server to a template. In order to convert a VM, press the 'Create Template' button. |
Next, choose a VM that shall be converted. Fill out the 'Description' field, and press 'confirm'. |
You may also delete unused templates here. Delete single templates or use the mass action feature to delete templates in bulk. |
Server Settings
Here you can define the VM IDs range that will be used for newly created machines on this server. Please note that you need to enable the "Use VM Ranges" setting in the product configuration in order to use this feature. To proceed, define the ID range and save changes. Note: VM ID range allows you to sort created machines depending on the server they were created on.. |
Node Groups
Under the 'Node Groups' subsection, you can create new groups and assign nodes to them. |
Provide a name of your group and allot preferred nodes from the dropdown menu. |
Now, navigate to the 'Module Settings' of your product and find the 'Miscellaneous' and 'Load Balancer' sections. Firstly, provide the 'Minimum VMID' for a VM and then select one or more of the previously created groups. |
VMs List
In 'Addons' → 'Proxmox Addon' → 'Servers' → 'VMs List' you can find details of any Proxmox product. |
Press the 'More Details' button to preview the node and VMID information. |
Recovery VM Lists
In 'Addons' → 'Proxmox Addon' → 'Servers' → 'Recovery VM List' you can view details of the created machine. Run the 'VM recovery synchronization' cron job to create and store full backups of VM configuration - you can find it in the point 26 of the configuration instructions. |
Upon pressing the 'Details' icon, you will obtain the information on configuration, status, and DNS: |
Tasks History
The "Tasks History" section includes the list of all module tasks with their most crucial details. You may delete single tasks or use the mass action button to remove them in bulk. Run the 'Tasks synchronization' cron job to synchronize the tasks, and view all tasks from the server - you can find it in the point 26 of the configuration instructions. |
IP Management
In the 'IP Management' tab, you can manage the IP addresses of Proxmox products. You can create both single IP addresses (IPv4 and IPv6 are supported), and IP pools which then can be assigned to created VMs. Important!: In order to create a virtual machine, you must previously add public IP addresses. |
When you create a new IP address or a pool, you may define:
Note: please go back to point 27 of the addon configuration to learn more details about adding IP addresses. |
IP Logs
The 'IP Logs' includes the history of the IP addresses that were removed by the admin and which are again available in the proxmox addon IP Management pool. Keep in mind that only addresses that were automatically added when creating the VM. Removed IP addresses, that were the manually assigned, are not logged here. |
IP Manager Integration
Owing to the integration with IP Manager For WHMCS, you are able to easily create subnets with IP addresses, and assign them to the desired products. By activating the IP Manager submodule, settings concerning IP addresses such as 'Configurable Options' and 'Default Options' will be ignored by Proxmox VPS. |
3. Afterward, create a new configuration, and assign the previously created subnet to it. Note: Multiple subnets can be assigned to a single configuration. 4. Now, link the configuration with Proxmox VPS product via a product, server or a configurable option. |
5. Next, enable the integration by moving to the '3rd Party Integration' tab. Press 'Activate' next to the 'proxmoxVPS' module type as shown on the following screen. |
6. Afterward, assign the previously created configuration to the submodule. Press 'Configure' , choose a configuration, and press 'Save Changes'. |
If you encounter an error like the one on the screen below, while integrating the two products, it may mean the function 'mb_strlen' is not enabled by default. In this case, please read this manual for installation instructions. |
It is possible to add VLAN Tag Custom Filed in the very same way as the "MAC Address" field. Look above for the detailed instruction on how to proceed, follow the steps 1-6 to create a new custom field. |
Settings
Load Balancer
Load Balancer is an advanced tool that allows smooth rotation between nodes so as to find the most preferable one, and create virtual machine on it. Set the weight of the resource that will prioritize its selection when sorting the nodes according to the free resources. To learn more about nodes and their allowed limits please go back to the Clusters section of this documentation. |
In order to use the Load Balancer, you need to enable it in the product's configuration: Define the behavior of the tool:
|
Node Prioritization Method
Have a look at how the sorting process works, and the rules that it goes by. Let's take exemplary weights for each resource just like the ones presented on the screen above. VMs Number Weight: 1,5 "Disk Weight" with the highest weight, which means it has the highest priority, and "VMs Number Weight" as the least crucial factor on a given node. In this case, there are four nodes created, named A, B, C, and D, with current resources as shown below: Node A (Free Ram: 60%, Free CPU: 20%, Free Disk Space: 50%, Number of VMs: 5) The next step is sorting the nodes according to each resource, it is done by assigning them corresponding priorities from 1 to 4. |
Priority | Free Ram | Free CPU | Free Disk Space | Number of VMs |
---|---|---|---|---|
4 | Node C | Node B | Node D | Node A |
3 | Node D | Node D | Node A | Node B |
2 | Node A | Node C | Node B | Node D |
1 | Node B | Node A | Node C | Node C |
Now, the final calculation of sorting nodes according to free resources is performed, taking into account the previously defined weights. The process of sorting nodes is based on the following calculation method: Final Node Priority = (RAM Priority x RAM Weight) + (CPU Priority x CPU Weight) + (Free Disk Priority x Disk Weight) + (No. VMs Priority x VMs Weight) The results for nodes A, B, C and D (with weights and sorting priority) are as follows: Node A: (2 x 2,5) + ( 1 x 2 ) + ( 3 x 4 ) + ( 4 x 1,5 ) = 25 Node B: (1 x 2,5) + ( 4 x 2 ) + ( 2 x 4 ) + ( 3 x 1,5 ) = 23 Node C: (4 x 2,5) + ( 2 x 2 ) + ( 1 x 4 ) + ( 1 x 1,5 ) = 19,5 Node D: (3 x 2,5) + ( 3 x 2 ) + ( 4 x 4 ) + ( 2 x 1,5 ) = 32,5 As you can see, Node D has got the highest priority value with the result: 32,5. The above described calculations are performed every time, 'Create' or 'Upgrade' actions are executed based on the current usage of resources on available nodes. Important: In case a given client already has a VM existing on a node, this very node will NOT be taken into account during the prioritization of resources. If you decide to use the Load Balancer tool, define the resource weights to adjust the prioritization of nodes according to your needs. |
Global Limitations
|
Admin Area Features
The 'Admin Area Features' section includes a list of all possible features that can be activated and then available or not for the admin under the product's details. Below you can find a list of features dedicated to:
|
Tasks
In the "Tasks" section, you will find tasks that have already been completed, are still in progress, or are yet to be executed by the cron. Moreover, by clicking the 'Information' button, you can display more data on the particular task. |
In the information tab, you can see which specific product/service the chosen task was related to. Moreover, in logs, you can check the API response errors with each timestamp it was returned. Note: The logs will be displayed only in case the errors occurred. If the task has finished successfully, there will be nothing to see. |
If you notice that, for instance, a certain task cannot be completed due to some errors, you can remove it, so the cron no longer attempts to execute it after each iteration. After you figure out what went wrong, you can try to add it again, and check the results. |
Client Area
The client area interface of Proxmox VPS For WHMCS should look like the one on the screen below. As you can see, the control panel contains assorted options that will prove highly useful in VM management. Your clients are able to access resource usage 'graphs', view the VM 'history', manage the 'network' interface device, and set up the 'firewall' rules. Additionally, clients may take 'snapshots' , and manage 'disks'. Note: The bellow example image was taken from the KVM-based VM, but it looks very similar in the case of LXC. |
By clicking the 'Edit' button next to the 'Information' headline, your clients can additionally change the VM hostname and ISO image, choose boot devices, as well as insert their SSH public key. Important: If you do not see the Edit icon, it means the option to change hostname has been turned off by the admin. |
Client Area - VM Management
noVNC Console
noVNC console allows your clients to connect to their server in the easiest possible way. |
SPICE Console
SPICE console enables you to connect to the virtual machine using SPICE. Note: Since the 2.7.0 version of the module, your clients no longer need to download and install the client side SPICE application in order to connect with a VM. The console will be now opened in the virt-viewer instead. |
Xterm.js Console
Xterm.js console enables you to connect to the virtual machine using Xterm.js. You have to update the scripts on Proxmox v2.6.0. To do so, open the folder: UploadOnProxmoxServer/5.2-10 and upload the content on all your Proxmox servers. |
Client Area - Additional Tools
Reinstall
The "Reinstall" feature can be used to reinstall a new OS on the VM directly by the clients. You can allow your clients to either select a new OS from the provided KVM templates to automatically replace the system, or let them choose the ISO image for manual system installation.
|
Remember to grant your clients access to the selected reinstallation types in the 'Client Area Features' , as well as choose the available 'OS Images' and 'ISO Images' . |
Backups
Important! Remember that since Proxmox VE VPS For WHMCS module version 3.7.0, a dedicated to backups synchronization cron job must be configured. Make sure you have set up the corn task as described in point 28 of the addon configuration instruction. |
To create a single backup, press the 'Backups' button, and click on 'New Backup' as shown on the following screen. |
Now, choose the compression type ( 'None' , 'LZO' or 'GZIP' ) and the backup mode ( 'Snapshot' , 'Suspend' or 'Stop' ) from dropdown menus. Afterward, press 'Confirm'. |
Note: Creating a backup is now added to the tasks list, wait a moment until the task is completed. Once ready, your new backup will appear on the list and will be available for future restoration. Note 2: You may select the storage for created backups either in the module settings globally, or per node in the addon module (this setting overwrites the product settings). |
To restore a VM from the backup, press 'Restore' , and then click the 'Confirm' button in a popup window. |
Above the backups list, there is a table with information on 'Available Resources'. You will find there data on limits put on backups:
Next to the statistics there is a comfortable and easy to read progressive chart to illustrate the usage. If size is set to 'Unlimited', the chart does not show any progress. |
Backups Collection
Open the collection of your all backups, here you will find the backups created from all your virtual machines. You may restore this service with any backup of your choice. |
Backup Jobs
By pressing 'Backup Jobs' in the client area, you will be moved to the backup jobs management page. You can easily edit or delete, as well as preview the details of existing backup jobs there. |
Now, define the backup start time, choose the days when to run it, and select 'Compression Type' and 'Backup Mode' from dropdown menus. Also, select if you want to receive the notification when the backup is ready. Finally, press the 'Confirm' button. |
Graphs
Through pressing the 'Graphs' button, clients will be moved to the page with the generated graphs showing the CPU and memory usage, network traffic, and disk I/O. They can also switch the timeline of graphs by choosing a new one from a dropdown menu indicated on the following screen. Clients can pick between 'Hour', 'Day', 'Week', 'Moth' and 'Year'. |
Tasks History
To access the history of a machine, simply press the 'Task History' button. Afterward, the customer can see all the actions performed on the VM, as well as their status. If an error has occurred during the execution of a task, the client can view the API response error by clicking on the 'Information' icon. |
Network
Your clients are allowed to add and remove only private network interface devices. Additionally, they may assign other virtual machines to the network, enabling communication between them. |
Upon clicking the 'Information' button, the new popup will open with more network details. |
The 'Assign Virtual Machine' button opens another popup window, where virtual machines to be assigned to the network can be selected and optionally restarted. You can find an exemplary scenario illustrating a typical use case of this function in the 'Use Cases' section of this wiki. |
Finally, the 'Delete' button will remove the network. Keep in mind that ' Network device' options have to be set to 'Private'. |
Snapshots
Use a snapshot to remember the current contents of the virtual machine memory. You may use them later to restore the VM's settings. Please remember that it is necessary to run the following cron command for snapshot jobs. You may set the cron command once a day or every hour. Do not forget to replace 'your_whmcs' with your WHMCS root location. php -q /your_whmcs/modules/addons/proxmoxAddon/cron/cron.php snapshots |
Press the 'Take Snapshot' button and fill out the form to take a snapshot. Name it (use the alphabetical characters and no spaces), choose whether to include RAM, and add a description. |
It is also possible to set up 'Snapshot Jobs' where snapshots can be created according to your preferences (daily or hourly). Click on 'New Job' in order to add a new snapshot job. |
As you complete the form, remember to fill in the 'Name' field without spaces or special characters- only capital letters and numbers are allowed here. |
Firewall
Owing to the 'Firewall' page, your clients can set up firewall rules and enable a security group for their servers from the WHMCS client area. As you can see, you can easily modify and remove the previously added rules and security groups. |
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 (orange) is to choose macro from the 'Macro' dropdown field. |
Among 'Additional Actions' you will find three options:
|
|
You may manage the hierarchy of rules on the list. In front of each rule, you can find its 'Position' marker. The higher the rule is on the list, the higher priority the rule has assigned.You may change the rule position using the 'Move up/down' arrows. |
Firewall Options
Here you can view the current firewall settings. To decide on its options, press the 'Edit' button, and adjust them to your needs. |
Disks (KVM only)
View available disks and add new ones. |
Define the additional disk size, choose its bus (the available options may be 'IDE', 'SATA', 'VIRTIO' or 'SCSI' ), as well as define a disk format - you can choose from 'Raw disk image (raw)', 'QEMU image format (qcow2)', or 'VM image format (VMDK)' . |
Resources Notofications
Within the "Resources Notifications" section, you can configure personalized notifications regarding your machine's utilization. By creating "Resources Notifications", you enable the system to automatically send email alerts whenever your server exceeds predefined thresholds for network traffic, disk read and write operations, CPU utilization, and memory usage within a specified time frame. These notifications serve as indicators, ensuring that you stay informed about any significant deviations from normal resource utilization, enabling you to take timely action and maintain optimal performance. |
To create the first notification rule press the 'Create Notification' button. A dedicated form will appear, fill in the described below fields to compose the notification requirements:
|
A ready notification rule appears on the list, here you may quickly turn it on/off (1) depending on your current needs, change (2) the rules or delete (3) the notification. |
VM Power Tasks
The "VM Power Tasks" section empowers you to effortlessly create and manage automated power tasks for your virtual machine, all in one convenient location. With the ability to define task rules, you can automate multiple actions and minimize your manual intervention in VM operations. To begin configuring your first rule, simply click on "Add Task". |
A new form will appear with the following options to provide:
|
The power tasks list provides a comprehensive overview of all the tasks associated with power management on your virtual machine. You can easily identify active actions tasks, ensuring that your virtual machine operates according to your desired configurations. Additionally, the flexibility to modify existing rules (1) allows you to adjust the tasks' parameters to align with your needs. If necessary, you can also remove unwanted tasks from the list (2). |
Important: "VM Powre Tasks" require a dedicated cron job to be set up by the administrator. |
Configurable Options
When you successfully set up a product, your client can order it by choosing from the default configurable options. Important: Storage Disc Space configurable option, when used by the client, overwrites the product configuration 'Disk Space ' option. |
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. |
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. |
You will see a popup window, so make sure your browser does not block it. To add a new option, enter it in the textbox located below all other options. If you want to replace the option you currently have, simply edit the textbox. |
More information about WHMCS configurable options and their editing can be found here. |
List of Configurable Options
The table below lists all configurable options used by the module for the chosen virtualization type. |
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 Units For The VM |
CPU weight for a VM|CPU Units 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 |
additionalDisksSpace|Additional Disks Space |
IP Addresses|IPv4 Addresses |
IP Addresses|IPv4 Addresses |
IPv6 Addresses|IPv6 Addresses |
IPv6 Addresses|IPv6 Addresses |
IPv6 Addresses|IPv6 Subnets |
IPv6 Addresses|IPv6 Subnets |
Backups Limit|Backups Size |
Backups Limit|Backups Size |
Backups Files Limit|Backup Files |
Backups Files Limit|Backup Files |
snapshots|Snapshots |
snapshots|Snapshots |
snapshotJobs|Snapshot Jobs |
snapshotJobs|Snapshot Jobs |
Bandwidth|Bandwidth |
Bandwidth|Bandwidth |
VM Template|VM Template |
VM Template|VM Template |
archive|Archive |
archive|Archive |
Network Rate|Network Rate |
Network Rate|Network Rate |
vcpus|VCPUs |
tag|Tag |
ISO Image|ISO Image |
storage|Storage Disk Space |
osType|OS Type |
|
cicustom|Custom Cloud-Init Configuration |
|
ciscript|Cloud-Init Script |
|
tag|Tag |
|
storage|Storage Disk Space |
Differences between the cicustom and the ciscript configurable options: cicustom - it is a more advanced alternative to the "ciscript" configurable option. Using the "cicustom" option results in sending the configuration specified by the administrator. |
Integration with Products Reseller For WHMCS
The close integration of Products Reseller For WHMCS with Proxmox VE VPS For WHMCS will certainly bring advantages to your business. You will be able to resell your Proxmox VE VPS servers using WHMCS or any other platform. Thanks to extra settings available only for 'Proxmox VE VPS' products, your resellers are granted the possibility to customize offered services to meet clients’ needs. Moreover, you can easily monitor the income and manage your reseller groups. |
In the 'Products Reseller For WHMCS' module, you can handily create your own integrations as well as assign as many various 'Proxmox VE VPS' products as you wish. |
In addition, the extra setting options that are available only for 'Proxmox VE VPS' products will definitely make your offer more competitive. |
Once an order is placed, the enabled setting options will appear in the side menu along with additional information about the 'Proxmox VE VPS' product at the bottom of the page. Now, the 'Proxmox VE VPS' product can be simply administered straight from the client area. |
What is also important is that you can keep under control all key details such as orders, income, and groups of resellers straight from the 'Products Reseller' panel. If you want to find out more about the Products Reseller For WHMCS module, please proceed here |
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. The module allows you to charge your customers based on the server resources they have used. |
With Advanced Billing For WHMCS module, you can also display the current resource usage of your customer's server, as well as its total cost. |
Management of Existing Accounts
You can easily use Proxmox VE VPS module with your existing Proxmox accounts. To do so, follow the instructions below: |
5. If possible, enter IP addresses into fields 'Dedicated IP' and 'Assigned IPs' . |
6. Set the product status to 'Active' . |
Servers Location Management
Important: Server Allocator For WHMCS is required to allow location management. In order to allow defining locations for Proxmox VPS, follow the below steps:
Keep in mind that all locations need to 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. The "Create" action is triggered on the assigned server due to the 'Server-Node' option enabled. |
Use Cases
In this section, you will find exemplary scenarios illustrating typical use cases, along with specifics on how the module's functionalities can be applied in practice. Review the following scenarios for practical examples of the module usage. |
Selling Predefined Windows Virtual Machines
Proxmox VE VPS For WHMCS can be used to sell predefined Windows-based virtual machines. Follow the instructions below, to prepare the template for Windows Virtual Machines and configure the module. |
First, a template virtual machine needs to be prepared in Proxmox: 1. Start a new virtual machine with a Windows Installer ISO file mounted. |
Next, the Proxmox VE VPS For WHMCS module settings need to be correctly configured: 1. Enable the 'Guest Agent' in the product's module settings. |
2. Generate 'Configurable Options' responsible for the virtual machine templates. Including only Windows templates in the Configurable Options is recommended. |
Selling Predefined Linux Virtual Machines
Proxmox VE VPS For WHMCS can be used to sell predefined Linux-based virtual machines. Follow the instructions below, to prepare the template for Linux Virtual Machines and configure the module. |
First, a template virtual machine needs to be prepared in Proxmox: 1. Create a template Cloud-Init virtual machine based on this documentation.
3. If you are using 'Shared Storage,' upload the template to it. If you are not using 'Shared Storage', you will need to upload the template to every node. |
Next, the Proxmox VE VPS For WHMCS module settings need to be correctly configured: 1. Make sure 'Cloud-Init' is enabled in the product's module settings. |
2. Define which 'OS Templates' will be available in the Reinstall section in the client area. |
3. Generate 'Configurable Options' responsible for the virtual machine templates. |
Optionally, set prices for 'VM Template Configurable Options.' Navigate to 'System Settings' → 'Products/Services' → 'Configurable Options.' in order to do so. |
Connecting Multiple VPS Machines Into One Private Network
Proxmox VE VPS For WHMCS allows connecting multiple VPS machines into one private network. To do so, you will need at least 2 virtual machines. In our case, the hostname of the first virtual machine is: 'virtualmachine1.com' and the hostname of the second one is: 'virtualmachine2.com.' First, pick one of the machines and navigate to 'Additional Tools' → 'Network' in your client area. |
Once there, assign a new private network to the virtual machine you have selected by clicking on the 'Create Private Network' button. If there are any private IP addresses available, a new network will be created and this virtual machine will be assigned to it. |
Now, you can assign other virtual machines you own to this very network. Click on the 'Assign Virtual Machine' button. |
Select the virtual machine that you want to add to the network. You can identify it by its hostname. In our case we want to add 'virtualmachine2.com.' Restarting the virtual machine is optional but will allow it to connect to the network as soon as possible. |
After clicking on 'Confirm' button, you should receive information stating that the virtual machine has been successfully assigned to the private network. |
Selling Virtual Machine Upgrades
Proxmox VE VPS For WHMCS integrates WHMCS 'Upgrades' and 'Configurable Options' to enable clients to change their virtual machine's specification.
See the instructions below on how those functions work with the module.
|
Upgrading from one product to another. 1. Configure the first product as you normally would. For the sake of an example, in the product's module settings, we will set the limits to 4GB of disk space, and 512MiB of RAM. |
2. Create another product in the same way, but this time with higher limits. For the second product, we will set the limits to 6GB of disk space, and 1024MiB of RAM. Of course, you can change any properties of the products as you see fit. |
3. Open the 'Upgrades' section of the first product and select the products you would like to allow the clients to upgrade it to. In our case, we will choose the newly created 6GB product. |
4. In the client area, a new option will be visible, and the client will be able to place an order to upgrade their product. |
5. Once the order is accepted, the virtual machine has to be rebooted for the upgrade to take place. |
The changes will immediately be visible in the client area and the admin area. |
Another way for the client to upgrade their virtual machines is to utilize the 'Configurable Options' function instead. In this way, all the changes in the specification will take place within the same product. 1. For the products that have the 'Configurable Options' assigned, you can use those as an upgrade option. Tick the 'Configurable Options' checkbox in the 'Upgrades' section. |
2. In the client area, a new option to upgrade the configurable options will be displayed. |
3. Clients will be able to pick their configuration again, all within the possible range that you have defined in configurable options. If you prepare configurable options for, say, the number of snapshots, the client will be able to pay for an increased limit of snapshots. |
4. After the order is accepted, the configuration will update once the virtual machine is rebooted. |
The changes will immediately be visible in the client admin areas. |
Selling Additional Storage
Proxmox VE VPS For WHMCS can take advantage of the 'Configurable Options' function to allow admins to sell additional storage space to their clients. Follow the instructions below, to see how to set up additional storage space options for your clients. |
In the product's module settings, at the very bottom, you can find a list of available configurable options. The ones that we are interested in right now are:
additionalDisksSpace|Additional Disks Space and additionalDisksSpace_[STORAGE_NAME]|Additional Disk Space (STORAGE_NAME) The difference between them is that 'additionalDisksSpace' can include any combination of any storage detected on your server, but only one option can be selected. |
Click on 'Create Configurable Options' and select those relevant to generate a template you can edit under 'System Settings' → 'Products/Services' → 'Configurable Options.' Note: You can also create them manually if you prefer. |
Here is an example 'additionalDisksSpace' configurable option:
|
The option to buy additional storage space will now be displayed in the client area while ordering a new product, or upgrading configurable options. While using the 'additionalDisksSpac' configurable option, only strict storage configurations defined by the administrator are available. |
The 'additionalDisksSpace_[STORAGE_NAME]' configurable option can be used to achieve a different effect.
|
Once configurable options for every storage are created, the clients will be able to freely choose their own combinations. |
After the order for additional storage is accepted, the user may create additional disks as they see fit, within the limits specified when placing the order and the product's module settings. |
Here is an explanation of each field:
|
If you would like to change how the storage types are displayed to the client, you can do so. 1. Find and edit the english.php file located in modules/servers/ProxmoxVPS/langs/english.php. $_LANG['storage']['local-lvm'] = 'Local-lvm'; 3. The text after the '=' is the display name and can be edited. $_LANG['storage']['local-ssd'] = 'SSD Storage'; |
The virtual machine has to be rebooted before the new disks are enabled and usable. |
Tips
1. Operations performed on the virtual servers are not executed immediately. Give your Proxmox Virtual Environment some time to process the request and execute the 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 just one.
|
3. If you set the product type to 'Hosting Account' when adding a new product, you will not need to fill out nameservers as they will be automatically set up. But if you still want to use the 'Server/VPS' product type, this article might help you in learning how to remove nameservers from your order template. |
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 they are generated on. |
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. When the 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 the templates system, any changes made in the module's template files will be saved after the upgrade process. |
8. If you are using the module in the 2.3.2 version or any previous one, 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. |
9. OS Templates serve only as operating systems for the VM, while VM Templates contain complete configuration of the VM, the amount of resources included. |
10. You can use the {$service_assigned_ips} tag in your welcome email template to display automatically assigned IP addresses for the created VM (either the KVM or LXC virtualization type). Other available tags in the 'Client Notifications' emails: {$user.username} {$user.password} {$user.realm} If you wish you may add other information, like password, into the email, just refer to e.g. 'VPS Server Welcome Email' email template in your WHMCS to find appropriate merge fields. |
11. 'One User Per VPS' option allows you to either create a new username for each new client's VM, or create only one that will be then used for every new VM owned by your client. |
12. You can use the 'IPSet IP Filter' option for firewall to prevent IP spoofing. Click here to read more about IP Sets. Inside the admin area, in the product details view, you can preview the current IP Sets on VM: |
13. You can enable 'Admin Notifications' on product configuration to be informed via email about certain actions. These are:
|
14. The 'Minimum Network Rate Limit' option allows you to change the previously entered 'Network Rate Limit' value to a new one if the current 'Bandwidth Limit' is already reached. Note that the 'Bandwidth Limit' can also be used for the WHMCS overage billing calculation as described here. |
15. 'Default Username Prefix' - when filling in this field you may use the {$serviceid} parameter to avoid problems with creating usernames that already exist. |
16. You can easily import and assign any already existing VM from Proxmox to your WHMCS. First, you need order Proxmox VPS product to your client account without processing the VM creation process. |
17. It is possible to display more information about your VM in Proxmox Environment. To do so, you need to provide the preferred records in the 'Container Notes' tab under the ' KVM or LXC Configuration' section. The following records can be used: Client: {$client_name} (ID: {$client_id}) Email: {$client_email} Service ID: {$service_id} Product: {$product_name} (ID: {$product_id}) Hostname: {$service_domain} Main IP: {$service_dedicated_ip} {if $service_assigned_ips} IP Address Allocation: {$service_assigned_ips} {/if} You may also use markdown to modify the container notes, for example: Client: {$client_name} (ID: {$client_id})\ Email: {$client_email}\ Service ID: {$service_id}\ Hostname: {$service_domain}\ Main IP: {$service_dedicated_ip} {if $service_assigned_ips} The above notes will be displayed with every item starting in a new line. |
18. When the interface names on the VM are Net\d+, you need to choose Eth\d+ in the 'Firewall' section of the product configuration. |
19. If you want your clients to provide their own hostname, you need to add the following custom field in the 'Custom Fields' tab of the product configuration. proxmoxHostname|Hostname |
20. Create Linux VM:
|
|
21. Create Windows VM:
|
|
22. Configuring 'Default User' per template. Move to 'Proxmox Addon' → 'Servers' → 'Server Details' → 'Templates' → 'Create/Edit Template'. You may assign a default user to a single template, that user will be automatically assigned to the newly created VM. |
23. Configurable option field: 'Storage Disc Space' - this option allows to define the type and space on disc via a configurable option when placing an order. It also allows to extend the space as well as change the disc type. This CO overwrites the ordinary 'Disc Space' field available in the product configuration section. Important: To migrate the disc, you must previously 'Stop' your VM. |
24. Usage of VLAN Tags: VLAN Tags Range Minimum and Maximum Numbers simply play the role of network separation measures. The minimum and maximum numbers cause the module to select the next free VLAN Tag from this range for each virtual machine it creates. |
25. SDN Support: The module supports SDN private network type. It is possible to create virtual networks (vnets) at datacenter level thanks to the Software Defined Network (SDN). In the module, the whole configuration of SDN is located in 'Module Settings' → 'Private Network' section. There you will find dedicated options, these are:
|
26. The "fetchBackupsForArchive" parameter in the "global_options.yml" file allows skipping the backups from being loaded into the "Archive" list in the product configuration.
By default the parameter is set to 'true' and backups are loaded. You may change it manually to 'false' and no backups will be loaded in the 'Archive' dropdown list as on the screens below: |
27. OS Templates and ISO Images' names - translate the names of available templates and images easily. Add extra lines into the module language file (e.g. /yourWHMCS/modules/servers/proxmoxVPS/langs/english.php) with your desired translations to customize their names. Follow the bellow pattern to add new lines: $_LANG['template']['ISO_name'] = 'My ISO Name'; For example: $_LANG['template']['Ubuntu'] = 'Ubuntu - preferred'; $_LANG['template']['Debian Live 9.4.0 Amd64 Cinnamon'] = 'Aktuelles Debian'; Please note that ['ISO_name'] must be replaced with the full template or image name that you are going to change. |
28. If you want to use the IP Address, CIDR and Gateway allocated from the IP Management section of the Proxmox Addon module instead of hard coding them, use the following parameter:
{$ipv4Addresses[0].gateway} |
29. Select the storage type already while placing the order. Create the "Storage Disk Space" configurable option with storage size and name to allow clients to set "Storage Disk Space" during the order. It will be used instead of the provided "Disk Space" value.
Exceptions:
|
30. Private Network management The module allows to create private network skipping the IP Management and firewall settings. Disable the below options if you do not aim to assign the IP address to the private network device.
|
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.
Important: After upgrading the module to the newest version please first enter to the Proxmox addon in your WHMCS before setting up the product or opening it from admin or client area! Please also note that since 2.7.0 module version the commands for the crons execution have slighty changed - although the old ones should still work, we recommend that you update their entries. |
Upgrade Guide
Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability? There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment. Opt for the Open Source version of your Proxmox VE VPS For WHMCS module to unlock these benefits. Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. |
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: The user account does not have permission to access the noVNC console. To change the user role for all clients, please use the 'Cron job users synchronization (run only once)' cron command. |
3. Error 'This connection is untrusted' during connecting via the noVNC console. Reason: Your certificate is not valid. |
4. The blank page during connecting via noVNC console, '501 Error' visible in the proxmox panel. Reason: You have not uploaded the additional files on the Proxmox server. |
5. Error 'Change password failed: user 'xxx' does not exist' Reason: You have not created a client yet. |
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. |
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 the module settings again. |
8. The current disk usage for the KVM virtualization type is not properly displayed. This is due to API limitations that lead to returning the incorrect value, which is always set to '0' . |
9. If you want to use Cloud-Init on Debian, we recommend using the Cloud-Init's version 18.2 or later to avoid assorted problems occurring in previous versions. |
10. Error: "Only root can set 'serial0' config". Solution: Turn off the Xterms.js console in the product configuration. |
11. Error "Parameter verification failed. ([maxfiles] - Only root may set this option.)" Reason: The user is other than "root" or the server authentication is set to Proxmox VE. |
12. Error "Node for IP Address 10.10.10.10 not found" Reason: An interface with the IP Address 10.10.10.10 cannot be found. |
13. Please remember that the disk size cannot be downgraded. Such a possibility is not supported. |
14. Error: "Cannot clone to non-shared storage 'local"
Reason: Option 'Search For Templates On All Nodes' is enabled in the product configuration under KVM configuration. |
Remember that cloning from node "A" to node "B" does not work on the local storage. It is important to keep every template named the same on every node, otherwise cloning will not work either, eg.: |
15. Error: "Nameserver '%' cannot be resolved" Reason: The nameserver IP must be provided for the virtual machine of LXC configuration type. |
16. Error: "SQLSTATE[42S02]: Base table or view not found: Table 'ProxmoxAddon_ServerUsage' doesn't exist" Reason: The ProxmoxAddon_ServerUsage table has not been created properly because the tblservers table is on a different engine than "InnoDB" |
17. The Move Product/Service action is not supported by the Proxmox VE VPS For WHMCS module. This is due to WHMCS limitations, and the fact that there are no hooks that would allow to catch such an event. |
18. Error: "([boot] - invalid format - format error boot.order: invalid format - invalid boot device 'c')" Solution: Edit the boot order in any of the templates to ensure the boot order is saved in a new format (after the change you may go back to the previous order) |
19. In case you encounter any problems with the 'Guest Agent', please first ensure that the service is active in the machine's operating system. You may use the following command in PowerShell to check the status: Get-Service QEMU-GA To restart the service (stop and start again) use the following command: Restart-Service QEMU-GA |