Vultr VPS For WHMCS
Contents |
About Vultr VPS For WHMCS
Vultr VPS For WHMCS is a module which allows automatic management of Vultr VPS servers. The module will allow your clients to remotely control the status of a server, access the console, and rebuild the VPS. |
- Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server |
✔ Change Package - Supports Configurable Options And Volume Resizing |
✔ Change Password |
✔ Start/Stop/Pause/Unpause/Resume/Rebuild Server |
✔ Soft/Hard Reboot Server |
✔ Reset Network |
✔ Rescue/Unrescue Server |
✔ Toggle VM Protection From WHMCS Termination And Rebuilding |
✔ View Instance Status And Details |
✔ View Interfaces Details |
✔ View Volumes Information |
✔ View List Of Scheduled Tasks |
✔ Provide Product Configurations: |
✔ Project Settings: |
✔ Choose Default VM Image/Flavor/Region |
✔ Provide Random Domain Prefix |
✔ Toggle Debug Mode |
✔ Network Settings: |
✔ Choose Fixed/Floating Networks |
✔ Define Default Number Of IP Addresses |
✔ Backup Settings: |
✔ Enable Backups Rotation |
✔ Enable Scheduled Backups |
✔ Define Backups Quantity Limit |
✔ Define Backups Minimum Time Interval |
✔ Virtual Machines Settings: |
✔ Enable Auto-generation SSH Key |
✔ Define Default Volume Size |
✔ Set Security Groups |
✔ Enable Password Management |
✔ Choose RDP/Serial/SPICE/VNC Console Type |
✔ Select Rescue Image |
✔ Toggle VM Protection After Creation |
✔ Firewall Settings: |
✔ Apply Custom Rules |
✔ Define Inbound/Outbound/Total Firewall Rules Limits |
✔ Configure Client Area Features Per Product |
✔ Execute Custom Scripts On Boot |
✔ Choose Welcome Email For VM Creation |
✔ Generate Configurable Options |
- Client Area Features:
✔ View Server Status And Details |
✔ Start/Stop/Pause/Unpause/Resume/Rebuild Server |
✔ Soft/Hard Reboot Server |
✔ Reset Network |
✔ Rescue/Unrescue Server |
✔ Change Server Protection Status |
✔ Toggle VM Protection From WHMCS Termination And Rebuilding |
✔ Change Password |
✔ Create/Restore/Delete Backups |
✔ Toggle Scheduled Backups And Define Time Interval |
✔ Access RDP, Serial, SPICE, Or VNC Console |
✔ View/Add/Delete Custom Firewall Rules: |
✔ TCP |
✔ UDP |
✔ ICMP |
✔ Other Protocols |
✔ Download Public & Private SSH Keys |
✔ View Volumes Information |
✔ View List Of Scheduled Tasks |
✔ Receive Email Notification After VM Creation |
- Configurable Options:
✔ Flavor |
✔ VM Image |
✔ IP Addresses |
✔ Backups Files Limit |
✔ Disk |
✔ RAM |
✔ VCPUs |
✔ Total Firewall Rules Limit |
✔ Inbound Firewall Rules Limit |
✔ Outbound Firewall Rules Limit |
✔ Region |
✔ Custom Script Files |
- Supported Providers:
✔ Bluvalt |
✔ City Cloud |
✔ CT Cloud Platform |
✔ DS Public |
✔ ELASTX OpenStack |
✔ INAP Bare Metal |
✔ INAP Cloud |
✔ Limestone Networks |
✔ Linaro Developer Cloud |
✔ Open Telekom Cloud |
✔ OVH Public Cloud |
✔ Rackspace Public Cloud |
✔ ScaleUp Cloud |
✔ STC Cloud |
✔ UOS Cloud |
✔ VEXXHOST |
✔ vScaler Public Cloud |
✔ warescale Public Cloud |
- Required Components:
✔ Keystone |
✔ Glance |
✔ Nova |
✔ Neutron |
✔ Gnocchi (Required For Billing) |
- General Info:
✔ Automated Generation Of SSH Keys - Public SSH Key Is Injected To VM Automatically |
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing (read more) |
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products (read more) |
✔ Multi-Language Support |
✔ Supports Cloud-Init Scripts With WHMCS Variables |
✔ Supports OpenStack Victoria and Previous |
✔ Supports OpenStack Gnocchi |
✔ Supports Virtuozzo Hybrid Infrastructure (VHI) |
✔ Supports Limestone Networks Cloud Hosting Solutions |
✔ Supports PHP 7.2 Up To PHP 7.4 |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports WHMCS V8.0 And Later |
✔ Easy Module Upgrade To Open Source Version |
Installation and Configuration
This tutorial will show you how to successfully install and configure Vultr 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. |
File:VT1.png |
2. Extract the package and upload its content into the main WHMCS directory.
The content of the package to upload should look like this. |
![]() |
4. When you install Vultr VPS For WHMCS for the first time you have to rename the 'license_RENAME.php' file. The file is located in 'modules/servers/VultrVps/license_RENAME.php' . Rename it from 'license_RENAME.php' to 'license.php' . |
File:VT3.png |
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file. Enter your license key between quotation marks as presented on the following screen. |
File:VT4.png |
6. The last step is setting up a cron job (every 5 minutes suggested). Use cron job below but switch the 'your_whmcs' with your root WHMCS path. php -q /yourWHMCS/modules/servers/VultrVps/cron/cron.php queue |
Configuration of Server
Before you can go on, you must generate your Vultr API Token. You will need it to connect with the server successfully. Underneath you will find instructions where to find your API details. |
7. Firstly, log into your Vultr account and enter this site: https://my.vultr.com/. |
File:VT7 7 1.png |
8. Move to the 'API' details section under your account. |
File:VT7 7 2.png |
9. Under 'API', find the 'Personal Access Token' section and generate your API Key. You must previously enable API to be able to generate the API key. Copy the key as you will need in the next steps of the server |
File:VT7 7 3.png |
12. Now, log in to your WHMCS and proceed to 'System Settings' → 'Servers' and press 'Add New Server' . |
![]() |
13. Next, enter your server name and select 'Vultr VPS' from the 'Type' field. Now, provide the previously generated API token in the 'Password' field. Then check the connection, if successful, save the changes. |
![]() |
14. It is time to create a server group. To do so, click on 'Create Server Group' . |
![]() |
15. Enter a name, click on your previously created server, press 'Add' and afterward 'Save Changes' . |
![]() |
Configuration of Product
12. In order to create and configure a product, go to 'System settings' → 'Products/Services'. Click on 'Create a New Group' . |
![]() |
13. Enter a product group name and press 'Save Changes'. |
![]() |
14. When you have a product group, you can create your product. To create a product click on 'Create a New Product' . |
![]() |
15. Afterward, choose your product group and type from the dropdown menus, enter your product name and press 'Continue'. 'Product Type' should be set to 'Shared Hosting'. |
![]() |
16. Now, go to the 'Module Settings' section, choose both 'Vultr VPS' and your previously created server group from the dropdown menus. The module should automatically save and reload settings. If not, click on 'Save Changes' manually. |
![]() |
17. Start from defining the 'Configuration' details.
Set one of the below three options: 'Operating System', 'ISO' or 'Snapshot'. Leave the other two as 'Disabled'
Move to setting up the rest of of configuration options:
|
![]() |
18. Next, select features available at the client area. You can also decide which images used to rebuild the server will be available to your customers. |
![]() |
19. At the end of the configuration process, you can decide whether you want to generate configurable options for the product. Configurable options can be used by your clients to select each virtual machine parameters individually during order placement. |
![]() |
If you decide to use configurable options, press on the 'Create' button and select which options you want to generate. Note that the configuration for disabled options will still be taken from the configuration of the main product. More information about how to use configurable options can be found here or in the official WHMCS documentation. |
![]() |
Management
Admin Area
Vultr VPS For WHMCS allows your customers to manage their servers via the client area in your WHMCS system. You can monitor and manage each product from your WHMCS admin area. |
File:VT24.png |
Ordering
Owing to configurable options, you are able to offer a product which your clients can tailor according to their needs. Additionally, you are able to set up pricing for each configurable option, which make your offer even more competitive. |
File:VT25.png |
Importing Existing Instance
In this section, you can find short instruction on how to connect one of your clients to your already existing instance in the Vultr panel. Take the following steps to make sure that the process will be carried out properly. 1. Firstly, manually create an order for your customer in WHMCS. Choose a client and in the summary, view click on the ' Add New Order' button. Next, select a 'Product/Service' and press 'Submit Order' .
The above-mentioned information has to be consistent with the data from your Vultr panel. Now, complete these fields as presented below. |
![]() |
3. If the completed data is correct, after refreshing the page, you will see the attached instance from Vultr. Important! Remember to manually add other missing parameters of the instance such as domains, credentials, IP Addresses, configurable options, etc. so they match the parameters of the attached instance from Vultr panel. |
Client Area
Client area interface of Vultr VPS should look like the one on the screen below. As you can see, the control panel contains useful options needed for managing a virtual machine. The module allows your customers to easily start/stop, reboot or reinstall their servers by pressing the specific button. |
File:VT26.png |
Backups
The first section available for clients grants ability to view the list of existing 'Backups' of your server. Please remember that 'Backups' are assigned to a particular server and will be removed once the server is deleted. Note: There is a limit of maximum two backups per server. Once a new backup is created, the oldest one is automatically removed. |
File:VT31.png |
Clients are also given the opportunity to schedule incoming backup by pressing the 'Schedule Backups' button. Provide a time details to wait until the next backup will be created. |
File:VT32 1.png |
To restore a VPS from backup, simply press the 'Restore' button next to it. If selected backups are no longer needed, you may easily delete them. |
File:VT32 2.png |
Firewall
The firewall management page allows your customers to view, add or delete existing rules on a security group assigned to the product. To add a new firewall rule, use the button marked on the following screen. |
File:VT53.png |
Next, fill out the rule details to create it:
Press 'Confirm' when ready. |
File:VT54.png |
Graphs
Once entering the 'Graphs' section, clients will be moved to the page with the generated graphs showing the 'Bandwidth' usage. |
File:VT 28 0.png |
Rebuild
The rebuild feature allows your clients to change a server image. To reinstall your server, choose an image and confirm through pressing the 'Rebuild' button. |
File:VT28.png |
Snapshots
Creating snapshots allows customers to quickly restore any changes to a virtual machine in case of any problems. Clients can create as many snapshots as they wish, providing that the total size of snapshots does not exceed the limit specified in the product configuration or chosen in the configurable option. Once the shutter has been created, the customer can restore it, change its description or delete it. |
![]() |
After pressing the 'Create Snapshot' button, the new window will pop up along with the possibility to specify the snapshot description. Please note that taking a new snapshot may take a while to process. |
![]() |
Console
One of the most interesting functionality is a VNC console where your clients can remotely manage their servers. To access it, simply click on the 'Console' button. |
File:VT29.png |
VNC is a browser based VNC client. It was implemented using HTML5 Canvas and WebSockets. |
File:VT30.png |
Network Configuration Cases
OpenStack VPS & Cloud For WHMCS allows you to set up two types of network. The first one is a network without a floating IP address. |
File:VT36.png |
The second type of network is the network with a floating IP address. Select 'Shared Network' as 'Fixed Network' and 'Public' as 'Floating Network' . |
File:VT37.png |
Configurable Options
In case that standard configuration does not meet your needs, you can adjust it through configurable options. To do so, go to 'Setup' → 'Products/Services' → 'Configurable Option' and press the edit button next to a configurable option used by your product. |
File:VT38.png |
Here you can view the products that this configurable option group is assigned to. Now we will show you how to edit options. Let's say that you want to add an option to order VPS with 8GB (8192 MB) RAM. |
File:VT39.png |
You will see a popup window, so make sure that your browser will not block it. To add a new option, enter it in a textbox under all other options. If you want to replace it with an option you currently have, simply edit its text box. |
File:VT40.png |
Please remember that names of 'Options' for configurable options such as 'Flavor' , 'Network' as well as 'Image' should NOT be modified in WHMCS. These names should remain the same as in your OpenStack panel. |
File:VT40 1.png |
Management of Billing
When you combine OpenStack VPS & Cloud For WHMCS with Advanced Billing For WHMCS, you will be able to set up additional billing options. Module allows you to charge your customers based on the server resources used by them. |
File:VT42.png |
With Advanced Billing module, you can also display your customers the current server resource usage, their cost, usage history and charts. |
File:VT43.png |
Tips
1. Due to some requests may take time to be completed, we implemented 'Scheduled Tasks' . Tasks visible at 'Scheduled Tasks' are subsequently performed by a cron job. |
2. Important: module has to use admin endpoints instead of public endpoints. In a properly configured OpenStack server, wget from WHMCS server should be able to get any data from any admin endpoint. wget openstack:9292 --2014-03-31 09:35:24-- http://openstack:9292/ Resolving openstack(openstack)... 192.168.1.222 Connecting to openstack(openstack)|192.168.1.222|:9292... connected. HTTP request sent, awaiting response... 300 Multiple Choices Length: 520 [application/json] Saving to: `index.html' 100%[==========================================================>] 520 --.-K/s in 0s 2014-03-31 09:35:24 (118 MB/s) - `index.html' saved [520/520]
wget openstack:8777 --2014-03-31 09:41:05-- http://openstack:8777/ Resolving openstack(openstack)... 192.168.1.222 Connecting to openstack(openstack)|192.168.1.222|:8777... connected. HTTP request sent, awaiting response... 401 Unauthorized Authorization failed. |
3. A primary IP address is always assigned by the OpenStack server when a VM is created. Therefore, if you decide to order 2 IP addresses, then 3 addresses will be assigned. The primary one and the two additionally ordered. If you wish only one IP address to be assigned to a single product, please set the filed 'Default Number Of IP Addresses' to '0' or leave it empty in the product's 'Module Settings'. |
4. 'Scheduled Backups' functionality is available also for VPS using volumens since 2.0.0 module version and later. |
Update Instructions
An essential guidance through the process of updating the module is offered here. When you upgrade the module from the version older than 1.8.1 to 1.8.1 or newer, please remember to update the new server's hostname to the new address format, as described in step 8. of the configuration of server guide. Keep in mind that there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price! |
To upgrade OpenStack VPS & Cloud from v1.X.X to v2.X.X correctly, please follow these steps:
yourWHMCS/includes/OpenStack yourWHMCS/modules/servers/OpenStackVPS
yourWHMCS/includes/hooks
Important! Please remember to reissue the license in the client area after uploading new files to the main WHMCS directory.
php -q /yourWHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php migration:v1_v2
php -q /yourWHMCS/modules/servers/OpenStackVpsCloud/cron/cron.php queue
|
Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. In case of persisting connection problems, please make sure you have the following ports open:
8774, 35357, 9292, 5000, 8777, 9696, 8776 |
3. If you come across an error with downloading endpoints during the server configuration process, please save the incomplete configuration, refresh a page and then try to finish your server configuration again. |
4. In case you encounter any issues with the cloud-int script or it seems not to be working please follow the below steps:
cloud-init --debug init |
5. If you come across the "This flavor - flavor_name_or_id - is not available in the region region_name." error when creating a VM, you should refresh the server configuration page and update Configurable Options. If this error is still occurring, please make sure that you have the same flavor names set for all regions. |