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 9: | Line 6: | ||
|style="padding: 10px 0px 10px 0px;"|'''Proxmox VPS For WHMCS''' is a powerful module which allows you to automatically provision virtual servers to your clients.<br /> | |style="padding: 10px 0px 10px 0px;"|'''Proxmox VPS For WHMCS''' is a powerful module which allows you to automatically provision virtual servers to your clients.<br /> | ||
With its help, your customers can manage virtual servers, backups, firewall as well as access VNC/SPICE console and much more - all this directly in your WHMCS client area.<br /> | With its help, your customers can manage virtual servers, backups, firewall as well as access VNC/SPICE console and much more - all this directly in your WHMCS client area.<br /> | ||
− | Additionally, the module lets you conveniently manage all existing servers, IP addresses and clusters through the unique Proxmox Addon attached to the module.<br /> | + | Additionally, the module provides support for Cloud-Init for the KVM virtualization type and lets you conveniently manage all existing servers, IP addresses and clusters through the unique Proxmox Addon attached to the module.<br /> |
|} | |} | ||
<!-- comment can fix everything --> | <!-- comment can fix everything --> | ||
Line 48: | Line 45: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Display CPU And Memory Usage Of Each Product | |style="padding: 0px 0px 0px 30px;"|✔ Display CPU And Memory Usage Of Each Product | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Display IP Sets (KVM) | ||
|} | |} | ||
{| | {| | ||
Line 71: | Line 71: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 30px;"|✔ Enable Auto VM Backups Before Reinstall |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 30px;"|✔ Receive Notifications About VM Upgrades And Creation Failures | ||
|} | |} | ||
*'''Proxmox Addon Features:''' | *'''Proxmox Addon Features:''' | ||
Line 112: | Line 115: | ||
*'''Client Area Features:''' | *'''Client Area Features:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ Boot/Reboot/Stop/Shutdown | + | |style="padding: 10px 0px 0px 30px;"|✔ Boot/Reboot/Stop/Shutdown Server |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Reinstall Server Using Templates (KVM) And ISO Images | ||
|} | |} | ||
{| | {| | ||
Line 165: | Line 171: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ Number of Cores Per Socket | |style="padding: 0px 0px 0px 45px;"|✔ Number of Cores Per Socket | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ CPU Limit | ||
|} | |} | ||
{| | {| | ||
Line 174: | Line 183: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ Disk Space | |style="padding: 0px 0px 0px 45px;"|✔ Disk Space | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space | ||
|} | |} | ||
{| | {| | ||
Line 185: | Line 197: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Backups Limit | + | |style="padding: 0px 0px 0px 45px;"|✔ Backups Size Limit |
|} | |} | ||
{| | {| | ||
Line 197: | Line 209: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ Network Rate |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ VCPUs | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ ISO Image | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 45px;"|✔ OS Type | ||
|} | |} | ||
{| | {| | ||
Line 203: | Line 224: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Number of CPU | + | |style="padding: 0px 0px 0px 45px;"|✔ Number of CPU Cores |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ CPU Limit | ||
|} | |} | ||
{| | {| | ||
Line 216: | Line 240: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 45px;"|✔ Disk Space | |style="padding: 0px 0px 0px 45px;"|✔ Disk Space | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Additional Disk Space | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 45px;"|✔ Amount of SWAP< | ||
|} | |} | ||
{| | {| | ||
Line 224: | Line 254: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 45px;"|✔ Backups Limit | + | |style="padding: 0px 0px 0px 45px;"|✔ Backups Size Limit |
|} | |} | ||
{| | {| | ||
Line 233: | Line 263: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 0px 45px;"|✔ VM Templates |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 10px 45px;"|✔ Network Rate | ||
|} | |} | ||
*'''General Info:''' | *'''General Info:''' | ||
{| | {| | ||
− | |style="padding: 10px 0px 0px 30px;"|✔ Supports PVE And PAM Authentication | + | |style="padding: 10px 0px 0px 30px;"|✔ Supports Cloud-Init (KVM) |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Supports PVE And PAM Authentication | ||
|} | |} | ||
{| | {| | ||
Line 284: | Line 320: | ||
{| | {| | ||
|style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2.<br/>It does not apply to open source versions.<br/> | |style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2.<br/>It does not apply to open source versions.<br/> | ||
− | '' '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' | + | '' '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.''' |
|} | |} | ||
{| | {| | ||
Line 291: | Line 327: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.'''<br /> | ||
− | The content of PHP version files should look like this. | + | The content of the PHP version files should look like this. |
|} | |} | ||
{| | {| | ||
Line 297: | Line 333: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''4. Open '' 'UploadOnProxmoxServer' '' and upload content of proper version on all Proxmox servers into the '' '/usr/share/novnc-pve/' '' folder.'''<br />You should upload these files not only during the first installation of the module, but also each time you update it.<br/> | + | |style="padding: 0px 0px 15px 15px;"|'''4. Open '' 'UploadOnProxmoxServer' '' and upload the content of the proper version on all Proxmox servers into the '' '/usr/share/novnc-pve/' '' folder.'''<br />You should upload these files not only during the first installation of the module, but also each time you update it.<br/> |
''Note: If you wish to allow noVNC consoles, you need to configure a product using the PVE realm and set user permissions to 'PVEVMUser.' '' | ''Note: If you wish to allow noVNC consoles, you need to configure a product using the PVE realm and set user permissions to 'PVEVMUser.' '' | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''5. When you install Proxmox VPS For WHMCS for the first time you have to rename the '' 'license_RENAME.php' '' file.'''<br /> | + | |style="padding: 0px 0px 15px 15px;"|'''5. When you install Proxmox VPS For WHMCS for the first time, you have to rename the '' 'license_RENAME.php' '' file.'''<br /> |
− | + | The file is located in '' 'modules/servers/proxmoxVPS/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. '' | |
|} | |} | ||
{| | {| | ||
Line 309: | Line 345: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''6. In order to configure your license key, you have to edit the previously renamed '' 'license.php' '' file.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''6. In order to configure your license key, you have to edit the previously renamed '' 'license.php' '' file.'''<br /> | ||
− | Enter your license key between quotation marks as presented on the following screen.<br /> | + | Enter your license key between the quotation marks as presented on the following screen.<br /> |
You can find your license key in our client area → '' 'My Products'. '' | You can find your license key in our client area → '' 'My Products'. '' | ||
|} | |} | ||
Line 318: | Line 354: | ||
==Activation of Proxmox Addon== | ==Activation of Proxmox Addon== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|'''7. Firstly, activate Proxmox Addon.''' <br /> | + | |style="padding: 10px 0px 15px 15px;"|'''7. Firstly, activate the Proxmox Addon.''' <br /> |
To do so, log in to your WHMCS and press '' 'Setup' '' → '' 'Addon Modules'. '' Find '' 'Proxmox Addon' '' and press '' 'Activate'. ''<br/><br/> | To do so, log in to your WHMCS and press '' 'Setup' '' → '' 'Addon Modules'. '' Find '' 'Proxmox Addon' '' and press '' 'Activate'. ''<br/><br/> | ||
'' '''Note:''' The Proxmox addon version might '''not''' match the current version of the provisioning module itself. This is completely normal due to the specific structure of the module.'' | '' '''Note:''' The Proxmox addon version might '''not''' match the current version of the provisioning module itself. This is completely normal due to the specific structure of the module.'' | ||
Line 326: | Line 362: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''8. In the next step you need to permit access to this module.'''<br /> | + | |style="padding: 0px 0px 15px 15px;"|'''8. In the next step, you need to permit access to this module.'''<br /> |
To do so, click on the '' 'Configure' '' button, tick '' 'Full Administrator' '' and press '' 'Save Changes'. '' | To do so, click on the '' 'Configure' '' button, tick '' 'Full Administrator' '' and press '' 'Save Changes'. '' | ||
|} | |} | ||
Line 343: | Line 379: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''10. Next, enter your server name, IP address, username and password.<br /> | |style="padding: 0px 0px 15px 15px;"|'''10. Next, enter your server name, IP address, username and password.<br /> | ||
− | Choose an authentication type from '' 'Authentication' '' and '' 'Proxmox VPS' '' from | + | Choose an authentication type from '' 'Authentication' '' and '' 'Proxmox VPS' '' from the '' 'Type' '' dropdown menus. '' 'Save Changes'. ''''' |
|} | |} | ||
{| | {| | ||
Line 350: | Line 386: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''11. After configuring your server correctly, you will see the following screen.''' <br /> | |style="padding: 0px 0px 15px 15px;"|'''11. After configuring your server correctly, you will see the following screen.''' <br /> | ||
− | In order to check connection | + | In order to check connection with a Proxmox server, simply press '' 'Test Connection' '' as shown on the screen below. |
|} | |} | ||
{| | {| | ||
Line 356: | Line 392: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|'''12. It is time to create a server group | + | |style="padding: 0px 0px 20px 15px;"|'''12. It is time to create a server group. To do so, click on '' 'Create Server Group'. '' |
|} | |} | ||
{| | {| | ||
Line 362: | Line 398: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|'''13. Enter | + | |style="padding: 0px 0px 20px 15px;"|'''13. Enter the name, click on your previously created server, press '' 'Add' '' and afterward '' 'Save Changes'. ''''' |
|} | |} | ||
{| | {| | ||
Line 370: | Line 406: | ||
==Configuration of Product== | ==Configuration of Product== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|'''14. In order to create and configure a product go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services'. '''''<br /> | + | |style="padding: 10px 0px 15px 15px;"|'''14. In order to create and configure a product, go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Products/Services'. '''''<br /> |
Click on '' 'Create a New Group'.'' | Click on '' 'Create a New Group'.'' | ||
|} | |} | ||
Line 384: | Line 420: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''16. When you have a product group, you can assign your product to it.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''16. When you have a product group, you can assign your product to it.'''<br /> | ||
− | To create a product click on '' 'Create a New Product'.'' | + | To create a product, click on '' 'Create a New Product'.'' |
|} | |} | ||
{| | {| | ||
Line 391: | Line 427: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''17. Afterward, choose your product group and its type from dropdown menus, enter your product name and press '' 'Continue'. '''''<br /> | |style="padding: 0px 0px 15px 15px;"|'''17. Afterward, choose your product group and its type from dropdown menus, enter your product name and press '' 'Continue'. '''''<br /> | ||
− | '' 'Product Type' '' can be set to '' 'Dedicated/VPS Server' '' but nameservers will | + | '' 'Product Type' '' can be set to '' 'Dedicated/VPS Server' '' but nameservers will need to be added later.<br/> |
− | If you do not want | + | If you do not want to fill out nameservers, please select '' 'Hosting Account' ''. |
|} | |} | ||
{| | {| | ||
Line 398: | Line 434: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''18. Now go to the '' 'Module Settings' '' section, choose both '' 'Proxmox VPS' '' and your previously created server group from dropdown menus.<br /> | + | |style="padding: 0px 0px 15px 15px;"|'''18. Now, go to the '' 'Module Settings' '' section, choose both '' 'Proxmox VPS' '' and your previously created server group from the dropdown menus.<br /> |
Next, '' 'Save Changes'. ''''' | Next, '' 'Save Changes'. ''''' | ||
|} | |} | ||
Line 405: | Line 441: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''19. From dropdown menus choose '' 'Virtualization Type', '' '' 'Default Node' '' and '' 'Template & ISO Storage'. '''''<br /> | + | |style="padding: 0px 0px 15px 15px;"|'''19. From the dropdown menus choose '' 'Virtualization Type', '' '' 'Default Node' '' and '' 'Template & ISO Storage'. '''''<br /> |
Available virtualization types:<br/> | Available virtualization types:<br/> | ||
− | '''KVM'''<br/> | + | *'''KVM'''<br/> |
− | '''LXC''' ''(supported by Proxmox VE 4.0 and later)''<br/> | + | *'''LXC''' ''(supported by Proxmox VE 4.0 and later)''<br/> |
− | '''OpenVZ''' ''(supported by Proxmox VE 3.4 and earlier, prior to Proxmox v2.3.0)''<br/> | + | *'''OpenVZ''' ''(supported by Proxmox VE 3.4 and earlier, prior to Proxmox v2.3.0)''<br/> |
− | You can also | + | You can also specify how often the bandwidth usage should be counted.<br /> |
Afterward, press '' 'Save Changes'.''<br /> | Afterward, press '' 'Save Changes'.''<br /> | ||
''Note: If you choose the 'Auto-Node' as your 'Default Note', new virtual servers will be created on the least used node.'' | ''Note: If you choose the 'Auto-Node' as your 'Default Note', new virtual servers will be created on the least used node.'' | ||
Line 417: | Line 453: | ||
|style="padding: 0px 0px 20px 25px;"|[[File:PX2_17.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_17.png]] | ||
|} | |} | ||
+ | ===KVM Virtualization Type=== | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''20. Setting the KVM virtualization type (skip, if you have chosen the LXC virtualization type).'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''20. Setting the KVM virtualization type (skip, if you have chosen the LXC virtualization type).'''<br /> | ||
Line 422: | Line 459: | ||
Type your VM description in '' 'Container Description' '' and scroll down.<br /> | Type your VM description in '' 'Container Description' '' and scroll down.<br /> | ||
You can also define VM prefix by filling out the '' 'Default KVM Container Prefix' '' field.<br/> | You can also define VM prefix by filling out the '' 'Default KVM Container Prefix' '' field.<br/> | ||
− | Set '' 'Use Client name For VPS' '' to '' 'Yes' '' | + | Set '' 'Use Client name For VPS' '' to '' 'Yes' '' if you want to use either the client's company name or their first/last name as the hostname value. <br/> |
− | Here you may also decide whether you wish to use DHCP software to automatically assign IP addresses, simply select the | + | Here you may also decide whether you wish to use DHCP software to automatically assign IP addresses. If so, simply select the '' 'ISC DHCP Server' option. '' Read more about its installation [http://www.docs.modulesgarden.com/Proxmox_VPS_For_WHMCS#Automatic_IP_Address_Assignment here]. |
|} | |} | ||
{| | {| | ||
Line 429: | Line 466: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''21. Now, select desired values | + | |style="padding: 0px 0px 15px 15px;"|'''21. Now, select the desired values in the following fields: '' 'Storage', 'Disk Type', 'CD/DVD-ROM Type', 'ISO Image', 'Network Mode' '' and'' 'Network Model'.'''''<br /> |
− | Additionally, set up backups in the '' 'Backups' '' section | + | Additionally, set up backups in the '' 'Backups' '' section by choosing values from the '' 'Storage' '' and '' 'Backups Routing' '' dropdown menus.<br /> |
− | Backups routing automatically removes the oldest backup as soon as a new backup is created and | + | Backups routing automatically removes the oldest backup as soon as a new backup is created and the backup limit has been reached.<br /> |
− | Type in the number of days | + | Type in the desired number of days in the '' 'Store The Backup For N Days' '' field to remove backups older than the provided number.<br /> |
− | In the '' 'Firewall Options' '' section you can set up available interfaces and | + | In the '' 'Firewall Options' '' section you can set up available interfaces and the limit of firewall rules.<br /> |
'''Important: Keep in mind that the root password is generated automatically for KVM virtualization upon its creation and reset.'''<br /> | '''Important: Keep in mind that the root password is generated automatically for KVM virtualization upon its creation and reset.'''<br /> | ||
− | '''If you want | + | '''If you want to set your own password on KVM virtualization, consult the [https://www.docs.modulesgarden.com/Proxmox_VPS_For_WHMCS#Configuration_of_SSH_Keys_.28KVM.29 Configuration of SSH Keys] section.''' |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 20px 25px;"|[[File:PX2_19.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_19.png]] | ||
|} | |} | ||
+ | ===LXC Virtualization Type=== | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''22. Setting the LXC virtualization type (skip, if you have chosen the KVM virtualization type).'''<br/> | |style="padding: 0px 0px 15px 15px;"|'''22. Setting the LXC virtualization type (skip, if you have chosen the KVM virtualization type).'''<br/> | ||
Line 450: | Line 488: | ||
|style="padding: 0px 0px 20px 25px;"|[[File:PX2__19_1.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:PX2__19_1.png]] | ||
|} | |} | ||
+ | ===OpenVZ Virtualization Type=== | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''23. Setting the OpenVZ virtualization type (skip, if you have chosen the KVM virtualization type).'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''23. Setting the OpenVZ virtualization type (skip, if you have chosen the KVM virtualization type).'''<br /> | ||
− | '' '''Please note''' that only versions | + | '' '''Please note''' that OpenVZ virtualization is supported only by Proxmox versions '''prior to v.2.3.0'''''<br/> |
− | From dropdown menus choose '' 'Default Storage' '' and '' 'OpenVZ OS Template'. ''<br /> | + | From the dropdown menus choose '' 'Default Storage' '' and '' 'OpenVZ OS Template'. ''<br /> |
− | Additionally, define backup settings | + | Additionally, define backup settings in the '' 'Backups' '' section by choosing values from the '' 'Storage' '' and '' 'Backups Routing' '' dropdown menus.<br /> |
− | Backups routing automatically deletes the oldest backup when a new backup is created and a backup limit | + | Backups routing automatically deletes the oldest backup when a new backup is created and a backup limit has been reached.<br /> |
− | Fill out the number of days | + | Fill out the desired number of days in the '' 'Store The Backup For N Days' '' field to remove backups older than the provided number.<br /> |
Type your VM description into '' 'Container Description' '' and press '' 'Save Changes'.'' | Type your VM description into '' 'Container Description' '' and press '' 'Save Changes'.'' | ||
|} | |} | ||
Line 463: | Line 502: | ||
|style="padding: 0px 0px 20px 25px;"|[[File:PX2_20.png]] | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_20.png]] | ||
|} | |} | ||
+ | ===Finalizing The Configuration=== | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|'''24.Afterward, press '' 'Generate default' '' nearby '' 'Configurable Options' '' and '' 'Custom Fields'. ''''' | + | |style="padding: 0px 0px 20px 15px;"|'''24. Afterward, press '' 'Generate default' '' nearby '' 'Configurable Options' '' and '' 'Custom Fields'. ''''' |
|} | |} | ||
{| | {| | ||
Line 470: | Line 510: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|By doing so, you | + | |style="padding: 0px 0px 20px 15px;"|By doing so, you will add the required custom fields and optional configurable options listed in [[Proxmox_VPS_For_WHMCS#List_of_Configurable_Options|this table]].<br/> |
− | '' Note that while generating 'Configurable Options' it is advisable to delete | + | '' Note that while generating 'Configurable Options' it is advisable to delete all options which you no longer use, e.g. for the KVM virtualization delete the swap option or IPv6.'' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|'''25. At the end of the product configuration you have to add a cron job as shown below ( | + | |style="padding: 0px 0px 20px 15px;"|'''25. 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/servers/proxmoxVPS/cron/cron.php | php -q /your_whmcs/modules/servers/proxmoxVPS/cron/cron.php | ||
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 | + | The cron can also be run every single minute in order to perform the action more often. |
|} | |} | ||
{| | {| | ||
Line 491: | Line 531: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''27. Adding a new IP address (if you are not using [ | + | |style="padding: 0px 0px 15px 15px;"|'''27. Adding a new IP address (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, 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 '' 'Add Pool'. ''<br /> | To do so, go to '' 'IP Management' '' and press '' 'Add Pool'. ''<br /> | ||
''Note: You can add both the IPv4 and IPv6 addresses.'' | ''Note: You can add both the IPv4 and IPv6 addresses.'' | ||
Line 504: | Line 544: | ||
Afterward, press '' 'Add'. ''<br/> | Afterward, press '' 'Add'. ''<br/> | ||
''Note! Automatic IP assignment works only for OpenVZ/LXC machines.''<br/> | ''Note! Automatic IP assignment works only for OpenVZ/LXC machines.''<br/> | ||
− | ''KVM virtualization does not support IP Management | + | ''KVM virtualization does not support IP Management provided by the module. Instead, IP can be assigned via the console.'' |
|} | |} | ||
{| | {| | ||
Line 511: | Line 551: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''29. You are now able to create a new product using the previously added IP address.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''29. 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 | + | 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. |
|} | |} | ||
{| | {| | ||
Line 525: | Line 565: | ||
==Configuration of SSH Keys (KVM)== | ==Configuration of SSH Keys (KVM)== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|'''SSH keys are required to enable the automatic resizing of partition upon the disk upgrade as well as the change of passwords for the KVM virtualization type.'''<br /> | + | |style="padding: 10px 0px 15px 15px;"|<span style="color:#ff0000"> '' '''Important!''' We highly recommended using the [https://www.docs.modulesgarden.com/Proxmox_VPS_For_WHMCS#Cloud-Init 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 later. ''</span> |
− | '' '''Note''' - 'Resize Partition' and 'Change Root Password' will only work for '''newly created VMs with ISC DHCP and Internet access configuration'''. We recommend using this option only for new products.'' | + | <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 /> | ||
+ | '' '''Note''' - 'Resize Partition', and 'Change Root Password' will only work for '''newly created VMs with ISC DHCP and Internet access configuration'''.<br/>We recommend using this option only for new products.'' | ||
|} | |} | ||
{| | {| | ||
Line 545: | Line 587: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|'''33. Enter a name and location to the key pairs located on your WHMCS server.''' | + | |style="padding: 0px 0px 20px 15px;"|'''33. Enter a name and location to the key pairs located on your WHMCS server.'''<br/> |
+ | Optionally, you can add a passphrase to increase security. | ||
|} | |} | ||
{| | {| | ||
Line 557: | Line 600: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|'''35. Now, the '' 'Resize Partition' '' | + | |style="padding: 0px 0px 15px 15px;"|'''35. Now, the '' 'Resize Partition' '', '' 'Change Root Password' '' and '' 'Delete VM SSH Root Key' '' options should be available.''' |
− | * ''' Resize Partition ''' - if a customer upgrades a VM by changing the disk size to a larger one, the size of the last partition in that disk will be automatically increased by the newly added value. <br /> The feature deletes a current partition table, then creates a new one | + | * ''' Resize Partition ''' - if a customer upgrades a VM by changing the disk size to a larger one, the size of the last partition in that disk will be automatically increased by the newly added value. <br /> The feature deletes a current partition table, then creates a new one according to a new disk size, and reboots the VM. <br/>These partition types have to be standard, e.g. '' 'Linux Extended' (Ext2/Ext3/Ext4...), 'Linux SWAP' '', '' 'Solaris' '' or '' 'LVM' ''.<br/>'''Important - in case of any failure, all data available on the resized partition might be lost!''' '' |
* ''' Change Root Password ''' - this option is responsible for the automatic reset of the password after the VM creation. It also allows users to generate a new root password while using the VM. | * ''' Change Root Password ''' - this option is responsible for the automatic reset of the password after the VM creation. It also allows users to generate a new root password while using the VM. | ||
− | '' ''' | + | * ''' Delete VM SSH Root Key ''' - it will automatically remove the default SSH key after the VM creation. Use it to increase security or leave unchecked for resizing partition feature.<br/>'' '''Important''' - if a customer decides to remove the public key from the VM on their own or the 'Delete VM SSH Root Key' option is enabled, it will make the 'Resize Partition' and 'Change Root Password' options no longer working!'' |
− | + | <br /> | |
From now on, all passwords for the newly created VMs will be generated automatically by WHMCS. The partition will be also automatically resized during the VM creation if a disk size is different than the one set as default in the template.<br /> | From now on, all passwords for the newly created VMs will be generated automatically by WHMCS. The partition will be also automatically resized during the VM creation if a disk size is different than the one set as default in the template.<br /> | ||
What is more, the administrator will be able to execute the action of partition resizing during the package change (if the disk size has been previously upgraded) and also set a custom root password in the '' 'Product/Services' '' settings. | What is more, the administrator will be able to execute the action of partition resizing during the package change (if the disk size has been previously upgraded) and also set a custom root password in the '' 'Product/Services' '' settings. | ||
Line 569: | Line 612: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|The above mentioned | + | |style="padding: 0px 0px 20px 15px;"|The features above mentioned can be also executed in the client area using the options below. |
|} | |} | ||
{| | {| | ||
Line 582: | Line 625: | ||
==Admin Area== | ==Admin Area== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"| | + | |style="padding: 10px 0px 15px 15px;"|In the admin area you are able to view details and manage your client's VMs, access VMs consoles and even migrate VMs between nodes.<br /> |
You are also able to add an IP address to a product. To do so, press '' 'Add New IP' '' as shown on the following screen. | You are also able to add an IP address to a product. To do so, press '' 'Add New IP' '' as shown on the following screen. | ||
|} | |} | ||
Line 592: | Line 635: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_27.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/> | ||
+ | '' '''Note:''' The IP addresses you enter must be already existing 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.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX2_27_2.png]] | ||
|} | |} | ||
Line 599: | Line 649: | ||
====Server List==== | ====Server List==== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox Addon' '' → '' 'Servers' '' → '' 'Servers List' '' you can find configured Proxmox servers.<br /> | + | |style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox Addon' '' → '' 'Servers' '' → '' 'Servers List' '' you can find the configured Proxmox servers.<br /> |
'''RAM''' details: | '''RAM''' details: | ||
:Assigned - RAM assigned to the server (hosting services only) | :Assigned - RAM assigned to the server (hosting services only) | ||
− | :Total - full RAM | + | :Total - full server RAM |
− | :Free - difference between Server | + | :Free - difference between Total Server RAM and Assigned RAM |
− | '''Suspended''' - number of suspended accounts per | + | '''Suspended''' - number of suspended accounts per size in MB<br/> ''i.e. (1/500 MB) when there is only one suspended account (occupying 500MB of that account) assigned to Proxmox VPS server.''<br/> |
− | You can quickly define VM ID ranges for those servers, press '' 'Manage' '' | + | You can quickly define VM ID ranges for those servers. To do so, press '' 'Manage' ''.<br /> |
− | ''Note: VM ID range allows you to sort | + | ''Note: VM ID range allows you to sort created VMs depending on the server they were created on. |
|} | |} | ||
{| | {| | ||
Line 623: | Line 673: | ||
====VMs List==== | ====VMs List==== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox Addon' '' → '' 'Servers' '' → '' 'VMs List' '' you can find details of any | + | |style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox Addon' '' → '' 'Servers' '' → '' 'VMs List' '' you can find details of any Proxmox product.<br /> |
|} | |} | ||
{| | {| | ||
Line 629: | Line 679: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Use the '' 'Toggle Filters' '' button to find entries you are | + | |style="padding: 0px 0px 20px 15px;"|Use the '' 'Toggle Filters' '' button to find entries you are most interested in. |
|} | |} | ||
{| | {| | ||
Line 637: | Line 687: | ||
====Recovery VM Lists==== | ====Recovery VM Lists==== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox Addon' '' → '' 'Servers' '' → '' 'recovery VM List' '' you can find configured Proxmox servers.<br /> | + | |style="padding: 10px 0px 15px 15px;"|In '' 'Addons' '' → '' 'Proxmox Addon' '' → '' 'Servers' '' → '' 'recovery VM List' '' you can find the configured Proxmox servers.<br /> |
Run '' 'recovery cron job' '' to create and store full backups of VMs configuration.<br/> | Run '' 'recovery cron job' '' to create and store full backups of VMs configuration.<br/> | ||
− | Use '' 'Export to File' '' button to save information of the cron execution. | + | Use the '' 'Export to File' '' button to save information of the cron execution. |
|} | |} | ||
{| | {| | ||
Line 647: | Line 697: | ||
===IP Management=== | ===IP Management=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"| | + | |style="padding: 10px 0px 20px 15px;"|In the '' 'IP Management' '' tab you can add, edit and remove IP addresses of Proxmox products. |
|} | |} | ||
{| | {| | ||
Line 661: | Line 711: | ||
===Automatic IP Address Assignment=== | ===Automatic IP Address Assignment=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 5px 15px;"|Automatic IP address assignment can be applied to your Proxmox module | + | |style="padding: 10px 0px 5px 15px;"|Automatic IP address assignment can be easily applied to your Proxmox module. All you need to do is install '' 'DHCP' (Dynamic Host Configuration Protocol) ''<br/> and IP addresses will be automatically requested from a DHCP server. As a result, the need to manually configure them will be reduced to the absolute minimum. <br/>'''''Important! This option is available only for the 'KVM' virtualization type.'''''<br/>When there are no IP addresses assigned to the module, then it will create a VM without any IP address. In that case, you should verify the configuration of your IP Manager. <br/> After that you are allowed to run the 'Change Package' command in order to assign IP addresses.<br/> <br/> Read the section below to learn how to properly install and configure DHCP.<br/> |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 5px 15px;"|1. First of all, you must install the SSH2 package on your WHMCS server. Find precise instructions on how to do that [http://php.net/manual/en/ssh2.installation.php here].<br/> | + | |style="padding: 0px 0px 5px 15px;"|1. First of all, you must install the SSH2 package on your WHMCS server. Find the precise instructions on how to do that [http://php.net/manual/en/ssh2.installation.php here].<br/> |
:''Please note that in order to use ISC DHCP, root details must be provided in the server configuration settings.'' | :''Please note that in order to use ISC DHCP, root details must be provided in the server configuration settings.'' | ||
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 5px 15px;"|2. Now, you may move to ISC DHCP installation and configuration. Follow the steps below: | |style="padding: 0px 0px 5px 15px;"|2. Now, you may move to ISC DHCP installation and configuration. Follow the steps below: | ||
− | *Install DHCP package on your Proxmox server ''(if you are using more than one, then do it on each one of them) | + | *Install DHCP package on your Proxmox server ''(if you are using more than one, then do it on each one of them).'' Execute the below command to do so: |
sudo apt-get install isc-dhcp-server | sudo apt-get install isc-dhcp-server | ||
*When ready, configure DHCP server in ''/etc/dhcp/dhcpd.conf'' file for '''IPv4''' or ''/etc/dhcp/dhcpd6.conf'' for '''IPv6'''. | *When ready, configure DHCP server in ''/etc/dhcp/dhcpd.conf'' file for '''IPv4''' or ''/etc/dhcp/dhcpd6.conf'' for '''IPv6'''. | ||
− | *Now, run below command to create the file for '''IPv4''': | + | *Now, run the below command to create the file for '''IPv4''': |
sudo nano /etc/dhcp/dhcpd.conf | sudo nano /etc/dhcp/dhcpd.conf | ||
*Or the next command for '''IPv6''' accordingly: | *Or the next command for '''IPv6''' accordingly: | ||
sudo nano /etc/dhcp/dhcpd6.conf | sudo nano /etc/dhcp/dhcpd6.conf | ||
− | Below there is an | + | Below there is an exampple of how a properly created file should look like: ''/etc/dhcp/dhcpd.conf''.<br/> See what data it should contain: |
# Sample /etc/dhcpd.conf | # Sample /etc/dhcpd.conf | ||
Line 694: | Line 744: | ||
} | } | ||
− | *Key words: '''''#ProxmoxIPv6 #ProxmoxIPv4''''' suggesting the usage of a specific type of IP address | + | *Key words: '''''#ProxmoxIPv6 #ProxmoxIPv4''''' suggesting the usage of a specific type of IP address must be located in one of the files mentioned above.<br/> |
:''Note: Only a key word corresponding to the used IP type is required. If you do not use IPv6 then /etc/dhcp/dhcpd6.conf configuration and #ProxmoxIPv6 key word are not obligatory.'' | :''Note: Only a key word corresponding to the used IP type is required. If you do not use IPv6 then /etc/dhcp/dhcpd6.conf configuration and #ProxmoxIPv6 key word are not obligatory.'' | ||
*More info about configuring DHCP server can be found [http://askubuntu.com/questions/140126/how-do-i-configure-a-dhcp-server here]. | *More info about configuring DHCP server can be found [http://askubuntu.com/questions/140126/how-do-i-configure-a-dhcp-server here]. | ||
Line 708: | Line 758: | ||
===IP Manager Integration=== | ===IP Manager Integration=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|Owing to integration with [http://www.modulesgarden.com/products/whmcs/ip_manager/features IP Manager For WHMCS] you are able to easily create subnets with IP addresses and assign them to desired products.<br/> | + | |style="padding: 10px 0px 15px 15px;"|Owing to the integration with [http://www.modulesgarden.com/products/whmcs/ip_manager/features IP Manager For WHMCS], you are able to easily create subnets with IP addresses and assign them to the desired products.<br/> |
− | By activating the IP Manager submodule, settings concerning IP | + | By activating the IP Manager submodule, settings concerning IP addresses such as 'Configurable Options' and 'Default Options' will be ignored by Proxmox VPS.<br/> |
− | '' '''Note:''' This integration works for '''LXC''' and '''KVM''' virtualization type. '''OpenVZ''' is no longer supported.'' | + | '' '''Note:''' This integration works only for '''LXC''' and '''KVM''' virtualization type. '''OpenVZ''' is no longer supported.'' |
<br/><br/> | <br/><br/> | ||
1. Proceed to the IP Manager For WHMCS → [http://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Subnets Subnets] tab in order to prepare IP addresses subnet for Proxmox VPS For WHMCS.<br/> | 1. Proceed to the IP Manager For WHMCS → [http://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Subnets Subnets] tab in order to prepare IP addresses subnet for Proxmox VPS For WHMCS.<br/> | ||
2. Edit the previously created IP addresses subnet and create a custom field '' 'MAC Address' '' with a desired MAC address at each IP address in the subnet.<br/> | 2. Edit the previously created IP addresses subnet and create a custom field '' 'MAC Address' '' with a desired MAC address at each IP address in the subnet.<br/> | ||
''' ''Note:'' Setting up MAC address is optional and can be skipped.'''<br/> | ''' ''Note:'' Setting up MAC address is optional and can be skipped.'''<br/> | ||
− | More about creating custom fields can be found [http://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Default_Custom_Fields here]. | + | More details about creating custom fields can be found [http://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Default_Custom_Fields here]. |
|} | |} | ||
{| | {| | ||
Line 744: | Line 794: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"| | + | |style="padding: 0px 0px 15px 15px;"|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.<br/> Please read the manual [http://www.php.net/manual/en/mbstring.installation.php here] for installation instructions. |
|} | |} | ||
{| | {| | ||
Line 752: | Line 802: | ||
===Clusters=== | ===Clusters=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"| The '' 'Clusters' '' tab contains the list of clusters. To view information about a cluster simply press its name. | + | |style="padding: 10px 0px 20px 15px;"| The '' 'Clusters' '' tab contains the list of clusters. To view information about a cluster, simply press its name. |
|} | |} | ||
{| | {| | ||
Line 816: | Line 866: | ||
{| | {| | ||
|style="padding: 0px 0px 30px 25px;"|[[File:PX2_35_2.png]] | |style="padding: 0px 0px 30px 25px;"|[[File:PX2_35_2.png]] | ||
+ | |} | ||
+ | ===Cloud-Init=== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|Use cloud-init to configure the system during installation, first-boot and package change.<br/>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 cloud-init configuration. | ||
+ | |} | ||
+ | <!-- Na razie bez tej notki | ||
+ | <br/> | ||
+ | '' '''Note:''' Cloud-init functionality is for '''KVM''' virtualization only and requires '''17.1 or higher''' version of cloud-init.'' | ||
+ | --> | ||
+ | <!-- | ||
+ | ====Scripts Configurations==== | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|In the '' 'Settings' '' -> '' 'Cloud Init' '' section you will find your scripts configurations which are built by default by accessing the addon configuration.<br/><br/> | ||
+ | '' '''Important:''' These are only '''exemplary''' configuration scripts and may '''not''' work on your Proxmox server configuration!<br/>Before using, please first adjust them to your needs and make sure they are configured correctly.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_49.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|You can also add your own configuration or edit existing ones by pressing corresponding buttons.<br/> | ||
+ | [http://cloudinit.readthedocs.io/en/latest/topics/examples.html Here] you can find some cloud config examples. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX2_50.png]] | ||
+ | |} | ||
+ | --> | ||
+ | ====Configuration Of Product==== | ||
+ | {| | ||
+ | |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/> | ||
+ | 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 Password''' - if enabled, the password 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. | ||
+ | *'''Service Nameservers''' - if enabled, the nameservers for the VM will be taken from the details of WHMCS product services. Otherwise, they will remain unchanged and set by default as in the template. | ||
+ | *'''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. | ||
+ | <!-- | ||
+ | *'''Cloud Init''' - select what scripts will be executed on VM create or change package. 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 sent to the server.<br/>Therefore, make sure that these scrips can work properly with each other.'' | ||
+ | *'''CD/DVD-ROM Type''' - an additional CD-ROM in which the ISO image is mounted with a ready-to-use script for the VM | ||
+ | *'''Storage''' - the directory on which the CD-ROM ISO image is stored | ||
+ | --> | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_51_new.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|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.<br/>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.<br/>'' '''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.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_51_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Now, when the client places a new order, they will be able to enter the public key here in the OpenSSH format. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX2_51_3.png]] | ||
+ | |} | ||
+ | <!-- | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Please also note the server configuration for that product must use the '' 'root' '' account and '' 'Linux PAM standard authentication' ''. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX2_52.png]] | ||
+ | |} | ||
+ | --> | ||
+ | |||
+ | ====Configuration Of Proxmox Server ==== | ||
+ | <!-- | ||
+ | {| | ||
+ | |style="padding: 10px 0px 15px 15px;"|1. 'genisoimage' is required for cloud-init to be installed on your '''Proxmox server'''. To install it, execute the command in terminal: | ||
+ | apt-get update && apt-get install genisoimage | ||
+ | Otherwise, you will get the '' 'genisoimage: command not found' '' error. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|2. To make KVM virtual machine ready for could-init on a Proxmox server, proceed with the following steps: | ||
+ | *Download and install the system ISO image, e.g. [https://www.ubuntu.com/download/alternative-downloads Ubuntu] | ||
+ | *Install cloud-init by executing this command in the terminal: <pre>apt-get install cloud-init</pre> | ||
+ | *The module requires '' '''17.1 or higher''' '' version of cloud-init. After installation you can validate the version using <pre>cloud-init -v</pre> | ||
+ | *Shutdown the machine and [http://git.mglocal/whmcs-products/Proxmox/uploads/994fd04f9a2a5cf03533c24aacfef0fc/image.png convert it to template.] | ||
+ | *Finally, choose the created '' 'VM Template' ''from the product configuration or configurable options. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_57.png]] | ||
+ | |} | ||
+ | --> | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|The process of setting up Cloud-Init on the Proxmox server is described [https://pve.proxmox.com/wiki/Cloud-Init_Support here].<br/> | ||
+ | Additionally, you can use the following commands that can be useful for debugging: | ||
+ | *Re-run cloud init scripts | ||
+ | <pre>rm -rf /var/lib/cloud/sem/* /var/lib/cloud/instance /var/lib/cloud/instances/* && | ||
+ | cloud-init init && | ||
+ | cloud-init modules -m final</pre> | ||
+ | *Logs | ||
+ | <pre>cat /var/log/cloud-init.log | ||
+ | cat /var/log/cloud-init-output.log</pre> | ||
+ | <!-- | ||
+ | *If you need more information about cloud-init installation, you can follow [https://support.telefonicaopencloud.com/en-us/usermanual/ims/en-us_topic_0030730603.html#EN-US_TOPIC_0030730603__li38478451154018 this guide.] | ||
+ | --> | ||
|} | |} | ||
Line 840: | Line 988: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|VNC console enables your clients to remotely manage their servers.<br /> | |style="padding: 10px 0px 15px 15px;"|VNC console enables your clients to remotely manage their servers.<br /> | ||
− | To access it, simply press the '' 'VNC Console' '' button. | + | To access it, simply press the '' 'VNC Console' '' button. The console requires Java software. You need to accept security risk to run it.<br/> |
''Please note that only versions of Proxmox prior to v.2.3.0 support this console.''<br/> | ''Please note that only versions of Proxmox prior to v.2.3.0 support this console.''<br/> | ||
'''Remember that VNC Console is available for users of Proxmox VE 3.4. only!''' | '''Remember that VNC Console is available for users of Proxmox VE 3.4. only!''' | ||
Line 869: | Line 1,017: | ||
===Reinstall=== | ===Reinstall=== | ||
{| | {| | ||
− | |style="padding: 0px | + | |style="padding: 10px 0px 15px 15px;"|Reinstall feature can be used to reinstall a new OS on the VM by the clients on their own. <br/> |
+ | 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/> | ||
+ | '' '''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, the new OS password for the KVM OS reinstallation will be set based on the previous service password while for the LXC user can define the OS password before a new installation.'' | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_38.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|You can configure the available '' 'KVM OS Templates' '' for clients in the '' 'KVM Configuration' ''. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_38_2.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Similarly, you can choose the available '' 'ISO Images' '' from '' 'CD/DVD-ROM Drive' ''. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_38_3.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|Remember to also give your clients access to the selected reinstallation types in the '' 'User's Options' ''. | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File: | + | |style="padding: 0px 0px 30px 25px;"|[[File:PX2_38_4.png]] |
|} | |} | ||
Line 898: | Line 1,067: | ||
===Backup Jobs=== | ===Backup Jobs=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|By pressing '' 'Backup Jobs' '' in | + | |style="padding: 10px 0px 15px 15px;"|By pressing '' 'Backup Jobs' '' in the client area, you will be forwarded to the backup jobs management page.<br /> |
There you can easily edit/delete and preview details of existing backup jobs.<br /> | There you can easily edit/delete and preview details of existing backup jobs.<br /> | ||
− | To add a new backup job press '' 'New Job' '' as shown on the following screen. | + | To add a new backup job, press '' 'New Job' '' as shown on the following screen. |
|} | |} | ||
{| | {| | ||
Line 933: | Line 1,102: | ||
{| | {| | ||
|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.<br/> | ||
− | Keep in mind that '' ' Network device' '' options must be set | + | Keep in mind that '' ' Network device' '' options must be set to '' 'Private'.'' |
|} | |} | ||
{| | {| | ||
Line 955: | Line 1,124: | ||
===Firewall=== | ===Firewall=== | ||
{| | {| | ||
− | |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 | + | |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 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 (1) or predefined security group (2) use the buttons marked on the following screen. | + | To add a new firewall rule (1) or a predefined security group (2), use the buttons marked on the following screen. |
|} | |} | ||
{| | {| | ||
Line 964: | Line 1,133: | ||
{| | {| | ||
|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 (red) is | + | The first way (red) is to choose macro from the '' 'Macro' '' dropdown field.<br /> |
− | The second way (blue) | + | The second way (blue) 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. | ||
Line 1,012: | Line 1,181: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|You will see a popup window, so make sure your browser | + | |style="padding: 0px 0px 15px 15px;"|You will see a popup window, so make sure your browser does not block it.<br /> |
− | To add a new option, enter it in | + | 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.<br /> |
− | Finish | + | Finish by pressing '' 'Save Changes'. '' |
|} | |} | ||
{| | {| | ||
Line 1,085: | Line 1,254: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|When you combine Proxmox VPS For WHMCS with [http://www.docs.modulesgarden.com/Advanced_Billing_For_WHMCS Advanced Billing For WHMCS], you will be able to set up additional billing options.<br /> | |style="padding: 10px 0px 15px 15px;"|When you combine Proxmox VPS For WHMCS with [http://www.docs.modulesgarden.com/Advanced_Billing_For_WHMCS Advanced Billing For WHMCS], you will be able to set up additional billing options.<br /> | ||
− | + | The module allows you to charge your customers basing on the server resources used by them.<br/> | |
'' Note: Advanced Billing supports '''OpenVZ''' (prior to Proxmox v2.3.0), '''KVM''' and the '''LXC''' virtualization type. | '' Note: Advanced Billing supports '''OpenVZ''' (prior to Proxmox v2.3.0), '''KVM''' and the '''LXC''' virtualization type. | ||
|} | |} | ||
Line 1,092: | Line 1,261: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|With Advanced Billing For WHMCS module, you can also display | + | |style="padding: 0px 0px 20px 15px;"|With Advanced Billing For WHMCS module, you can also display the current resource usage of your customer's server and its total cost. |
|} | |} | ||
{| | {| | ||
Line 1,108: | Line 1,277: | ||
5. If possible, enter IP addresses into fields '' 'Dedicated IP' '' and '' 'Assigned IPs' ''.<br /> | 5. If possible, enter IP addresses into fields '' 'Dedicated IP' '' and '' 'Assigned IPs' ''.<br /> | ||
6. Set the product status to '' 'Active' ''.<br /> | 6. Set the product status to '' 'Active' ''.<br /> | ||
− | '''Remember | + | '''Remember not to click the '' 'Create' '' button during the entire process. That would unnecessarily create a new virtual machine.''' |
|} | |} | ||
Line 1,129: | Line 1,298: | ||
=Tips= | =Tips= | ||
{| | {| | ||
− | |style="padding: 10px 0px 15px 15px;"|1. Operations performed on the virtual servers are not executed immediately. Give your Proxmox Virtual Environment some time | + | |style="padding: 10px 0px 15px 15px;"|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. |
|} | |} | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|2. Multiple '''physical Proxmox servers''' can be joined into one cluster.<br /> | |style="padding: 0px 0px 15px 15px;"|2. Multiple '''physical Proxmox servers''' can be joined into one cluster.<br /> | ||
− | When they are joined into one '''cluster''', you can access all of them by connecting to | + | When they are joined into one '''cluster''', you can access all of them by connecting to just one.<br /> |
*'''auto-node''' - Creates a new VM on the server (node) with the most free resources, so the administrator cannot control it.<br /> | *'''auto-node''' - Creates a new VM on the server (node) with the most free resources, so the administrator cannot control it.<br /> | ||
− | *'''server-node''' - Creates a VM on the server node which IP address or node host (e.g. node1.yourproxmox.com) was provided during the WHMCS's server configuration,<br /> | + | *'''server-node''' - Creates a VM on the server node which IP address or node host (e.g. node1.yourproxmox.com) was provided during the WHMCS's server configuration,<br />allowing the administrator to control the node choice. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|3. If you set the product type as '' 'Hosting Account' '' when adding a new product, you will not | + | |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 15px 15px;"|4. OS Templates are not automatically downloaded while configuring a product.<br/> For each virtualization type, templates are downloaded from the Proxmox server depending on which one | + | |style="padding: 0px 0px 15px 15px;"|4. OS Templates are not automatically downloaded while configuring a product.<br/> For each virtualization type, templates are downloaded from the Proxmox server depending on which one they are generated. |
|} | |} | ||
{| | {| | ||
Line 1,156: | Line 1,325: | ||
--> | --> | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|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 [https://pve.proxmox.com/wiki/User_Management#pveum_authentication_realms here]. | + | |style="padding: 0px 0px 15px 15px;"|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 [https://pve.proxmox.com/wiki/User_Management#pveum_authentication_realms here]. |
|} | |} | ||
{| | {| | ||
Line 1,165: | Line 1,334: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 15px;"|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. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|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). | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|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. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"|13. You can use the '' 'IPSet IP Filter' '' option for firewall to prevent IP spoofing. Click [https://pve.proxmox.com/wiki/Firewall#pve_firewall_ip_sets here] to read more about IP Sets.<br/> | ||
+ | In the product details view in admin area you can preview the current IP Sets on VM: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_68.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"|14. You can enable '' 'Admin Notifications' '' on product configuration to be informed via email about certain actions. These are: | ||
+ | *''Service Creation Failed'' - if there were any errors that prevented a VM from being successfully created, then the selected email template will be sent to the administrator | ||
+ | *''Upgrade'' - select the email notification template you want to receive if the client requests the product upgrade.<br/>This will also block the automatic sending of an upgrade request to the Proxmox API so the administrator can review it first.<br/>''Note that if chosen, the product will be still upgraded in the WHMCS itself but the upgrade request will not be passed to the API.'' | ||
+ | *''To-Do List'' - if checked, in addition to sending any of the above notifications, it will also add them as tasks on the ''[https://docs.whmcs.com/System_Utilities#To-Do_List WHMCS To-Do List]''. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:PX2_69.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"|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.<br/>Note that the '' 'Bandwidth Limit' '' can also be used for WHMCS overage billing calculation as described [https://docs.whmcs.com/Disk_Space_and_Bandwidth_Overage_Billing here]. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:PX2_70.png]] | ||
|} | |} | ||
Revision as of 17:10, 30 May 2018
About Proxmox VPS For WHMCS
Proxmox VPS For WHMCS is a powerful module which allows you to automatically provision virtual servers to your clients. With its help, your customers can manage virtual servers, backups, firewall as well as access VNC/SPICE console and much more - all this directly in your WHMCS client area. |
- 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 And SPICE Console |
✔ Migrate Server Between Nodes |
✔ Reinstall Server |
✔ View Server Status, Details And Statistics |
✔ View Graphs - With Ability To Change Time Scale of MRTG Graphs |
✔ Display Disk And Bandwidth Usage Of Each Product |
✔ Display CPU And Memory Usage Of Each Product |
✔ Display IP Sets (KVM) |
✔ Auto Node - Possibility To Automatically Create VM On Node With The 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 Backups Routing |
✔ Enable Auto VM Backups Before Reinstall |
✔ Receive Notifications About VM Upgrades And Creation Failures |
- Proxmox Addon Features:
✔ Display Servers List Per VPS And Cloud |
✔ Manage IP Addresses Per Server, VLAN, Tag And Node |
✔ Add Additional DHCP Server |
✔ Display Servers Clusters |
✔ Display KVM Templates |
✔ Convert KVM VPS To KVM Template |
✔ Set Minimum VM ID For Product Without ID Ranges Defined |
✔ Synchronize Users Permissions |
✔ VM Cleaner - Manage VM Not Existing In Your WHMCS |
✔ Create And Store Full Backup Of VMs Configuration |
✔ Manage SSH Key Pairs For KVM Template |
✔ View Tasks History |
- Client Area Features:
✔ Boot/Reboot/Stop/Shutdown Server |
✔ Reinstall Server Using Templates (KVM) And ISO Images |
✔ Access noVNC And SPICE Console |
✔ Create/Restore/Delete Backups |
✔ Manage Backups Within Defined Limits (Max Number Of Files & Max Size Of Files) |
✔ Manage Backup Jobs Within Defined Limits (Max Number Of Files & Max Size Of Files) |
✔ View Graphs - With Ability To Change Time Scale of MRTG Graphs |
✔ View Task History |
✔ View Network Devices And Manage Private Interface |
✔ Create Server Snapshot (KVM) |
✔ Manage Firewall |
✔ 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 a 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 Management of IP Subnets (read more) |
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Specified Servers To Products (read more) |
✔ Multi-Language Support |
✔ Supports Proxmox VE Up To V5.X |
✔ Supports IPv4 and IPv6 |
✔ Supports PHP 5.6 Up To PHP 7.2 |
✔ Supports WHMCS Template Six |
✔ Supports WHMCS V7 |
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
1. Log in to our client area and download the module. |
2. In the downloaded file you will find two packages that support different PHP versions. As presented on the screen below, the first one is dedicated to PHP 5.6 up to PHP 7.0, while the second one is aimed at PHP 7.1 up to PHP 7.2. It does not apply to open source versions. Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'. |
3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory. The content of the PHP version files 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, IP address, username and password. Choose an authentication type from 'Authentication' and 'Proxmox VPS' from the 'Type' dropdown menus. 'Save Changes'. |
11. After configuring your server correctly, you will see the following screen. In order to check connection with a Proxmox server, simply press 'Test Connection' as shown on the screen below. |
12. It is time to create a server group. To do so, click on 'Create Server Group'. |
13. 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 and its type from dropdown menus, enter your product name and press 'Continue'. 'Product Type' can be set to 'Dedicated/VPS Server' but nameservers will need to be added later. |
18. Now, go to the 'Module Settings' section, choose both 'Proxmox VPS' and your previously created server group from the dropdown menus. Next, 'Save Changes'. |
19. From the dropdown menus choose 'Virtualization Type', 'Default Node' and 'Template & ISO Storage'. Available virtualization types:
You can also specify how often the bandwidth usage should be counted. |
KVM Virtualization Type
20. Setting the KVM virtualization type (skip, if you have chosen the LXC virtualization type). From dropdown menus choose 'KVM OS Type' and 'Default Storage'. |
21. Now, select the desired values in the following fields: 'Storage', 'Disk Type', 'CD/DVD-ROM Type', 'ISO Image', 'Network Mode' and 'Network Model'. Additionally, set up backups in the 'Backups' section by choosing values from the 'Storage' and 'Backups Routing' dropdown menus. |
LXC Virtualization Type
22. Setting the LXC virtualization type (skip, if you have chosen the KVM virtualization type). From dropdown menus choose 'Default Storage' , 'Template' and 'Bridge'. |
OpenVZ Virtualization Type
23. Setting the OpenVZ virtualization type (skip, if you have chosen the KVM virtualization type). Please note that OpenVZ virtualization is supported only by Proxmox versions prior to v.2.3.0 From the dropdown menus choose 'Default Storage' and 'OpenVZ OS Template'. |
Finalizing The Configuration
24. Afterward, press 'Generate default' nearby 'Configurable Options' and 'Custom Fields'. |
By doing so, you will add the required custom fields and optional configurable options listed in this table. Note that while generating 'Configurable Options' it is advisable to delete all options which you no longer use, e.g. for the KVM virtualization delete the swap option or IPv6. |
25. 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/servers/proxmoxVPS/cron/cron.php 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. |
Congratulations! You have just finished the installation and configuration of the module. |
Configuration of Addon
26. Proceed to 'Addons' → 'Proxmox Addon' → 'Settings' → 'General Settings' and set up cron jobs listed under the 'Cron' section. |
27. Adding a new IP address (if you are not using IP Manager For WHMCS). In order to create a new product, you have to add 'Dedicated IP ' to the 'IP Addresses' list in 'Proxmox' addon module. |
28. Start by typing a desired IP address and mask into 'IP Pool'. 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. |
29. 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. |
30.The client area with the LXC virtualization type product looks quite similar. |
Configuration of SSH Keys (KVM)
Important! We highly recommended using the 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 later.
|
31. First, create a new VM Template that you will use for the KVM image. Then, generate SSH keys and add the public key to the root account on the newly created VM image. Moreover, upload both ( public and private ) keys on your WHMCS server in a secure location. |
32. Next, while in your WHMCS, go to 'Proxmox Addon' → 'Settings' → 'SSH Keys' and press the 'Add' button. |
33. Enter a name and location to the key pairs located on your WHMCS server. Optionally, you can add a passphrase to increase security. |
34. Then, go back to the product configuration and in ' KVM Configuration' → 'VM SSH Root Key' select the pair of keys you want to use. Enter the SSH communication port and select features you want to use. Make sure they match the 'KVM OS Template' that will be used. |
35. Now, the 'Resize Partition' , 'Change Root Password' and 'Delete VM SSH Root Key' options should be available.
|
The features above mentioned can be also executed in the client area using the options below. |
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 VMs consoles and even migrate VMs between nodes. You are also able to add an IP address to a product. To do so, press 'Add New IP' as shown on the following screen. |
Afterward, enter IP address in a textbox and confirm through pressing 'Save Changes'. |
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 be already existing 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. |
Management of Addon
Servers Management
Server 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 |
Define ID range and save changes. |
Through pressing 'Edit' you will be moved to the server edit page. |
VMs List
In 'Addons' → 'Proxmox Addon' → 'Servers' → 'VMs List' you can find details of any Proxmox product. |
Use the 'Toggle Filters' button to find entries you are most interested in. |
Recovery VM Lists
In 'Addons' → 'Proxmox Addon' → 'Servers' → 'recovery VM List' you can find the configured Proxmox servers. Run 'recovery cron job' to create and store full backups of VMs configuration. |
IP Management
In the 'IP Management' tab you can add, edit and remove IP addresses of Proxmox products. |
Automatic IP Address Assignment
Automatic IP address assignment can be easily applied to your Proxmox module. All you need to do is install 'DHCP' (Dynamic Host Configuration Protocol) and IP addresses will be automatically requested from a DHCP server. As a result, the need to manually configure them will be reduced to the absolute minimum. Important! This option is available only for the 'KVM' virtualization type. When there are no IP addresses assigned to the module, then it will create a VM without any IP address. In that case, you should verify the configuration of your IP Manager. After that you are allowed to run the 'Change Package' command in order to assign IP addresses. Read the section below to learn how to properly install and configure DHCP. |
1. First of all, you must install the SSH2 package on your WHMCS server. Find the precise instructions on how to do that here.
|
2. Now, you may move to ISC DHCP installation and configuration. Follow the steps below:
sudo apt-get install isc-dhcp-server
sudo nano /etc/dhcp/dhcpd.conf
sudo nano /etc/dhcp/dhcpd6.conf Below there is an exampple of how a properly created file should look like: /etc/dhcp/dhcpd.conf. # Sample /etc/dhcpd.conf # (add your comments here) default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "mydomain.example"; subnet 192.168.1.0 netmask 255.255.255.0 { #ProxmoxIPv4 host 1 {hardware ethernet 32:62:39:64:33:33;fixed-address 192.168.1.2;} host 2 {hardware ethernet 32:39:61:31:33:66;fixed-address 192.168.1.3;} }
|
3. Turn on ISC DHCP.
To use the automatic IP addresses assignment feature, select 'ISC DHCP Server' option in 'Module Settings' under the 'KVM Configuration' section. |
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. |
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. |
Clusters
The 'Clusters' tab contains the list of clusters. To view information about a cluster, simply press its name. |
Here you can find various information about a cluster, from available resource to usage graphs. |
Templates List
Under this page you can view the list of templates. You may also delete unused templates here. |
Create Templates
You can easily convert any KVM VM on your server to a template. In order to convert a VM, go to 'Proxmox Addon' → 'Templates' → 'Create Template'. |
Next, choose a node and VM to convert. Fill out 'Template Friendly Name' and press 'Save Changes'. |
General Settings
'Minimum VMID' allows you to define a minimal ID of a VM created on the server, which does not have any VMID range defined. Cron job user synchronization - if you change a user role in the product settings, this cron job changes the roles of existing users. |
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. |
SSH Keys
SSH Keys section allows you to manage your SSH key pairs that will be used for your KVM virtualization. These keys will be next used to enable the automatic resizing of a partition upon the disk upgrade as well as the change of a root password on the VM. |
Cloud-Init
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 cloud-init configuration. |
Configuration Of Product
To to use cloud-init, you need to enable it in the configuration of the Proxmox product. Before you start, we recommend that you learn the details of cloud-init configuration on your Proxmox server first. Click here for more information.
|
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. |
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 |
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. |
On the main product page in the client area, under the 'Details' headline your clients can find information about current usage of CPU, memory, disk (LXC only) and SWAP (LXC only). Customers can also view 'DNS' (LXC only) and 'IP Addresses'. |
Client Area - VM Management
VNC Console
VNC console enables your clients to remotely manage their servers. To access it, simply press the 'VNC Console' button. The console requires Java software. You need to accept security risk to run it. |
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: Your client needs to download and install client side SPICE application in order to connect with a VM. |
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.
|
You can configure the available 'KVM OS Templates' for clients in the 'KVM Configuration' . |
Similarly, you can choose the available 'ISO Images' from 'CD/DVD-ROM Drive' . |
Remember to also give your clients access to the selected reinstallation types in the 'User's Options' . |
Backups
To create a single backup, press the 'Backups' button and click on 'New Backup' as shown on the following screen. |
Now, choose 'Compress Dump File' and 'Backup Mode' from dropdown menus. Afterward, press 'Add'. |
To restore a VM from backup, press 'Restore' and then click the 'OK' button in a popup window to confirm. |
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 time, mark days to run it and choose 'Compression Dump File' and 'Backup Mode' from dropdown menus. Next, press the 'Add' 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 disc I/O. They can also switch the timeline of graphs by choosing it from a dropdown menu pointed on the following screen. Choose from 'Hour', 'Day', 'Week', 'Moth' and 'Year'. |
Task History
To access the history of a VM, simply press the 'Task History' button. |
Network
Your clients are allowed to add/remove only private network interface devices. Keep in mind that ' Network device' options must be set to 'Private'. |
Snapshots (KVM only)
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 only), 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 (red) 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. |
Disks (KVM only)
View available disks and add new ones. |
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. |
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. |
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. |
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.
|
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. Proxmox VPS For WHMCS does not provide a direct support for HA clusters. |