Personal tools


SolusVM Extended VPS For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search


About SolusVM Extended VPS For WHMCS

SolusVM Extended VPS For WHMCS will allow you to automatically provision and manage virtual servers in your WHMCS.

You will be able to set up ready products in your system through the use of various configurable options.
Your clients will be able to perform all crucial actions on their servers remotely, access different consoles, view graphs and more.

  • Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate Server
✔ Create User Account
✔ Change Package - Supports Configurable Options
✔ Change Password Of Account
✔ Boot/Reboot/Shutdown Server
✔ Toggle TUN/TAP And PAE
✔ Reconfigure Network
✔ Rebuild Server
✔ Change Password: Root, Client, SSH Console, VNC Console
✔ Mount/Unmount ISO
✔ Change Boot Order
✔ View Server Status
✔ View Graphs: Traffic, Load, Memory
✔ Change IP Addresses
✔ Define Product Resource:
✔ Dynamically - Using Configurable Options
✔ Statically - Using 'Module Settings' Fields
✔ Configure Client Area Features Per Product
✔ Define OS Templates Available For Rebuild
✔ Allow To Rebuild Server On Purchased OS Only
✔ Set Rebuild Limit
✔ Select Kernels For Rescue Mode
✔ Configure Friendly Names For OS Templates And Nodes
✔ Create New SolusVM User For Each VPS Ordered By Client
✔ Toggle Root Password Storing In System Database
✔ Toggle Root Password Change After Server Creation
✔ View Decoded Server Password
✔ Run API Connection Test
  • Client Area Features:
✔ View Server Details And Status
✔ Boot/Reboot/Shutdown/Rebuild/Delete Server
✔ Access SSH Console - OpenVZ And Xen Only
✔ Access VNC Console - KVM And Xen HVM Only
✔ Access NoVNC HTML5 Console - KVM And Xen HVM Only
✔ Access HTML5 Serial Console - OpenVZ And Xen Only
✔ Log In To Control Panel
✔ Toggle TUN/TAP And PAE
✔ Toggle PXE (Preboot Execution Environment)
✔ Toggle Rescue Mode With Chosen Kernel
✔ Reconfigure Network
✔ Change Passwords: Root, Client, SSH Console And VNC Console
✔ Change Hostname
✔ Change IP Addresses
✔ Mount/Unmount ISO
✔ Change Boot Order
✔ View Graphs: Traffic, Load, Memory
✔ Send Email Templates After Creation Of Server Based On Its Type
✔ Choose Server Resources While Ordering And Upgrade/Downgrade Them Freely
✔ Choose SolusVM Username When Ordering New Product
  • Configurable Options:
✔ Operating System
✔ Memory
✔ Disk Space
✔ Secondary Disk Size
✔ Bandwidth
✔ Extra IPv4 Address
✔ Control Panel
✔ Location
✔ ISO Image
✔ Network Speed
✔ Rebuild Limit
  • General Info:
✔ Supports OpenVZ, Xen And KVM Virtualization
✔ Integrated With DNS Manager For WHMCS - Supports PowerDNS (read more)
✔ Integrated With Advanced Billing For WHMCS - Actual Server Resource Usage Billing (read more)
✔ Integrated With IP Manager For WHMCS - Complete Management of IP Pools (read more)
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products (read more)
✔ Multi-Language Support
✔ Supports SolusVM 1.0 (Compatibility With SolusVM 2 Coming Soon)
✔ Supports PHP 8.1 Back To PHP 7.4
✔ Supports WHMCS Themes "Six" And "Twenty-One"
✔ Supports WHMCS V8.8 Back To WHMCS V8.6
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version

Installation and Configuration

In this tutorial we will show you how to successfully install SolusVM Extended VPS For WHMCS.

We will guide you step by step through the whole installation and configuration process.

1. Log in to our client area and download the module.
2. In the downloaded file you might find one or two packages that support different PHP versions.

In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later.

PHP72 74.png
Previous updates of the module may contain two packages dedicated to various PHP versions.

The first one that supports PHP 5.6 up to PHP 7.1, and the second one addressed to PHP 7.2 up to PHP 7.4.
Note: Keep in mind that PHP versions 5.6 up to 7.1 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.

PHP56 74.png
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
3. Extract the package and upload its content into the main WHMCS directory.

The content of the package to upload should look like this.

SV2 1.png
4. When you install SolusVM Extended VPS For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/servers/solusvmExtendedVPS/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

5. In order to configure your license key, you have to edit a previously renamed 'license.php' file.

Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'.


Configuration of API Access

6. Now, we will show you how to configure a new product.

Firstly, log in to your SolusVM admin area, go to 'Configuration' → 'API Access' and press 'Add API User'.

7. Fill in your IP address and once again click on 'Add API User' button.

Configuration of Server

8. Now, log in to your WHMCS admin area and proceed to 'System Settings' → 'Servers'.

Afterwards, press 'Add New Server'.

9. Enter your server name and IP address.

Choose 'SolusvmExtendedVPS' from a dropdown menu and provide:

  • Username - fill in with API User ID
  • Password - fill in with API User Key

Check if your server use SSL connection and optionally provide a custom port (by defualt the '5656' is used).
Press 'Save Changes' when ready.

10. After configuring your server correctly, you are going to see the following screen.

Test your connection and API key through pressing 'Test Connection'.
Now, you need to create a new group for your server. For that purpose press 'Create New Group'.

11. Fill in name, choose a previously created server and press 'Add'.

Confirm by clicking on 'Save Changes'.


Configuration of Product

12. In order to create and configure product, go to 'System Settings' → 'Products/Services'.

Afterwards, click on 'Create a New Group'.

13. Fill in a product group name and press 'Save Changes'.
14. When you have a product group, you can create your product and assign it to SolusVM Extended VPS.

To create a product click on 'Create a New Product'.

15. Afterwards, choose your product type and product group from dropdown menus, fill in your product name and press 'Continue'.
16. Now, go to 'Module Settings' section, choose both 'SolusvmExtendedVPS' and a previously created server group from dropdown menus.

Afterwards, press 'Save Changes'.

17. Start configuration of a product with 'Product Configuration' section.

Select desired 'Virtualization Type' and press 'Save Changes' in order to load the virtualization.

18. Now, choose 'Default Node', 'Plan', 'Default Operating System', 'Number of IPs' and 'Default Node Group'.

Note: default data will be used if no configurable options are generated!

19. Define features available in the client area through marking/unmarking them under 'Client Area Features' section.

Important: Keep in mind that the root password is generated automatically for KVM virtualization upon its creation and reset.
There is no possibility to set your own password due to SolusVM API limitations to KVM virtualization.

SV17 1.png
20. At the very bottom you may change available nodes names to any friendly name.
SV17 2.png
21. The final step is generating default configurable options.

To do so, press 'Generate Default' near 'Configurable Options' as shown on the screen below.
Any time you wish to refresh the list of your OS Templates and ISO Images press 'Synchronize' button marked on the following screen with a red arrow.
Note 1: You can set up user friendly names for the templates through editing configurable option group assigned to the product.
Note 2: If you remove OS template or ISO image from the configurable option, it will be restored during synchronization.

SV17 3.png
You have just finished the installation and configuration of the module!


SolusVM Extended VPS For WHMCS offers very intuitive management of virtual servers both for your admins and clients.

In addition, it provides you with the ability to offer your clients VPS tailored to their needs.
Owing to the integration with Advanced Billing For WHMCS you can even offer a product, which client will be billed for depending on its usage.


Now let's check the interface of the module in your WHMCS client area. As you can see, everything your customers need is in one place.

Note: List of available features depends on the selected virtualization.
Due to that, you have to manually disable features from the client area which are not supported by the selected virtualization.

You can monitor and manage each product from your WHMCS admin area.

Management of Server

Module allows your customers to easily manage your server: boot, reboot, shutdown, access SSH/VNC/HTML5 console, enable/disable PAE and PXE or reconfigure network.
Additionally, you can log into control panel, rebuild servers and view usage graphs.

In addition to that, your clients can change hostname and root password.
Depending on the chosen virtualization type and selected in 'Module Settings' options, module allows your customers to mount/unmount ISO and enable/disable TUN/TAP.
Important: Keep in mind that the root password is generated automatically for KVM virtualization upon its creation and reset.
There is no possibility to set your own password due to SolusVM API limitations to KVM virtualization.

As you can see on the following screen, a VPS of KVM type is different than OpenVZ type.

The most noticeable difference is noVNC Console near Console button.

SV21 1.png

SSH Console

It's one of the most interesting functionalities is SSH console, where your clients can remotely manage the server. To access it, simply press 'Console' button.

Note: This type of console is available only for OpenVZ & Xen virtualization.


VNC Console

The module also enables remote access to VNC console.

Note: VNC console is used by KVM and Xen HVM virtualization.


HTML5 noVNC Console

The module also enables usage of HTML5 noVNC console.

Note: noVNC console is used by KVM and Xen HVM virtualization.

SV23 1.png

HTML 5 Serial Console

And the last supported console is HTML 5 serial console.

Please be informed that the installation of some dependencies is mandatory within your SoulsVM instance, in order to use the console.
Here is the official SoulsVM documentation regarding the installation of dependencies.

Note: HTML 5 Serial Console is used by OpenVZ and Xen virtualization.

SV23 2.png


Rebuild feature allows you to change OS template from available OS templates list.

To rebuild your server click on 'Rebuild' button, choose template and confirm by pressing 'Rebuild' button.



Move to 'Graphs' section. You will find there visualizations of your current 'Network Traffic', 'Load Average' and 'Memory Usage'.

Tracking your VPS usage you avoid sudden and unexpected overload.

SV21 2.png

Rescue Mode (KVM Only)

One of the options available is Rescue Mode that may be turned on/off by the client. It allows to boot the server directly into the rescue mode.

Press to enable this functionality.

SV21 3.png
A pop up window appears, select a kernel from the list of available and enable it. SSH details will be viewed immediately.
SV21 4.png

Management of Email Templates

You can automatically send your customers emails with details of newly created virtual servers.

To do so, create a new email template with 'Product' type and 'Unique Name' specified in SolusVM Documentation, in our case it is 'KVM Virtual Server'.
Usage of unique names other than specified in the above documentation makes it impossible to send emails.
Note: The only supported email template unique names are: 'OpenVZ Virtual Server', 'Xen PV Virtual Server', 'Xen HVM' and 'KVM Virtual Server'.

You can paste the email content from SolusVM Documentation or create your own. Owing to our module, you can also use variables:
  • {$service_custom_field_rootpassword}
  • {$service_custom_field_vncip}
  • {$service_custom_field_vncport}
  • {$service_custom_field_vncpassword}.

Management of Custom Hooks

Our module allows you to use custom hooks. All you need is knowledge of PHP programming language.

Possible hooks are:

  • solusvmExtendedVPS_customclientarea($params)
  • solusvmExtendedVPS_hostname($params)
  • solusvmExtendedVPS_username($params)
  • solusvmExtendedVPS_AdminLink($params)
  • solusvmExtendedVPS_create_one($params)
  • solusvmExtendedVPS_create_two($params)
  • solusvmExtendedVPS_create_three($params)
  • solusvmExtendedVPS_create_four($params)
  • solusvmExtendedVPS_create_five($params)
  • solusvmExtendedVPS_terminate_pre($params)
  • solusvmExtendedVPS_terminate_post_success($params)
  • solusvmExtendedVPS_terminate_post_error($params)
  • solusvmExtendedVPS_suspend_pre($params)
  • solusvmExtendedVPS_suspend_post_success($params)
  • solusvmExtendedVPS_suspend_post_error($params)
  • solusvmExtendedVPS_unsuspend_pre($params)
  • solusvmExtendedVPS_unsuspend_post_success($params)
  • solusvmExtendedVPS_unsuspend_post_error($params)
  • solusvmExtendedVPS_changepackage_pre($params)
  • solusvmExtendedVPS_changepackage_post_success($params)
  • solusvmExtendedVPS_changepackage_post_error($params)

To enable these hooks, you have to rename file 'custom-rename.php' to 'custom.php'.

Now your hooks are active, but since they are empty they do nothing. To find hooks' details, read a previously edited file.

In the mentioned file you are going to find the hook, information about its time of run, returned values and parameters.
For example, if you have no domains but want to have hostname, you should set default value for hostname.
To do so, find hook 'solusvmExtendedVPS_hostname($params)' and type 'return '';' inside of it.
It should look like on the screen below:


Dynamic Server Resources Setup With Configurable Options

If you wish to allow your clients to order servers with resources they choose, use configurable option group.

To generate a configurable option group for a product, head to the 19th step of 'Configuration of Product' instruction.
The final result visible in the order form should be similar to the one presented on the following screen.
Note: Field 'Username' appears only during ordering the first SolusVM VPS by client.
In order to show that field, unmark 'One SolusVM User Per VPS For The Same Client' and mark 'Username When Ordering' checkbox.

SV35 1.png
If automatically generated configurable options do not fulfill your clients' needs, you can edit them using this guide.
SV35 2.png
If you decide to set up pricing depending on the ordered resource, you can find instruction on how to proceed here.
SV35 3.png
If you prefer to charge your clients for server resources they actually use, you can use our Advanced Billing For WHMCS module.

Management of DNS

When you combine SolusVM Extended VPS For WHMCS with DNS Manager For WHMCS, your clients will be able to manage PowerDNS zones and records from the client area.

DNS Manager For WHMCS will allow your customers to manage DNS zones, records and ReverseDNS.
Important: SolusVM Extended VPS For WHMCS is compatible with DNS Manager For WHMCS V2.x.x.

To connect both modules, go to 'Settings' → 'Packages' section of DNS Manager and add a new package.
SV2 26.png
Name the package and provide any details you find useful. Then proceed to 'Item' section.
SV2 27 1.png
Select SolusVM Extended VPS from the list of products and click on 'Add' .
SV2 27.png
Your package should now appear on the list. To change its status click on the button as shown below.
SV2 28.png
Once done, you will see a proper note.
SV2 29.png
Afterwards, buttons 'Manage DNS' and 'Manage Reverse DNS' will appear in the client area as shown on the screen below.
SV2 30.png
You can find 'Manage DNS' option also in the left menu.
SV2 30 1.png
Depending on previously chosen settings, your customers will be able to add and remove DNS zones.
SV2 31.png

Management of Billing

When you combine SolusVM Extended 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 they use.
With Advanced Billing module, you can also display the current server resource usage and their cost, as well as other allowed in Advanced Billing options that are on offer.
SV34 1.png

Debug Mode

SolusVM Extended VPS is a very complex module. Therefore many things might go wrong.

To help you quickly solve various problems usually connected with WHMCS product/server configuration and SolusVM server configuration, we created 'Debug Mode'.
To enable it, go to 'Module Settings' of your product and tick 'Debug Mode' as shown on the screen below.

Afterwards, go to 'Utilities' → 'Logs' → 'Module Log' and click on 'Enable Debug Logging' in order to enable it.

Now, each action performed by the module will be recorded in the module log.
In that way, you can easily check whether the module correctly fetches the information about virtual servers, nodes, templates, plans etc.
If not, it will indicate a problem with WHMCS product/server configuration or your SolusVM server.
The following screen presents an exemplary module log.

Remember to turn off Debug Mode after you fix the problem.

Importing Existing VPS

In this section, you can find short instruction on how to connect one of your clients to your already existing VPS in Solus 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' .
What is important, do not perform the 'Create' action. The status has to remain as 'Pending' .
More info about placing orders can be found here
2. Proceed to the newly created product's card in your admin area. Find the following custom fields:

  • vserverid
  • nodeid

The above-mentioned information has to be consistent with the data from your Solus panel. Now, complete these fields as presented below.
Important! Remember to make sure that the format of the provided data is compatible with the format supported by the module. You can preview it for another product of the module you have already created and enter it in a similar way.
If you completed the required data, now change the status from 'Pending' to 'Active' and 'Save Changes' .

Photo solus.png
3. If the completed data is correct, after refreshing the page, you will see the attached VPS from Solus.
Important! Remember to manually add other missing parameters of the VPS such as domains, credentials, IP Addresses, configurable options, SSH Key, billing cycle, etc. so they match the parameters of the attached VPS from Solus.


1. We made every effort to make our module as easy to install, configure and use, as possible. Therefore, we paid special attention to displayed messages.

Read each message carefully, follow the instructions and you shall have no problems using the module.

2. Operations performed on the virtual servers are not executed immediately. Give your SolusVM server some time to process the request and execute the operation.
3. In the current version of SolusVM API there is no possibility to automatically upgrade Virtual Machine, therefore you have to perform this action manually.

Upgrading package in the SolusVM VPS Extended module means upgrading Solus Plan.

4. As this module supports templates system, any changes made in the module's templates files will be saved after the upgrade process.
5. If you want a random hostname to be generated, enable the 'Random Hostname' option in the 'Admin Area Features' of the module settings.

Update Instructions

Essential guidance through the process of updating the module is offered here.

Keep in mind there is a quick and easy option in our client area that will let you upgrade the license of your module to an open source version at any time - and at a lower price!
To take advantage of it, simply use the License Upgrade button located on the product's page and a discounted invoice will be generated automatically.

Update of Products

Our module is entirely compatible with SolusVM WHMCS Module (previously known as "SolusVM Pro") and you can easily upgrade your existing products without losing your settings.

1. Go to 'System Settings' → 'Products/Services' → 'Module Settings' of your product and switch 'Module Name' from 'Solusvmpro' to 'SolusvmExtendedVPS'.
2. Proceed to 'System Settings' → 'Servers' and switch your server type from 'Solusvmpro' to 'SolusvmExtendedVPS'.
3. Now, click 'System Settings' 'Products/Services' 'Module Settings' of your product and make sure that 'Server Group' is set up correctly.
4. The last step is generating default configurable options and custom fields through clicking on 'Generate default' button.
Your SolusVM Extended VPS product is ready to use!

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. The vast majority of problems are connected with misconfigured SolusVM server or misconfigured servers/products in your WHMCS.

Firstly, make sure that your SolusVM server has properly configured virtual servers, nodes, node groups, templates, plans and API access.
In most cases, appropriate SolusVM server configuration guarantees correct operation of the module.
Afterwards, check your WHMCS server connection and products settings. If you are certain that everything is correct, use our Debug Mode.

3. Your client gets white page with '{"success":"1","status":"1"}' while entering 'Control Panel' .

Cause: SolusVM client area template is based on Bootstrap, which may sometimes cause such errors.
Solution: Switch template used by SolusVM client area.

4. You have received the following error:
Error 'Fatal error: Call to undefined function mime_content_type() in 
/your_whmcs/clients/modules/servers/solusvmExtendedVPS/solusvmExtendedVPS.php on line 0 '.

Reason: Function 'mime_content_type()' is disabled at your server. Our module uses it in order to detect MIME Content-type for a file.
Solution: Enable function mime_content_type() in your PHP or ask your server provider to do so.

5. By default our module connects with SolusVM server on port 5353. If you are using different port, you need to specify it in 'Hostname' field.

Default port for SSL connections is 5656. To connect on that port enter your hostname as follows: '' . Keep in mind that you can connect on any port.
Field below 'Tick to use SSL Mode for Connections' switches connection type between http and https. Note that this is something different from choosing the port to connect.

WHMCS Modules
WHMCS Widgets
cPanel Modules
SolusVM Extended VPS For WHMCS