Proxmox VE VPS For WHMCS
Line 1: | Line 1: | ||
<meta name="keywords" content="proxmox vps for whmcs, proxmox vps configuration, whmcs proxmox vps management, whmcs proxmox vps installation, whmcs proxmox vps common problems, about whmcs proxmox vps, whmcs proxmox vps documentation, whmcs proxmox vps faq, whmcs proxmox vps help, whmcs proxmox vps guide, whmcs proxmox vps wiki, whmcs proxmox vps tutorial, whmcs proxmox vps tips, whmcs proxmox vps wiki"></meta> | <meta name="keywords" content="proxmox vps for whmcs, proxmox vps configuration, whmcs proxmox vps management, whmcs proxmox vps installation, whmcs proxmox vps common problems, about whmcs proxmox vps, whmcs proxmox vps documentation, whmcs proxmox vps faq, whmcs proxmox vps help, whmcs proxmox vps guide, whmcs proxmox vps wiki, whmcs proxmox vps tutorial, whmcs proxmox vps tips, whmcs proxmox vps wiki"></meta> | ||
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Proxmox VPS For WHMCS Module."></meta> | <meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The Proxmox VPS For WHMCS Module."></meta> | ||
− | |||
− | |||
− | |||
− | |||
Line 38: | Line 34: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Reinstall Server | |style="padding: 0px 0px 0px 30px;"|✔ Reinstall Server | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Change Server Hostname, ISO Image, Boot Devices And SSH Public Key | ||
|} | |} | ||
{| | {| | ||
Line 43: | Line 42: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ View Graphs - With | + | |style="padding: 0px 0px 0px 30px;"|✔ View Graphs - With Option To Change Time Scale of MRTG Graphs |
|} | |} | ||
{| | {| | ||
Line 55: | Line 54: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Auto Node - | + | |style="padding: 0px 0px 0px 30px;"|✔ Auto Node - Automatically Create VM On Node With Most Free Space |
|} | |} | ||
{| | {| | ||
Line 113: | Line 112: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Manage Public | + | |style="padding: 0px 0px 0px 30px;"|✔ Manage Public And Private IP Addresses Per Server, VLAN, Tag And Node |
|} | |} | ||
{| | {| | ||
Line 128: | Line 127: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Configure | + | |style="padding: 0px 0px 0px 30px;"|✔ Configure Resource Weights For Load Balancer Prioritization |
|} | |} | ||
{| | {| | ||
Line 143: | Line 142: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Access noVNC, SPICE And Xterm.js Console | |style="padding: 0px 0px 0px 30px;"|✔ Access noVNC, SPICE And Xterm.js Console | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Change Server Hostname, ISO Image, Boot Devices And SSH Public Key | ||
|} | |} | ||
{| | {| | ||
Line 148: | Line 150: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Manage Backups Within Defined Limits (Max Number | + | |style="padding: 0px 0px 0px 30px;"|✔ Manage Backups Within Defined Limits (Max Number And Size Of Files) |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Manage Backup Jobs Within Defined Limits (Max Number | + | |style="padding: 0px 0px 0px 30px;"|✔ Manage Backup Jobs Within Defined Limits (Max Number And Size Of Files) |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ View Graphs - With | + | |style="padding: 0px 0px 0px 30px;"|✔ View Graphs - With Option To Change Time Scale of MRTG Graphs |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ View | + | |style="padding: 0px 0px 0px 30px;"|✔ View Tasks History |
|} | |} | ||
{| | {| | ||
Line 163: | Line 165: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Create Server Snapshot | + | |style="padding: 0px 0px 0px 30px;"|✔ Create Server Snapshot |
|} | |} | ||
{| | {| | ||
Line 191: | Line 193: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Number | + | |style="padding: 0px 0px 0px 45px;"|✔ Number Of CPU Sockets |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Number | + | |style="padding: 0px 0px 0px 45px;"|✔ Number Of Cores Per Socket |
|} | |} | ||
{| | {| | ||
Line 248: | Line 250: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Number | + | |style="padding: 0px 0px 0px 45px;"|✔ Number Of CPU Cores |
|} | |} | ||
{| | {| | ||
Line 257: | Line 259: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ CPU Weight For | + | |style="padding: 0px 0px 0px 45px;"|✔ CPU Weight For VM |
|} | |} | ||
{| | {| | ||
Line 315: | Line 317: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports Proxmox VE | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports Proxmox VE V6.0 And Previous |
|} | |} | ||
{| | {| | ||
Line 327: | Line 329: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS 7. | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS 7.6 And Later |
|} | |} | ||
{| | {| | ||
Line 339: | Line 341: | ||
|} | |} | ||
==Installation== | ==Installation== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 0px 0px;"|'''This tutorial will show you how to successfully install and configure [https://www.modulesgarden.com/products/whmcs/proxmox-vps Proxmox VPS For WHMCS.]''' <br /> | ||
+ | We will guide you step by step through the whole installation and configuration process. <br/><br/> | ||
+ | '' '''Note:''' If you are still using any of the module's previous versions '''prior to v2.7.0''', [https://www.docs.modulesgarden.com/Proxmox_VPS_2.X_For_WHMCS follow these instructions].'' | ||
+ | |} | ||
{| | {| | ||
|style="padding: 10px 0px 20px 15px;"|'''1. Log in to our client area and download the module.''' | |style="padding: 10px 0px 20px 15px;"|'''1. Log in to our client area and download the module.''' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_1.png]] |
|} | |} | ||
{| | {| | ||
Line 398: | Line 405: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PXC3_5.png]] |
|} | |} | ||
{| | {| | ||
Line 405: | Line 412: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PXC3_6.png]] |
|} | |} | ||
Line 421: | Line 428: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_8.png]] |
|} | |} | ||
{| | {| | ||
Line 458: | Line 465: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''17. Afterward, choose your product group from dropdown menus and | + | |style="padding: 0px 0px 15px 15px;"|'''17. Afterward, choose your product group from dropdown menus and point its type, enter your product name and choose Proxmox VPS as a module name. <br/> Press '' 'Continue'. '''''<br /> |
− | '' 'Product Type' '' can be set to '' 'Server/VPS' '' but nameservers will need to be added later.<br/> | + | '' 'Product Type' '' can be set to '' 'Server/VPS' '' but nameservers will need to be added later ([https://requests.whmcs.com/topic/ability-to-remove-the-nameserver-options-on-order-page here] you can find info how to remove them from your order template).<br/> |
− | + | '' 'Server/VPS' '' type can also be useful for more complex display of IP addresses assignment. Otherwise, if you do not need this stuff, you can select '' 'Shared Account' ''. | |
|} | |} | ||
{| | {| | ||
Line 466: | Line 473: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''18. Now, go to the '' 'Module Settings' '' section and choose your previously created server group from the dropdown menu.<br /> | + | |style="padding: 0px 0px 15px 15px;"|'''18. Now, go to the '' 'Module Settings' '' section and choose your previously created server group from the dropdown menu.'''<br /> |
− | + | After selection the page should reload automatically. If no, please try to '' 'Save Changes' '' otherwise. | |
|} | |} | ||
{| | {| | ||
Line 473: | Line 480: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''19. From the dropdown menus choose '' 'Virtualization Type' | + | |style="padding: 0px 0px 15px 15px;"|'''19. From the dropdown menus choose '' 'Virtualization Type' '' and '' 'Default Node','' define whether to '' 'Check Available Resources' '' before creating a new machine.'''<br /> |
Available virtualization types: | Available virtualization types: | ||
− | *'''KVM''' | + | |
− | *'''LXC''' | + | *'''KVM''' - used for Qemu (Quick Emulator) / KVM (Kernel-based) Virtual Machines which is an open source hypervisor that emulates a physical computer |
− | + | *'''LXC''' - used for Linux Container as lightweight alternative to fully virtualized Virtual Machines | |
− | + | ||
+ | Remember that changing node will always replace the current configuration to the default one. Selecting node should also save the current configuration automatically.<br/> | ||
+ | If for any reason this does not happen, please press '' 'Save Changes'.''<br /> | ||
+ | |||
'''''Note:''' If you choose the 'Auto-Node' as your 'Default Node', new virtual servers will be created on the least used node.''<br/> | '''''Note:''' If you choose the 'Auto-Node' as your 'Default Node', new virtual servers will be created on the least used node.''<br/> | ||
− | '''''Note 2:''' An advanced tool is available for you to | + | '''''Note 2:''' An advanced tool is available for you to automatically manage a node selection with the best count of resources. Read more about [[#Load Balancer|Load Balancer]].'' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_17.png]] |
|} | |} | ||
===KVM Virtualization Type=== | ===KVM Virtualization Type=== | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''20. Setting the KVM virtualization type | + | |style="padding: 0px 0px 15px 15px;"|'''20. Setting the KVM virtualization type.'''<br /> |
− | + | ||
− | + | Before you start configuring KVM virtualization, we '''highly recommend''' that you familiarize yourself with the following '[https://pve.proxmox.com/wiki/Qemu/KVM_Virtual_Machines Qemu/KVM Virtual Machines]' Proxmox wiki article. | |
− | + | ||
− | + | However, for simplicity of initial setup, from version 2.7.0 of module, '''the basic configuration of required fields''' to create a virtual machine, are now '''filled in by default'''.<br /> | |
+ | This also means that all panel sections with more '''advanced settings''' are now '''collapsed''', and those that require administrator's '''initial attention''' are '''expanded''' by default.<br /> | ||
+ | |||
+ | So start your product configuration from the '' 'Virtual Machine Configuration' '' panel, where you can set up such things as used OS template, 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 value - read the tooltips for more information. <br/> | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_18.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|Next lookup for configuration of '' 'Network', 'Hard Disk', 'Backup' '' and so on.<br/> |
− | + | 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. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_19.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|Finally, remember to choose which '' 'Client Area Feature' '' shall be available for your clients.<br/>Do not forget to also checkout the [[#Finalizing_The_Configuration|Finalizing The Configuration]] of this documentation. <br/>You will also find more about some other configuration of product in the later sections of this documentation.<br/> | ||
+ | '' 'Save Settings' '' when ready. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_20.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|'' '''Important:''' Keep in mind that by default the '''root password''' is generated automatically for KVM virtualization upon its creation and reset.'''<br />'' | ||
+ | ''If you want to set your own password on KVM virtualization, use the [[#Cloud-Init_.28KVM.29|Cloud-Init]] feature.'' | ||
|} | |} | ||
===LXC Virtualization Type=== | ===LXC Virtualization Type=== | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''21. Setting the LXC virtualization type if very similar to KVM'''<br/> |
− | + | ||
− | + | Before you start configuring LXC virtualization, we '''highly recommend''' that you familiarize yourself with the following '[https://pve.proxmox.com/wiki/Linux_Container Linux Container]' Proxmox wiki article. | |
− | ''' | + | |
− | + | Just as [[#KVM_Virtualization_Type|KVM]], for simplicity of initial setup, from version 2.7.0 of module, '''the basic configuration of required fields''' to create a Linux Container, are now '''filled in by default'''.<br /> | |
+ | This also means that all panel sections with more '''advanced settings''' are now '''collapsed''', and those that require administrator's '''initial attention''' are '''expanded''' by default.<br /> | ||
+ | |||
+ | So again, start your product configuration from the '' 'Virtual Machine Configuration' '' panel, where you can set up such things as 'Default Storage', used 'OS Template', container resources and limits or number of assigned IP addresses. <br/> Note that some fields can be left empty if you want to disable them or set as unlimited value - read the tooltips for more information. <br/> | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_21.png]] |
|} | |} | ||
− | |||
− | |||
− | |||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|Next lookup for configuration of '' 'Mount Point', 'Backup', 'Network' '' and so on.<br/> |
− | + | 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. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_19.png]] |
|} | |} | ||
− | |||
− | |||
− | |||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|Finally, remember to choose which '' 'Client Area Feature' '' shall be available for your clients.<br/>Do not forget to also checkout the [[#Finalizing_The_Configuration|Finalizing The Configuration]] of this documentation. <br/>You will also find more about some other configuration of product in the later sections of this documentation.<br/> |
+ | '' 'Save Settings' '' when ready. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_22.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|'' '''Important:''' The LXC virtualization type is supported only by '''Proxmox VE 4.0. and later'''. <br/>If you are using older version of a Proxmox server, you will not be able to start this virtualization..'' | ||
+ | |} | ||
+ | |||
+ | |||
+ | ===Finalizing The Configuration=== | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|'''22. Afterward, you can <u>optionally</u> create '' 'Configurable Options' ''. '''<br/> | ||
+ | By doing so, you will will be able to choose before their creation which of the configurable options listed in [[#List of Configurable Options|this table]] you want to generate.<br/> | ||
+ | |||
+ | '' '''Note''' that it is advisable to not generate options that you do not plan to use, or you want their fixed values to be taken from the product's module settings, rather than flexible configurable options.<br/> Moreover, the configurable options between KVM and LXC virtualization types are a bit different, so create them separately if needed.'' | ||
+ | |||
+ | More information about configurable options and their editing can be found [https://docs.whmcs.com/Addons_and_Configurable_Options here]. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_23.png]] |
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|'''23. At the end of the product configuration you have to add a cron job as shown below (5 minutes intervals are recommended). |
− | php -q /your_whmcs/modules/ | + | php -q /your_whmcs/modules/addons/proxmoxAddon/cron/cron.php queue |
− | Do not forget to replace '' 'your_whmcs' '' with your WHMCS root location. | + | Do not forget to replace '' 'your_whmcs' '' with your WHMCS root location. The cron can also be run every single minute in order to perform the action more often.<br/> |
− | The cron can also be run every single minute in order to perform the action more often. | + | In the [[#Configuration_of_Addon|Configuration of Addon]] settings you will find the personalized URL for cron on your server as well as more possible crons to setup for execution. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 15px;"|''' | + | |style="padding: 0px 0px 30px 15px;"|'''You have just finished the installation and configuration of the product, but it is still advised that you also see the below addon configuration, where you can set up additional things. ''' |
|} | |} | ||
==Configuration of Addon== | ==Configuration of Addon== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|''' | + | |style="padding: 10px 0px 15px 15px;"|'''24. Proceed to '' 'Addons' '' → '' 'Proxmox Addon' '' → '' 'Settings' '' → '' 'General Settings' '' and set up cron jobs listed under the '' 'Cron' '' section.<br/> |
Please note that there are separate cron jobs dedicated to Proxmox VPS and Proxmox Cloud modules - these jobs are the most important to assure fluent work of the modules, suggested frequency is 5 minutes.<br/> If you are using only Proxmox VPS, there is no need to set up the second one and the other way round.<br/> | Please note that there are separate cron jobs dedicated to Proxmox VPS and Proxmox Cloud modules - these jobs are the most important to assure fluent work of the modules, suggested frequency is 5 minutes.<br/> If you are using only Proxmox VPS, there is no need to set up the second one and the other way round.<br/> | ||
The other ones are responsible for: | The other ones are responsible for: | ||
Line 570: | Line 594: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PXC3_35.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''25. Next, under the Cron settings, find the '' 'Minimum VMID' '' field.'''<br/> 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. |
|} | |} | ||
{| | {| | ||
Line 579: | Line 603: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''26. Adding a new IP address and IP addresses pool (if you are not using [https://www.modulesgarden.com/products/whmcs/ip-manager#features IP Manager For WHMCS]).'''<br /> |
− | In order to create a new product, you have to add '' 'Dedicated IP'' ' to the '' 'IP Addresses' '' list in '' 'Proxmox' '' addon module.<br /> | + | In order to create a new product with assignment of IP address, you have to add '' 'Dedicated IP'' ' to the '' 'IP Addresses' '' list in '' 'Proxmox' '' addon module.<br /> |
To do so, go to '' 'IP Management' '' and press '' 'New IP Addresses'. ''<br /> | To do so, go to '' 'IP Management' '' and press '' 'New IP Addresses'. ''<br /> | ||
''Note: You can add both the IPv4 and IPv6 addresses.'' | ''Note: You can add both the IPv4 and IPv6 addresses.'' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PXC3_30.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''27. Start by typing a desired initial IP address and mask into '' 'IP Pool'. '''''<br /> |
− | Next, choose a server from the '' 'Server' '' dropdown menu and define which virtualization it should be applied to through selecting it from the '' 'Virtualization' '' dropdown menu.<br /> | + | Then adjust the mask that will be used to determine the number of generated addresses - remember that different values are used for creation of the same number of IPv4 and IPv6 subnets.<br />Next, choose a server from the '' 'Server' '' dropdown menu and define which virtualization it should be applied to through selecting it from the '' 'Virtualization' '' dropdown menu.<br /> |
− | Afterward, press '' ' | + | Afterward, press '' 'Confirm'. '' |
|} | |} | ||
{| | {| | ||
Line 596: | Line 620: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|''' | + | |style="padding: 0px 0px 15px 15px;"|'''28. You are now able to create a new product using the previously added IP address.'''<br /> |
− | 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. | + | 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.<br/> |
+ | The assigned IP addresses should display on the bottom panel based on how you configured the IP pools. It looks also quite similar on the LXC virtualization type product. | ||
|} | |} | ||
{| | {| | ||
− | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_24.png]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |
|} | |} | ||
Line 613: | Line 632: | ||
==Configuration of SSH Keys (KVM)== | ==Configuration of SSH Keys (KVM)== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|<span style="color:#ff0000"> '' '''Important!''' We highly recommended using the [[#Cloud-Init_.28KVM.29|Cloud-Init]] feature instead of following the instructions described in this section if you are using Proxmox 5.2 or later and the module in the 2.5.0 version or | + | |style="padding: 10px 0px 15px 15px;"|<span style="color:#ff0000"> '' '''Important!''' We highly recommended using the [[#Cloud-Init_.28KVM.29|Cloud-Init]] feature instead of following the instructions described in this section if you are using Proxmox 5.2 or later and the module in the 2.5.0 version or la2ter. ''</span> |
<br/> | <br/> | ||
'''SSH keys are required to enable the automatic resizing of partition upon the disk upgrade as well as the change of passwords for the KVM virtualization type.'''<br /> | '''SSH keys are required to enable the automatic resizing of partition upon the disk upgrade as well as the change of passwords for the KVM virtualization type.'''<br /> | ||
Line 669: | Line 688: | ||
==Cloud-Init (KVM)== | ==Cloud-Init (KVM)== | ||
{| | {| | ||
− | |style="padding: 10px 0px 30px 15px;"|Use cloud-init to configure the system during installation, first-boot and package change. | + | |style="padding: 10px 0px 30px 15px;"|Use cloud-init to configure the system during installation, first-boot and package change. Cloud-init was initially developed to provide early initialization of cloud instances.<br/>Click [https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux_atomic_host/7/html/installation_and_configuration_guide/setting_up_cloud_init here] to learn more about initial cloud-init configuration.<br/> |
'' '''Note:''' Cloud-Init functionality is supported for the '''KVM''' virtualization only. <br/> | '' '''Note:''' Cloud-Init functionality is supported for the '''KVM''' virtualization only. <br/> | ||
Line 697: | Line 716: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|To to use cloud-init, you need to enable it in the configuration of the Proxmox product.<br/> | |style="padding: 10px 0px 15px 15px;"|To to use cloud-init, you need to enable it in the configuration of the Proxmox product.<br/> | ||
− | Before you start, we 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.<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 on 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 and 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 and configure the following options: | ||
*'''Service Username''' - if enabled, the username for the VM will be taken from the details of WHMCS product services. Otherwise, it will remain unchanged and set by default as in the template or taken from the '' 'Default User' '' field if provided. | *'''Service Username''' - if enabled, the username for the VM will be taken from the details of WHMCS product services. Otherwise, it will remain unchanged and set by default as in the template or taken from the '' 'Default User' '' field if provided. | ||
Line 704: | Line 723: | ||
*'''DNS Domain''' - provide a DNS domain for a container. During VM creation, the setting from the host will be automatically used if neither a search domain nor a nameserver is set. | *'''DNS Domain''' - provide a DNS domain for a container. During VM creation, the setting from the host will be automatically used if neither a search domain nor a nameserver is set. | ||
*'''Default User''' - provide the username that will be used for VM instead of using the '' 'Service Username' '' field or the default user of the configured image. Otherwise, leave empty. | *'''Default User''' - provide the username that will be used for VM instead of using the '' 'Service Username' '' field or the default user of the configured image. Otherwise, leave empty. | ||
+ | *'''Custom''' - here you can optionally specify your [https://pve.proxmox.com/wiki/Cloud-Init_Support#_custom_cloud_init_configuration custom config files] that will be used instead of the automatically generated configs. | ||
+ | |} | ||
+ | |||
<!-- | <!-- | ||
*'''Cloud Init''' - select what scripts will be executed on VM creation or package change. If you are using the configurable options, you can also define the '' 'cloudInit|Cloud Init' '' option (Proxmox VPS only).<br/>'' '''Important:''' If you use multiple scripts configuration of the same type (e.g. 'Network Config'), remember that they will be connected into '''one script''' before being sent to the server.<br/>Therefore, make sure that these scrips work properly with each other.'' | *'''Cloud Init''' - select what scripts will be executed on VM creation or package change. If you are using the configurable options, you can also define the '' 'cloudInit|Cloud Init' '' option (Proxmox VPS only).<br/>'' '''Important:''' If you use multiple scripts configuration of the same type (e.g. 'Network Config'), remember that they will be connected into '''one script''' before being sent to the server.<br/>Therefore, make sure that these scrips work properly with each other.'' | ||
Line 709: | Line 731: | ||
*'''Storage''' - the directory on which the CD-ROM ISO image is stored | *'''Storage''' - the directory on which the CD-ROM ISO image is stored | ||
--> | --> | ||
− | + | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_51_new.png]] |
|} | |} | ||
{| | {| | ||
Line 726: | Line 748: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|The SSH Public Key can also be inserted once the order has been completed. | + | |style="padding: 0px 0px 20px 15px;"|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. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_52.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|And there can be entered the public key in the OpenSSH format. It can also be inserted from the admin area as well. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_53.png]] |
|} | |} | ||
Line 773: | Line 801: | ||
==Admin Area== | ==Admin Area== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In the admin area you are able to view details and manage your client's VMs, access | + | |style="padding: 10px 0px 15px 15px;"|In the admin area you are able to view details and manage your client's VMs, access remote consoles, migrate VMs between nodes, assign IP addresses and view resources usage graphs.<br /><br /> |
− | + | ||
+ | # At the beginning, there are standard module commands that you can perform on the VM. | ||
+ | # There you will find actions to manage the state of the machine, access to remote consoles and its migration between nodes. | ||
+ | # At this panel you will also find a preview of the basic information about the VM | ||
+ | # And here you can change VM hostname, ISO image, bootable devices as well as insert SSH Public Key | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_26.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|It is possible to fetch information of Network Interfaces and OS using 'Quemu Guest Agent' tool. <br/> |
+ | This option must be previously enabled in the product configuration page and successfully installed on the VM. If so it should look similar to the image below. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_27_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|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 '' 'Dedicated/VPS Server' '' product type).<br/>This will override the automatic IP address assignment and the VM will use only the IP addresses you have entered to that field.<br/> | + | |style="padding: 0px 0px 20px 15px;"|In the next panel you can find IPv4 and IPv6 addresses assigned to the VM.<br/> You are also able to delete or add an IP address to a product. To do so, press '' 'Add New IP' '' as shown on the following screen. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_27.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|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 '' 'Dedicated/VPS Server' '' product type).<br/>This will override the automatic IP address assignment and the VM will use only the IP addresses you have entered to that field.<br/> | ||
'' '''Note:''' The IP addresses you enter must already exist in the IP Management pool and cannot be assigned to any other VM. This feature will also not work if you already use the IP Manager For WHMCS module.'' | '' '''Note:''' The IP addresses you enter must already exist in the IP Management pool and cannot be assigned to any other VM. This feature will also not work if you already use the IP Manager For WHMCS module.'' | ||
|} | |} | ||
Line 793: | Line 832: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 15px;"|In the next two panels you can view IPSet information as well as you are also be able to reinstall VM based on the OS template or ISO template. |
− | + | |} | |
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_27_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Graphs can be useful to monitor VM usage resources. You can change their interval by pressing '' 'Edit' '' button and provide new time frame. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_27_4.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|And in the last part of product management you can view its user details on your Proxmox servers with the assigned VMID, Node, VLAN Tag and SSH public key provided before creation of the VM. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_27_5.png]] |
|} | |} | ||
Line 812: | Line 862: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_28.png]] |
|} | |} | ||
{| | {| | ||
Line 824: | Line 874: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_29.png]] |
|} | |} | ||
{| | {| | ||
Line 835: | Line 885: | ||
=====Clusters===== | =====Clusters===== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"| The next tab contains the list of clusters with information on uptime, | + | |style="padding: 10px 0px 20px 15px;"| The next tab contains the list of clusters with information on uptime, VMS and resources limits as well as CPU, SWAP, memory and disk usage data. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_29_2.png]] |
|} | |} | ||
{| | {| | ||
Line 850: | Line 900: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_30_2.png]] |
|} | |} | ||
Line 858: | Line 908: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_31_1.png]] |
|} | |} | ||
Line 867: | Line 917: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_31_3.png]] |
|} | |} | ||
{| | {| | ||
Line 881: | Line 931: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_31_2.png]] |
|} | |} | ||
Line 890: | Line 940: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_34.png]] |
|} | |} | ||
Line 898: | Line 948: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_35.png]] |
|} | |} | ||
{| | {| | ||
Line 914: | Line 964: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_36.png]] |
|} | |} | ||
{| | {| | ||
Line 936: | Line 986: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_37.png]] |
|} | |} | ||
Line 971: | Line 1,021: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|3. Afterward, create a [https://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Automatic_IP_Assignment new configuration] and assign the previously created subnet to it.<br /> | + | |style="padding: 0px 0px 15px 15px;"|3. Afterward, create a [https://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Automatic_IP_Assignment new configuration] and assign the previously created subnet to it.<br />''Note: Multiple IP addresses subnets can be assigned to a single configuration.''<br /> |
− | ''Note: Multiple IP addresses subnets can be assigned to a single configuration.''<br /> | + | |
4. Now, link the configuration with Proxmox VPS product via a product, a server or a configurable option.<br /> | 4. Now, link the configuration with Proxmox VPS product via a product, a server or a configurable option.<br /> | ||
− | On the following screen we have linked them via the configurable option assigned to the Proxmox VPS product. | + | On the following screen we have linked them via the configurable option assigned to the Proxmox VPS product where each of fields represent the number of assigned IP addresses.<br/> You can of course mix them to your needs, where e.g. a single config option will assign provided numbers for both IPv4 and IPv6 addresses. |
|} | |} | ||
{| | {| | ||
Line 1,029: | Line 1,079: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_30_5.png]] |
|} | |} | ||
=====Node Prioritization Method===== | =====Node Prioritization Method===== | ||
Line 1,105: | Line 1,155: | ||
If you decide to use Load Balancer tool, define the resources weights to adjust their prioritization of nodes according to your needs. | If you decide to use Load Balancer tool, define the resources weights to adjust their prioritization of nodes according to your needs. | ||
+ | |} | ||
+ | |||
+ | ===Tasks=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|In the task section you will find tasks that have already been completed, are in progress or are yet to be executed by the cron.<br/> Moreover, by clicking the '' 'Information' '' button you can display more information about particular task. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_30_6.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|In the information tab you can see which specific product/service the chosen task was related to. <br/> Moreover, in logs, you can checkout the API response errors with each timestamp when it was returned.<br/> | ||
+ | |||
+ | '' '''Note:''' The logs will be displayed only in case the errors occurred. If task finished successfully there will be nothing to see there.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_30_7.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_30_8.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|If you notice that a certain task e.g. cannot be completed because of some errors occurred, you can remove it, so cron will no longer try to execute it after each iteration. <br/> And after you figure out what gone wrong, you can try to add it again and check the results. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_30_9.png]] | ||
|} | |} | ||
Line 1,111: | Line 1,186: | ||
|style="padding: 10px 0px 15px 15px;"|Client area interface of Proxmox VPS For WHMCS should look like the one on the screen below.<br /> | |style="padding: 10px 0px 15px 15px;"|Client area interface of Proxmox VPS For WHMCS should look like the one on the screen below.<br /> | ||
As you can see, control panel contains options useful for managing a VM.<br /> | As you can see, control panel contains options useful for managing a VM.<br /> | ||
− | The module allows your customers to easily '' ' | + | The module allows your customers to easily '' 'start', 'reboot', 'stop' '' and '' 'shutdown' '' their servers through pressing specific buttons.<br /> |
− | Clients can also access the '' 'noVNC' '' | + | Clients can also access the '' 'noVNC' '', '' 'SPICE' '' and '' 'Xterm.js' '' consoles. Among '' 'Additional Tools' '' you will find options to '' 'reinstall' '' server, create '' 'backup' '' or set up '' 'backup jobs'.''<br /> |
− | + | ||
− | Your clients are able to access resource usage '' 'graphs','' view VM '' 'history','' manage '' 'network' '' interface device and set up '' 'firewall' '' rules. | + | Your clients are able to access resource usage '' 'graphs','' view VM '' 'history','' manage '' 'network' '' interface device and set up '' 'firewall' '' rules. Additionally, clients may take '' 'snapshots' '' and manage '' 'disks'.''<br/> |
− | Additionally, | + | On the main product page in the client area, under the '' 'Information' '' headline your clients can find information like about current usage of CPU, memory, disk (LXC only) and SWAP (LXC only).<br/>Customers can also view '' 'DNS' '' (LXC only) as well ass assigned '' 'IP Addresses'. '' |
+ | |||
+ | '' '''Note:''' Bellow example image was taken from the KVM based VM, but for LXC it will looks very similar.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_24_1.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|By clicking '' 'Edit' '' button next to the '' 'Information' '' headline, your clients can additionally change VM hostname and ISO image, choose boot devices, as well as insert their SSH public key. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_24_2.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_24_3.png]] |
− | + | ||
|} | |} | ||
Line 1,137: | Line 1,219: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|SPICE console enables you to connect to virtual machine using SPICE.<br /> | |style="padding: 10px 0px 15px 15px;"|SPICE console enables you to connect to virtual machine using SPICE.<br /> | ||
− | ''Note: | + | '' '''Note:''' Since 2.7.0 version of the module your clients '''no longer''' need to [https://www.spice-space.org/download.html download] and install client side SPICE application in order to connect with a VM. The console will be now opened in the virt-viewer instead.'' |
|} | |} | ||
{| | {| | ||
Line 1,146: | Line 1,228: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|Xterm.js console enables you to connect to virtual machine using Xterm.js.<br /> | |style="padding: 10px 0px 15px 15px;"|Xterm.js console enables you to connect to virtual machine using Xterm.js.<br /> | ||
− | You must update the scripts on Proxmox v2.6.0. To do so open folder: ''UploadOnProxmoxServer/5.2-10'' and upload content on all your | + | You must update the scripts on Proxmox v2.6.0. To do so open folder: ''UploadOnProxmoxServer/5.2-10'' and upload content on all your Proxmox servers. |
|} | |} | ||
{| | {| | ||
Line 1,159: | Line 1,241: | ||
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. | 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. | ||
<br/><br/> | <br/><br/> | ||
− | '' '''Note:''' The ISO images can only be used for the KVM virtualization type, while VM templates can be used either for KVM or LXC.<br/> Additionally, | + | '' '''Note:''' The ISO images can only be used for the KVM virtualization type, while VM templates can be used either for KVM or LXC.<br/> Additionally, both KVM and LXC users can define the new OS password before a new installation.'' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_38.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_38_1.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px | + | |style="padding: 0px 0px 20px 15px;"|Remember to also give your clients access to the selected reinstallation types in the '' 'Client Area Features' '' as well as choose available '' 'OS Images' '' and '' 'ISO Images' ''. |
|} | |} | ||
{| | {| | ||
− | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_38_4.png]] | |
− | + | ||
− | + | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |
|} | |} | ||
Line 1,182: | Line 1,261: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_41.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Now, choose '' ' | + | |style="padding: 0px 0px 15px 15px;"|Now, choose compression type ('' 'None' , 'LZO' '' or '' 'GZIP' '') and backup mode ('' 'Snapshot' , 'Suspend' '' or '' 'Stop' '') from dropdown menus.<br />Afterward, press '' 'Confirm'. '' |
− | Afterward, press '' ' | + | |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_42.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|To restore a VM from backup, press '' 'Restore' '' and then click the '' ' | + | |style="padding: 0px 0px 20px 15px;"|To restore a VM from backup, press '' 'Restore' '' and then click the '' 'Confirm' '' button in a popup window. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_43.png]] |
|} | |} | ||
Line 1,205: | Line 1,283: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_44.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Now, define a backup time, | + | |style="padding: 0px 0px 15px 15px;"|Now, define a backup start time, choose days when to run it and select '' 'Compression Type' '' and '' 'Backup Mode' '' from dropdown menus.<br /> Also select if you want to receive notification when backup is ready.<br/> |
− | + | Finally, press the '' 'Confirm' '' button. | |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_45.png]] |
|} | |} | ||
===Graphs=== | ===Graphs=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Through pressing the '' 'Graphs' '' button clients will be moved to the page with generated graphs of CPU usage, memory usage, network traffic and | + | |style="padding: 10px 0px 15px 15px;"|Through pressing the '' 'Graphs' '' button clients will be moved to the page with generated graphs of CPU usage, memory usage, network traffic and disk I/O.<br /> |
They can also switch the timeline of graphs by choosing it from a dropdown menu pointed on the following screen. Choose from '' 'Hour', 'Day', 'Week', 'Moth' '' and '' 'Year'. '' | They can also switch the timeline of graphs by choosing it from a dropdown menu pointed on the following screen. Choose from '' 'Hour', 'Day', 'Week', 'Moth' '' and '' 'Year'. '' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_46.png]] |
|} | |} | ||
===Task History=== | ===Task History=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|To access the history of a VM, simply press the '' 'Task History' '' button. | + | |style="padding: 10px 0px 20px 15px;"|To access the history of a VM, simply press the '' 'Task History' '' button. Here the customer can see all the task actions performed on the VM, as well as the status of their success.<br/> |
+ | If an error has occurred during the execution of a task, the client can view API response error by clicking on the '' 'Information' '' icon. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_47.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_47_1.png]] | ||
|} | |} | ||
===Network=== | ===Network=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Your clients are allowed to add/remove only private network interface devices.<br/> | + | |style="padding: 10px 0px 15px 15px;"|Your clients are allowed to add/remove only private network interface devices. By clicking '' 'Information' '' button the new popup will open with some more network details<br/> |
− | Keep in mind that '' ' Network device' '' options must be set to '' 'Private'.'' | + | |
+ | Keep in mind that '' ' Network device' '' options must be set to '' 'Private'.'' <br/>Also, after 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. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_1.png]] | ||
|} | |} | ||
− | ===Snapshots | + | ===Snapshots=== |
{| | {| | ||
|style="padding: 0px 0px 20px 15px;"|Use a snapshot to remember a current state contents of the virtual machine memory. You may use them later to restore the VM's settings. | |style="padding: 0px 0px 20px 15px;"|Use a snapshot to remember a current state contents of the virtual machine memory. You may use them later to restore the VM's settings. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_4.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Press the '' 'Take Snapshot' '' button and fill out the form to take a snapshot.<br/> Name it (use alphabetical characters | + | |style="padding: 0px 0px 20px 15px;"|Press the '' 'Take Snapshot' '' button and fill out the form to take a snapshot.<br/> Name it (use alphabetical characters and no spaces), choose whether to include RAM and add a description. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_48_5.png]] |
|} | |} | ||
Line 1,259: | Line 1,345: | ||
|style="padding: 10px 0px 15px 15px;"|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.<br /> | |style="padding: 10px 0px 15px 15px;"|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.<br /> | ||
As you can see, you can easily modify and remove the previously added rules and security groups.<br /> | As you can see, you can easily modify and remove the previously added rules and security groups.<br /> | ||
− | To add a new firewall rule ( | + | To add a new firewall rule (red arrow) or a predefined security group (blue arrow), use the buttons marked on the following screen. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_0.png]] |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|You can add a firewall rule in two ways. Both of them require choosing a direction, action, interface, source and a destination.<br /> | |style="padding: 0px 0px 15px 15px;"|You can add a firewall rule in two ways. Both of them require choosing a direction, action, interface, source and a destination.<br /> | ||
− | The first way ( | + | The first way (<span style="color:#FF7F27">orange</span>) is to choose macro from the '' 'Macro' '' dropdown field.<br /> |
− | The second way (blue) requires you to choose a protocol and fill in both source and destination ports.<br /> | + | The second way (<span style="color:#00A2E8">blue</span>) requires you to choose a protocol and fill in both source and destination ports.<br /> |
Additionally, you can enable a rule and add a comment to it.<br /> | Additionally, you can enable a rule and add a comment to it.<br /> | ||
Press '' 'Add' '' to create a rule. | Press '' 'Add' '' to create a rule. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_2.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Choose a security group and an interface on which the group will be used.<br /> | + | |style="padding: 0px 0px 15px 15px;"|Choose a security group and an interface on which the group will be used.<br />Additionally, you can enable a security group and add a comment to it.<br /> |
− | Additionally, you can enable a security group and add a comment to it.<br /> | + | |
Click '' 'Add' '' to use the security group. | Click '' 'Add' '' to use the security group. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_3.png]] |
|} | |} | ||
===Firewall Options=== | ===Firewall Options=== | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"| | + | |style="padding: 0px 0px 20px 15px;"|Here you can view current firewall settings. To choose it's options press '' 'Edit' '' button and adjust them to your needs. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_7.png]] |
|} | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_48_7_1.png]] | ||
+ | |} | ||
+ | |||
===Disks (KVM only)=== | ===Disks (KVM only)=== | ||
{| | {| | ||
Line 1,295: | Line 1,384: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_48_6.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 15px;"|Define additional disk size, choose it's bus (available may be '' 'IDE', 'SATA', 'VIRTIO' '' or '' 'SCSI' '') as well as define disk format - you can choose from '' 'Raw disk image (raw)', 'QEMU image format (qcow2)','' or '' 'VM image format (VMDK)' ''. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_48_8.png]] | ||
|} | |} | ||
Line 1,329: | Line 1,421: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_56.png]] |
|} | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|More information about WHMCS configurable options and their editing can be found [https://docs.whmcs.com/Addons_and_Configurable_Options here]. | ||
+ | |} | ||
+ | |||
===List of Configurable Options=== | ===List of Configurable Options=== | ||
{| | {| | ||
Line 1,401: | Line 1,497: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_57.png]] |
|} | |} | ||
{| | {| | ||
Line 1,407: | Line 1,503: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX3_58.png]] |
|} | |} | ||
Line 1,450: | Line 1,546: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|3. If you set the product type as '' 'Hosting Account' '' when adding a new product, you will not need to fill out nameservers as they will be automatically set up. | + | |style="padding: 0px 0px 20px 15px;"|3. If you set the product type as '' 'Hosting Account' '' when adding a new product, you will not need to fill out nameservers as they will be automatically set up.<br/> But if you want still use '' 'Server/VPS' '' product type, [https://requests.whmcs.com/topic/ability-to-remove-the-nameserver-options-on-order-page this topic] might help you how to remove nameservers from your order template. |
|} | |} | ||
{| | {| | ||
Line 1,490: | Line 1,586: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_68.png]] |
|} | |} | ||
{| | {| | ||
Line 1,499: | Line 1,595: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_69.png]] |
|} | |} | ||
{| | {| | ||
Line 1,505: | Line 1,601: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX3_70.png]] |
|} | |} | ||
{| | {| | ||
Line 1,515: | Line 1,611: | ||
|style="padding: 10px 0px 30px 15px;"|Essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/> | |style="padding: 10px 0px 30px 15px;"|Essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/> | ||
''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.'' | ''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.'' | ||
+ | <br/> | ||
− | <br/><br/> | + | ''' 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!<br/> Otherwise, when you try to open the product's module settings, you may get '' SQLSTATE" "Base table or view not found" '' errors. |
+ | |||
+ | <br/> | ||
Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!<br/> | Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!<br/> | ||
To take advantage of it, simply use the '''License Upgrade''' button located on the product's page and a discounted invoice will be generated automatically.<br/> | To take advantage of it, simply use the '''License Upgrade''' button located on the product's page and a discounted invoice will be generated automatically.<br/> |
Revision as of 15:01, 2 September 2019
About Proxmox VPS For WHMCS
Proxmox 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 |
✔ 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 |
✔ Import IP Address To Hosting IP Addresses Table |
✔ Return IP Address To IP Addresses Subnet |
✔ Add Additional IP Address To VM |
✔ Add Additional Storage To VM (KVM) |
✔ Enable Quemu Guest Agent (KVM) |
✔ Enable Backups Routing |
✔ Enable Auto VM Backups Before Reinstall |
✔ Enable Load Balancer |
✔ Receive Notifications About VM Upgrades And Creation Failures |
- Proxmox Addon Features:
✔ Display Servers: List Per VPS And Cloud |
✔ 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 And Node |
✔ 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 |
✔ Configure Resource Weights For Load Balancer Prioritization |
✔ Synchronize Users Permissions |
- Client Area Features:
✔ Boot/Reboot/Stop/Shutdown Server |
✔ Reinstall Server Using Templates (KVM) And ISO Images |
✔ Access noVNC, SPICE And Xterm.js Console |
✔ Change Server Hostname, ISO Image, Boot Devices And SSH Public Key |
✔ Create/Restore/Delete Backups |
✔ Manage Backups Within Defined Limits (Max Number And Size Of Files) |
✔ Manage Backup Jobs Within Defined Limits (Max Number And Size Of Files) |
✔ View Graphs - With Option To Change Time Scale of MRTG Graphs |
✔ View Tasks History |
✔ View Network Devices And Manage Private Interface |
✔ Create Server Snapshot |
✔ Manage Firewall |
✔ View And Edit Public SSH Key (KVM) |
✔ Download Public And Private SSH Keys (LXC) |
✔ View Server Status, Details And Statistics |
✔ Display Disk And Bandwidth Usage |
✔ Display CPU And Memory Usage |
✔ Choose Server Resources While Ordering And Upgrade/Downgrade Them Freely |
- Configurable Options:
✔ KVM: |
✔ Number Of CPU Sockets |
✔ Number Of Cores Per Socket |
✔ CPU Limit |
✔ CPU Weight For VM |
✔ Amount of RAM |
✔ Disk Space |
✔ Additional Disk Space |
✔ Network Rate |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ Backups Size Limit |
✔ Backups Files Limit |
✔ Bandwidth Limit |
✔ VM Template |
✔ Network Rate |
✔ VCPUs |
✔ ISO Image |
✔ OS Type |
✔ LXC: |
✔ Number Of CPU Cores |
✔ CPU Limit |
✔ Amount of SWAP |
✔ CPU Weight For VM |
✔ Amount of RAM |
✔ Disk Space |
✔ Additional Disk Space |
✔ Amount of SWAP |
✔ IPv4 Addresses |
✔ IPv6 Addresses |
✔ Backups Size Limit |
✔ Backups Files Limit |
✔ Bandwidth Limit |
✔ VM Templates |
✔ Network Rate |
- General Info:
✔ Supports Cloud-Init (KVM) |
✔ Supports PVE And PAM Authentication |
✔ Supports KVM and LXC Virtualization |
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing (read more) |
✔ Integrated With IP Manager For WHMCS - Complete Control And Easy Assignment Of IP Subnets (read more) |
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products (read more) |
✔ Multi-Language Support |
✔ Supports Proxmox VE V6.0 And Previous |
✔ Supports IPv4 And IPv6 |
✔ Supports PHP 5.6 Up To PHP 7.3 |
✔ Supports WHMCS Template Six |
✔ Supports WHMCS 7.6 And Later |
✔ Easy Module Upgrade To Open Source Version |
Installation and Configuration
This tutorial will show you how to successfully install and configure Proxmox VPS For WHMCS. We will guide you step by step through the whole installation and configuration process. |
Installation
This tutorial will show you how to successfully install and configure Proxmox VPS For WHMCS. We will guide you step by step through the whole installation and configuration process. |
1. Log in to our client area and download the module. |
2. In the downloaded file you might find one or two packages that support different PHP versions. In the most recent versions of the module, you will find only one package that supports PHP 7.1 and later. |
Previous updates of the module may contain two packages dedicated to various PHP versions. The first one that supports PHP 5.6 up to PHP 7.0, and the second one addressed to PHP 7.1 up to PHP 7.3. |
Important: This situation does not affect the open source version of this module which can be applied to any PHP from version 5.6 and later. Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'. |
3. Once you have chosen the package with the right PHP version, extract it and upload its content into the main WHMCS directory. The content of the chosen PHP version files to upload should look like this. |
4. Open 'UploadOnProxmoxServer' and upload the content of the proper version on all Proxmox servers into the '/usr/share/novnc-pve/' folder. You should upload these files not only during the first installation of the module, but also each time you update it. Note: If you wish to allow noVNC consoles, you need to configure a product using the PVE realm and set user permissions to 'PVEVMUser.' |
5. When you install Proxmox VPS For WHMCS for the first time, you have to rename the 'license_RENAME.php' file. 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. |
Activation of Proxmox Addon
7. Firstly, activate the Proxmox Addon. To do so, log in to your WHMCS and press 'Setup' → '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 'Setup' → 'Products/Services' → 'Servers' and press the 'Add New Server' button. |
10. Next, enter your server name and IP address, you may add any port by entering it in format: "IpAddress:Port" , that is: 10.10.10.1:8006. Enter username and password, choose an authentication type from 'Authentication' and 'Proxmox VPS' from the 'Type' dropdown menus. 'Save Changes'. |
11. It is 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 'Setup' → '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 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 info 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. After selection the page should reload automatically. If no, please try to 'Save Changes' otherwise. |
19. From the dropdown menus choose 'Virtualization Type' and 'Default Node', define whether to 'Check Available Resources' before creating a new machine. Available virtualization types:
Remember that changing node will always replace the current configuration to the default one. Selecting node should also save the current configuration 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 KVM virtualization, we highly recommend that you familiarize yourself with the following 'Qemu/KVM Virtual Machines' Proxmox wiki article. However, for simplicity of initial setup, from version 2.7.0 of module, the basic configuration of required fields to create a virtual machine, are now filled in by default. So start your product configuration from the 'Virtual Machine Configuration' panel, where you can set up such things as used OS template, machine resources and limits or assigned IP addresses. |
Next lookup for configuration of 'Network', 'Hard Disk', 'Backup' 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, remember to choose which 'Client Area Feature' shall be available for your clients. Do not forget to also checkout the Finalizing The Configuration of this documentation. You will also find more about some other configuration of product in the later sections of this documentation. 'Save Settings' when ready. |
Important: Keep in mind that by default the root password is generated automatically for KVM virtualization upon its creation and reset. If you want to set your own password on KVM virtualization, use the Cloud-Init feature. |
LXC Virtualization Type
21. Setting the LXC virtualization type if very similar to KVM Before you start configuring LXC virtualization, we highly recommend that you familiarize yourself with the following 'Linux Container' Proxmox wiki article. Just as KVM, for simplicity of initial setup, from version 2.7.0 of module, the basic configuration of required fields to create a Linux Container, are now filled in by default. So again, start your product configuration from the 'Virtual Machine Configuration' panel, where you can set up such things as 'Default Storage', used 'OS Template', container resources and limits or number of assigned IP addresses. |
Next lookup for configuration of '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, remember to choose which 'Client Area Feature' shall be available for your clients. Do not forget to also checkout the Finalizing The Configuration of this documentation. You will also find more about some other configuration of product in the later 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 are using older version of a Proxmox server, you will not be able to start this virtualization.. |
Finalizing The Configuration
22. Afterward, you can optionally create 'Configurable Options' . By doing so, you will will be able to choose before their creation which of the configurable options listed in this table you want to generate. Note that it is advisable to not generate options that you do not plan to use, or you want their fixed values to be taken from the product's module settings, rather than flexible configurable options. More information about configurable options and their editing can be found here. |
23. At the end of the product configuration you have to add a cron job as shown below (5 minutes 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 also be run every single minute in order to perform the action more often. |
You have just finished the installation and configuration of the product, but it is still advised that you also see the below addon configuration, where you can set up additional things. |
Configuration of Addon
24. Proceed to 'Addons' → 'Proxmox Addon' → 'Settings' → 'General Settings' and set up cron jobs listed under the 'Cron' section. Please note that there are separate cron jobs dedicated to Proxmox VPS and Proxmox Cloud modules - these jobs are the most important to assure fluent work of the modules, suggested frequency is 5 minutes.
|
25. Next, under the Cron settings, find the 'Minimum VMID' field. 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. |
26. Adding a new IP address and IP addresses pool (if you are not using IP Manager For WHMCS). In order to create a new product with assignment of IP address, you have to add 'Dedicated IP ' to the 'IP Addresses' list in 'Proxmox' addon module. |
27. Start by typing a desired initial IP address and mask into 'IP Pool'. Then adjust the mask that will be used to determine the number of generated addresses - remember that different values are used for creation of the same number of IPv4 and IPv6 subnets. |
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. |
Cloud-Init (KVM)
Use cloud-init to configure the system during installation, first-boot and package change. Cloud-init was initially developed to provide early initialization of cloud instances. Click here to learn more about initial cloud-init configuration. Note: Cloud-Init functionality is supported for the KVM virtualization only. |
Configuration Of Product
To 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 on Proxmox wiki article.
|
In addition, you can allow clients to enter their own public keys for the VM during order so that they can log in to it 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 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. |
And there can be entered the public key in the OpenSSH format. It can also 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:
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 |
Management
Proxmox VPS allows your customers to manage their PVE accounts via client area in your WHMCS system. You can monitor and manage each product from your WHMCS admin area. |
Admin Area
In the admin area you are able to view details and manage your client's VMs, access remote consoles, migrate VMs between nodes, assign IP addresses and view resources usage graphs.
|
It is possible to fetch information of Network Interfaces and OS using 'Quemu Guest Agent' tool. This option must be previously enabled in the product configuration page and successfully installed on the VM. If so it should look similar to the image below. |
In the next panel you can find IPv4 and IPv6 addresses assigned to the VM. You are also able to delete or add an IP address to a product. To do so, press 'Add New IP' as shown on the following screen. |
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 '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 to that field. Note: The IP addresses you enter must already exist in the IP Management pool and cannot be assigned to any other VM. This feature will also 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 you are also be able to reinstall VM based on the OS template or ISO template. |
Graphs can be useful to monitor VM usage resources. You can change their interval by pressing 'Edit' button and provide new time frame. |
And in the last part of product management you can view its user details on your Proxmox servers with the assigned VMID, Node, VLAN Tag and SSH public key provided before creation of the VM. |
Management of Addon
Servers Management
Servers List
In 'Addons' → 'Proxmox Addon' → 'Servers' → 'Servers List' you can find the configured Proxmox servers. RAM details:
Suspended - number of suspended accounts per size in MB E.g.: (1/500 MB) when there is only one suspended account (occupying 500MB of that account) assigned to Proxmox VPS server. |
Through pressing 'Edit' icon you will be moved to the server edit page - see point number 10 of Server Configuration. Press 'More Details' icon and you will get extended information on the selected server. See below for more details. |
VMs
The 'VMs' tab includes a list of created virtual machines on this server. Take a quick look at information on domain, status, bandwidth and IP addresses. To view information about a VM, simply press the more info icon. |
Check the node and VMID: |
Clusters
The next tab contains the list of clusters with information on uptime, VMS and resources limits as well as CPU, SWAP, memory and disk usage data. |
Press the Edit icon to manage the node: |
Press 'Node Details' and you will get all the summary and usage graphs: |
VM Cleaner
VM Cleaner allows you to track VMs existing only on your Proxmox server and that are not visible in your WHMCS. Consequently, you are allowed to sort and delete only those VMs that cannot be managed from your WHMCS. |
Templates
Under this page you can view the list of templates. You can easily convert any KVM VM on your server to a template. In order to convert a VM, press 'Create Template' button. |
Next, choose a VM to convert. Fill out 'Description' field and press 'confirm'. |
You may also delete unused templates here. Delete single templates or use the mass action to delete templates in bulk. |
Settings
Here you can define the VM IDs range that will be used for newly created VMs on this server. Please note that to use this feature, you also need to enable the "Use VM Ranges" setting in the product configuration. Define ID range and save changes. Note: VM ID range allows you to sort created VMs depending on the server they were created on.. |
VMs List
In 'Addons' → 'Proxmox Addon' → 'Servers' → 'VMs List' you can find details of any Proxmox product. |
Press 'More Details' button to get the node and VMID information. |
Recovery VM Lists
In 'Addons' → 'Proxmox Addon' → 'Servers' → 'Recovery VM List' you can view details on the created VM. Run the 'VM recovery synchronization' cron job to create and store full backups of VMs configuration, you can find it at point no 26 of the configuration instructions. |
On pressing the 'Details' icon, you will get any information on Configuration, Status and DNS: |
Tasks History
Tasks History includes a list o all module tasks with the most crucial details on them. You may delete single tasks or use 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 at point no 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 and IP pools which then can be assigned to created VMs. |
When you are creating a new IP address or a pool, you may define:
|
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 IP addresses subnets can be assigned to a single configuration. 4. Now, link the configuration with Proxmox VPS product via a product, a server or a configurable option. |
5. Now, enable the integration by proceeding to the '3rd Party Integration' tab. Press 'Activate' next to the 'proxmoxVPS' module type as shown on the following screen. |
6. Next, 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 below screen while integrating the two products, probably the function 'mb_strlen' is not enabled by default. Please read the manual here for installation instructions. |
It is possible to add a 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 steps 1-6 to create the new custom field. |
Settings
Load Balancer
Load Balancer is an advanced tool that allows smooth rotation between nodes 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. |
In order to use Load Balancer you must previously enable it in the product's configuration: Define the behavior of the tool:
|
Node Prioritization Method
Let us take a look at how the sorting process works and the rules that it obeys. Let's take exemplary weights for each resource just like 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.
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, 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 to sort nodes according to free resources, taking into account previously defined weights, is performed 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 following: 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 a result: 32,5. The above described calculations are performed every time, a 'Create' or 'Upgrade' actions are executed based on the current usage of resources on available nodes. Important: In case a given client already has an existing VM on a node, this very node will NOT be taken into account during the prioritization of resources process. If you decide to use Load Balancer tool, define the resources weights to adjust their prioritization of nodes according to your needs. |
Tasks
In the task section you will find tasks that have already been completed, are in progress or are yet to be executed by the cron. Moreover, by clicking the 'Information' button you can display more information about particular task. |
In the information tab you can see which specific product/service the chosen task was related to. Moreover, in logs, you can checkout the API response errors with each timestamp when it was returned. Note: The logs will be displayed only in case the errors occurred. If task finished successfully there will be nothing to see there. |
If you notice that a certain task e.g. cannot be completed because of some errors occurred, you can remove it, so cron will no longer try to execute it after each iteration. And after you figure out what gone wrong, you can try to add it again and check the results. |
Client Area
Client area interface of Proxmox VPS For WHMCS should look like the one on the screen below. As you can see, control panel contains options useful for managing a VM. Your clients are able to access resource usage 'graphs', view VM 'history', manage 'network' interface device and set up 'firewall' rules. Additionally, clients may take 'snapshots' and manage 'disks'. Note: Bellow example image was taken from the KVM based VM, but for LXC it will looks very similar. |
By clicking 'Edit' button next to the 'Information' headline, your clients can additionally change VM hostname and ISO image, choose boot devices, as well as insert their SSH public key. |
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 virtual machine using SPICE. Note: Since 2.7.0 version of the module your clients no longer need to download and install 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 virtual machine using Xterm.js. You must update the scripts on Proxmox v2.6.0. To do so open folder: UploadOnProxmoxServer/5.2-10 and upload content on all your Proxmox servers. |
Client Area - Additional Tools
Reinstall
Reinstall feature can be used to reinstall a new OS on the VM by the clients on their own. 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 also give your clients access to the selected reinstallation types in the 'Client Area Features' as well as choose available 'OS Images' and 'ISO Images' . |
Backups
To create a single backup, press the 'Backups' button and click on 'New Backup' as shown on the following screen. |
Now, choose compression type ( 'None' , 'LZO' or 'GZIP' ) and backup mode ( 'Snapshot' , 'Suspend' or 'Stop' ) from dropdown menus. Afterward, press 'Confirm'. |
To restore a VM from backup, press 'Restore' and then click the 'Confirm' button in a popup window. |
Backup Jobs
By pressing 'Backup Jobs' in the client area, you will be forwarded to the backup jobs management page. There you can easily edit/delete and preview details of existing backup jobs. |
Now, define a backup start time, choose days when to run it and select 'Compression Type' and 'Backup Mode' from dropdown menus. Also select if you want to receive notification when backup is ready. Finally, press the 'Confirm' button. |
Graphs
Through pressing the 'Graphs' button clients will be moved to the page with generated graphs of CPU usage, memory usage, network traffic and disk I/O. They can also switch the timeline of graphs by choosing it from a dropdown menu pointed on the following screen. Choose from 'Hour', 'Day', 'Week', 'Moth' and 'Year'. |
Task History
To access the history of a VM, simply press the 'Task History' button. Here the customer can see all the task actions performed on the VM, as well as the status of their success. If an error has occurred during the execution of a task, the client can view API response error by clicking on the 'Information' icon. |
Network
Your clients are allowed to add/remove only private network interface devices. By clicking 'Information' button the new popup will open with some more network details Keep in mind that ' Network device' options must be set to 'Private'. |
Snapshots
Use a snapshot to remember a current state contents of the virtual machine memory. You may use them later to restore the VM's settings. |
Press the 'Take Snapshot' button and fill out the form to take a snapshot. Name it (use alphabetical characters and no spaces), choose whether to include RAM and add a description. |
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. |
Choose a security group and an interface on which the group will be used. Additionally, you can enable a security group and add a comment to it. Click 'Add' to use the security group. |
Firewall Options
Here you can view current firewall settings. To choose it's options press 'Edit' button and adjust them to your needs. |
Disks (KVM only)
View available disks and add new ones. |
Define additional disk size, choose it's bus (available may be 'IDE', 'SATA', 'VIRTIO' or 'SCSI' ) as well as define disk format - you can choose from 'Raw disk image (raw)', 'QEMU image format (qcow2)', or 'VM image format (VMDK)' . |
Configurable Options
When you successfully set up a product, your client can order it by choosing from the default configurable options. |
In case those options do not suit your needs, you can edit them. Go to 'Setup' → 'Products/Services' → 'Configurable Option' and press 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 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 Weight For The VM |
CPU weight for a VM|CPU Weight For The VM |
Amount of RAM|Amount Of RAM |
Amount of RAM|Amount Of RAM |
Disk Space|Disk Space |
Disk Space|Disk Space |
Amount of SWAP|Amount Of SWAP |
additionalDisksSpace|Additional Disks Space |
IP Addresses|IPv4 Addresses |
IP Addresses|IPv4 Addresses |
IPv6 Addresses|IPv6 Addresses |
IPv6 Addresses|IPv6 Addresses |
Backups Limit|Backups Size |
Backups Limit|Backups Size |
Backups Files Limit|Backup Files |
Backups Files Limit|Backup Files |
Bandwidth|Bandwidth |
Bandwidth|Bandwidth |
VM Template|VM Template |
VM Template|VM Template |
Network Rate|Network Rate |
Network Rate|Network Rate |
|
vcpus|VCPUs | |
ISO Image|ISO Image |
|
osType|OS Type |
Management of Billing
When you combine Proxmox VPS For WHMCS with Advanced Billing For WHMCS, you will be able to set up additional billing options. The module allows you to charge your customers basing on the server resources used by them. |
With Advanced Billing For WHMCS module, you can also display the current resource usage of your customer's server and its total cost. |
Management of Existing Accounts
You can easily use Proxmox VPS module with your existing Proxmox accounts. To do so, follow the instructions below: 1. Create and configure a Proxmox VPS server and a server group. |
Servers Location Management
Important: Server Allocator For WHMCS is required to allow locations management. In order to allow defining locations for Proxmox VPS, follow the below steps:
Keep in mind that all locations must have exactly the same configuration. |
Now, a client may order a VPS and select 'Location'. Server Allocator For WHMCS will change the server assigned to the product. Create action is triggered on the assigned server due to the 'Server-Node' option enabled. |
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 as '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 want still use 'Server/VPS' product type, this topic might help you 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. |
5. OS Templates are loaded from the Storage. Make sure the module can access its content by selecting appropriate permissions for the chosen Storage. |
6. KVM virtualization supports only graphs concerning 'Bandwidth'. Other virtualizations support all graphs. This is due to API limitations. |
7. When PAM authentication is used, it is necessary to create a client first in order to change the password correctly. Read more about it here. |
8. As this module supports templates system, any changes made in the module's templates files will be saved after the upgrade process. |
9. If you are currently using the module in the 2.3.2 version or previous, and would like to migrate to Proxmox VE V5.X, you need to update the files on your Proxmox server to the new version from the 'UploadOnProxmoxServer' folder. |
10. OS Templates serve only as operating systems for a VM, while VM Templates contain complete configuration of a VM, the amount of resources included. |
11. You can use the {$service_assigned_ips} tag in your welcome email template to display automatically assigned IP addresses for created VM (either KVM or LXC virtualization type). |
12. '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. |
13. You can use the 'IPSet IP Filter' option for firewall to prevent IP spoofing. Click here to read more about IP Sets. In the product details view in admin area you can preview the current IP Sets on VM: |
14. You can enable 'Admin Notifications' on product configuration to be informed via email about certain actions. These are:
|
15. '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 WHMCS overage billing calculation as described here. |
16. 'Default Username Prefix' - when filling in this field you may use the {$serviceid} parameter to avoid problems with creating usernames that already exist. |
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!
|
Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. Error 'Could not create PVE2_API object' during connecting via the noVNC console. Reason: User account does not have permission to access the noVNC console. To change 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. Blank page during connecting via noVNC console. 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 module settings again. |
8. The current disk usage for the KVM virtualization type is not properly displayed. This is due to API limitations which currently do not return the correct value, which is always set to '0' . |
9. 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: User is other than "root" or server authentication is set to Proxmox VE |