SolusVM Extended VPS For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search

Contents

About SolusVM Extended VPS For WHMCS

SolusVM Extended VPS For WHMCS allows you to automatically provision virtual servers to your clients.

Owing to a well-thought module configuration, you will be able to quickly and capably set up ready products in WHMCS and offer them to your customers.
The module lets your clients conveniently manage virtual servers from your own WHMCS client area. Everything in an easy and enjoyable way.

  • 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
✔ Rebuild Server
✔ Change Password: Root, Client, SSH Console, VNC Console
✔ Mount/Unmount ISO
✔ Change Boot Order
✔ View Server Status
✔ View Graphs: Traffic, Load, Memory
✔ Define Product Resource:
✔ Dynamically - Using Configurable Options
✔ Statically - Using 'Module Settings' Fields
✔ Configure Client Area Features Per Product
✔ Define OS Templates Available For Rebuild
✔ 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
✔ Run API Connection Test
  • Client Area Features:
✔ 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
✔ Change Passwords: Root, Client, SSH Console And VNC Console
✔ Change Hostname
✔ Mount/Unmount ISO
✔ Change Boot Order
✔ View Server Status
✔ 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
  • General Info:
✔ Supports OpenVZ, Xen and KVM Virtualization
✔ Integrated With DNS Manager For WHMCS - Supports PowerDNS (read more)
✔ Integrated With Advanced Billing For WHMCS - Server Resource Usage Billing (read more)
✔ Integrated With IP Manager For WHMCS - Complete Management of IP Pools (read more)
✔ Multi-Language Support
✔ Supports PHP 5.4 Up To PHP 7
✔ Supports WHMCS Templates Five and Six
✔ Supports WHMCS V6 and V7
  • Available Configurable Options:
✔ Operating System
✔ Memory
✔ Disk Space
✔ Bandwidth
✔ CPU
✔ Extra IP Address
✔ Control Panel
✔ Location
✔ ISO Image

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 your client area and download the module.
SV1.png
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 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.
It does not apply to open source versions.

Note: You can check current PHP version in your WHMCS. To do so proceed to 'Utilities' → 'System' → 'PHP Info'.

SV2.png
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 PHP version files 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'.

SV3.png
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 your client area → 'My Products'.

SV4.png

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'.

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

Configuration of Server

8. Now, log in to your WHMCS admin area and proceed to 'Setup' → 'Products/Services' → 'Servers'.

Afterwards, press 'Add New Server'.

SV7.png
9. Enter your server name and IP address.
  • Username - fill in with API User ID
  • Password - fill in with API User Key

Choose 'SolusvmExtendedVPS' from a dropdown menu and press 'Save Changes'.

SV8.png
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'.

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

Confirm by clicking on 'Save Changes'.

SV10.png

Configuration of Product

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

Afterwards, click on 'Create a New Group'.

SV11.png
13. Fill in a product group name and press 'Save Changes'.
SV12.png
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'.

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

Afterwards, press 'Save Changes'.

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

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

SV16.png
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!

SV17.png
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!

Management

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.

Interface

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.

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

Management of Server

Module allows your customers to easily manage your server: boot, reboot, shutdown and access SSH/VNC/HTML5 console.
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.

SV21.png
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.

SV22.png

VNC Console

The module also enables remote access to VNC console.

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

SV23.png

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.

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

SV23 2.png

Rebuild

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.

SV24.png

Graphs

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

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'.

SV30.png
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}.
SV31.png

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'.

SV34.png
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 'myhostname.com';' inside of it.
It should look like on the screen below:

SV35.png

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.
SV32.png
The module allows you to charge your customers basing on the server resources they use.
SV33.png
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

Update of Products

Our module is entirely compatible with SolusVM Pro module and you can easily upgrade your existing products without losing your settings.

1. Go to 'Setup' → 'Products/Services' → 'Products/Services' → 'Module Settings' of your product and switch 'Module Name' from 'Solusvmpro' to 'SolusvmExtendedVPS'.
2. Proceed to 'Setup' → 'Products/Services' → 'Servers' and switch your server type from 'Solusvmpro' to 'SolusvmExtendedVPS'.
3. Now, click 'Setup' 'Products/Services' '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!

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.

SV36.png
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.

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

Tips

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.

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: 'yourhostname.com:5656' . 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.

Personal tools
Namespaces

Variants
Actions
Navigation
WHMCS Modules
cPanel Modules
Magento Extensions
Magento Themes
PrestaShop Modules
Blesta Extensions
General
Social
SolusVM Extended VPS For WHMCS