WHMCS Module V1

From Virtualizor Wiki
Jump to: navigation, search


Softaculous Virtualizor supports the remote creation of Virtual Machines / VPS. WHMCS can be configured to create the VPS as soon as you accept the Order (Automatically or Manually). We provide a module for WHMCS to enable you to do so. Setting it up is really easy. You can create, delete, suspend a VPS with this module.


Download the Virtualizor WHMCS module from HERE. (Last updated : 27th July,2015)
Unzip it and upload the folder virtualizor (the folder itself), in your /path/to/whmcs/modules/servers/ Directory.
Please make sure that the upload was done properly and the following folder exists :


Virtualizor uses ports from 4081 - 4085. If there is any firewall restricting this, you will need to allow these ports.


Feature Screenshot
VPS Information View in WHMCS Client Panel Vpsinformation.gif
VPS information View in WHMCS Admin Panel Admininformation.gif
Bandwidth Graph in Enduser Panel Bandwidthgraph.gif
Complete VPS Management from WHMCS Client Area Vpsmanagement.gif

Servers Key

Virtualizor generates a Unique Key and Key Pass when its installed on the server. You will need the servers Key and Key Pass to add the server to WHMCS. This information can be found from the Virtualizor Admin Panel -> Configuration -> Server Info

WHMCS Server Info.png

Adding Server to WHMCS

To add the Virtualizor Server to WHMCS login to WHMCS Admin Panel Then go to WHMCS Admin Panel -> Setup -> Servers -> Add New Server Fill the form as shown in the below images :

WHMCS Add Server1.gif

WHMCS Add Server2.gif

WHMCS Add Server3.gif

Creating a Product

Now, you will need to create a product.


To do so go to WHMCS Admin Panel -> Setup -> Products/Services -> Create a New Product Fill in the details as per the following image and specify the Products Name of your choice

WHMCS Create Product.gif

Module Settings

Now proceed to the Module Settings. Click on the Module Settings Tab and choose the Module Name Virtualizor. A list of fields will load which will be the settings for the new product. A sample configuration is shown in the below image.


The fields are self explanatory, but the following is a detailed explanation :

  • Type : The Virtualization type of the server you added.
  • Disk Space : The amount of disk space that the VPS will be allowed to use.
  • Inodes : This is for OpenVZ VPS only. The number of inodes for the new VPS.
  • Guaranteed RAM : The amount of RAM to be allocated to the VPS
  • Burstable RAM : The amount of Burstable RAM allowed to the VPS in MBs. This is only for OpenVZ
  • SWAP RAM : Swap Ram for the VPS. This is for Xen and KVM VPSs
  • Bandwidth : The allowed bandwidth to the VPS in GBs
  • CPU Units : Amount of CPU allowed to the VPS (Weightage). It varies as per the Virtualization type. OpenVZ Recommended Value : 1000, Xen Recommended Value : 256
  • CPU Cores : Number of CPU Cores
  • CPU % : This is also just for OpenVZ. The MAX CPU in % allowed to the VPS.
  • I/0 Priority : Just for OpenVZ. Ranges from 0-7
  • VNC : Whether to enable VNC or not for the VPS. Applies to Xen and KVM
  • IPs : The number of IPs to be allocated to this VPS. Please remember to create the IP Pool on the server.
  • Network Speed : This is in Kilo Bytes. Maximum allowed network speed for the VPS.
  • Slave Server : Name of the Slave server that the VPS must be created on. You can also specify auto as the name of the Slave server. If you specify auto then the WHMCS module will AUTO select the server based on the Virtualization tecnology. But please take note that when you set auto as the name of the server the Master server will be excluded from the list of available servers.
  • Server Group : You can create a server group in your Virtualizor Master and specify the group in the WHMCS Module. The VPS will be created as per the Server Groups Server Selection Method.
  • IPv6 : The number of IPv6 Addresses to be allocated to this VPS. Please remember to create the IP Pool on the server.
  • IPv6 Subnet : The number of IPv6 Subnets to be allocated to this VPS. Please remember to create the IP Pool on the server.
  • Internal IP address :The number of internal IPs to be allocated to this VPS. Please remember to create the IP Pool on the server with the Internal IP Range option checked.

Custom Fields

Now Click on the Custom Fields Tab and fill in the form as per the following image


Just for your information the vpsid is the VPS ID as per the Virtualizor Database and needs to be stored for any future action like Terminate, Suspend, etc. Please fill it as per the above Image.

The OS field is the List of Operating System Templates on your server. Virtualizor provides templates to its users. Its a COMMA seperated value. This will allow the USER to choose the OS when he is signing up for the VPS. Also the list should be the names as listed in the Virtualizor Admin Panel -> Media -> OS Templates. Again, use the Name and not Filename as seen in the Virtualizor Admin.

The ISO field is to display list of ISO images to your clients. This field will allow users to choose the ISO image while signing up for any plan.

The node_ram_select field is an optional field. This field is useful when you want to choose servers (where your VPSs are going to be created) based on FREE RAM among your servers.

NOTE : Please add 'none' value when you add ISO and OS field. (Please refer the screenshot above)

NOTE : ISO option is not supported for OpenVZ and XEN-PV VPS.

Configurable Options [OPTIONAL]

You can add the Configurable Options as per your requirements or exclude one or more of the options below if you do not need it.

NOTE : The order of preference for selection of Configurable Options is first i.e. If a Product/Service has (lets say) Ram defined as 512 MB and you have also created a Configurable Option with variable Ram options, then the users chosen Ram value from configurable options will be used and not the ram value in Product/Service.

Following are the Configurable Options available in Virtualizor WHMCS module.

  • Number of IPs
  • Number of IPv6 Address
  • Space
  • RAM
  • Bandwidth
  • CPU Cores
  • Network Speed
  • CPU Percent
  • Operating System
  • Control Panel
  • Server - Slave Server's Name in Virtualizor. Set the same values as you would with the Slave Server described in Module Settings
  • Region - Server Groups Name in Virtualizor. Set the same values as you would with the Server Group described in Module Settings

Other Advance Configurable Options

  • virtio
  • nic_type
  • vif_type
  • osreinstall_limit
  • kvm_cache
  • io_mode
  • iso - ISO
  • sec_iso - Secondary ISO
  • mgs - Media Groups (NOTE : Put ID of the Media Group for this configurable option.
    You can get it from Virtualizor Admin panel-> Media -> Media Groups )
  • stid - Storage to use

To add, go to WHMCS Admin Panel -> Setup -> Products/Services -> Configurable Options. Then click on Create a new Group


Now, click on the Add New Configurable Option button. A new window will open.

Number of IPs

Add a configurable option for Number of IPs as below:


Add a configurable option for Space (It will be in GIGABYTES e.g 10 = 10GB) as below:


Add a configurable option for RAM (It will be in MEGABYTES e.g. 512 = 512MB) as below:


Add a configurable option for Bandwidth (It will be in GIGABYTES e.g. 10 = 10GB) as below:

CPU Cores

Add a configurable option for CPU Cores as below:

Network Speed

Add a configurable option for Network Speed (It will be in KILOBYTES e.g. 128 = 128KB/s) as below:

CPU Percent

Add a configurable option for CPU Percent as below:

Operating System

Add a configurable option for Operating System as below:

Storage Type

Add a configurable option for stid as below:


Add a configurable option for Virtio as below:

Virtual Network Interface Type

Similarly, add a configurable option for the Virtual Network Interface Type as below:
Configoptions-nic type.gif

Virtual Network Interface Emulation Type

Similarly, add a configurable option for the Virtual Network Interface Emulation Type as below:
Configoptions-vif type.gif

OS Re-Install Limit

Similarly, add a configurable option for the OS Re-Install Limit as below:

KVM Cache

Similarly, add a configurable option for the KVM Cache as below:
Configoptions-kvm cache.gif

I/O Policy

Similarly, add a configurable option for the I/O Policy as below:
Configoptions-io mode.gif

VNC Console Keymap

Similarly, add a configurable option for the VNC Console Keymap as below:

BuycPanel Licensing

Control Panel Configurable option for BuycPanel licensing :
Screenshot controlPanel.jpg

You can assign cPanel installation for your Virtualizor VPS. The above option allows you to display a dropdown of control panel list which can be selected by the user and the license will be automatically activated by BuycPanel.
NOTE : You must enter the BuycPanel Login and API Key in virtualizor_conf.php file.

Control Panel

Control Panel as an individual Configurable Option :

The above will just have the control panel installed in the newly created VPS. It will not license the Control Panel. Please do not confuse with the BuycPanel option described above.

Custom Code Integration

If you want to add your custom code as a hook to execute after order processing, you can do it by putting your code custom.php. You have to put your code in virtualizor module directory (i.e. /path/to/whmcs/modules/servers/virtualizor/custom.php)
While handling the error please use the variable $custom_error

Disable Enduser Operations

Admin can disable some of the options related to Virtualizor Client operations from WHMCS Enduser panel.

  • Change Hostname
  • Backup/Restore
  • OS Reinstall
  • Control Panel Install

You need to do manual changes in Configuration file to disable the settings, Please open the configuration file "virtualizor_conf.php" provided with the module and change the values of respective fields. (See "Enable/Disable Display Enduser Operations" Section)

Email Templates

The following email template can be used in WHMCS to send details of the newly created VM :

Dear {$client_name},

We are glad to inform you that the virtual machine you ordered has been set up.

Manager Details
URL: https://your.master.domain.com:4083
Username: {$service_username}
Password: {$service_password}

Server Details
Hostname: {$service_domain}
Main IP: {$service_dedicated_ip} 
Root Password: {$service_password}
{if $service_assigned_ips}
IP Address Allotted:

You can access your server over SSH. 
If you are a Windows user, you can use a free SSH client called Putty which can be downloaded from :


Firewall Port

Please make sure, that the whmcs server , master server and the slave servers have ports 4082,4083,4084 and 4085 opened.


If you need any assistance then please contact Softaculous Virtualizor Support. Please send us a screenshot of the Module Settings and the Custom Fields you added to the Product.