CloudLinux WHMCS Plugin
Overview
CloudLinux Licenses For WHMCS allows you to automatically provision CloudLinux, Imunify360, and KernelCare licenses along with selected products. You can provision them for free or as a paid add-on to your product. Owing to CloudLinux Licenses add-on, all module commands on your main product are automatically reproduced on the license product.
Admin Area Functionality
- Create license
- Terminate license
- Suspend/Unsuspend license (only IP-based licenses)
- Change license IP address
- View license details
Client Area Functionality
- View license details
- Change license IP address
Addon Functionality
- Manage relations between addon and license product
- Manage relations between server and license product
- Manage relations between configurable options and license product
- Automatically add license product to order when relation is triggered
- View existing license
- Dependencies between module actions – every action: Create, Terminate, Suspend or Unsuspend called on the server product will result with the same action performed on the licensed products
- Flexible filtering of existing licenses
Additionally
- Multi-Language Support – only provisioning module
- Supports CloudLinux, KernelCare and Imunify360 Licenses (does not support CloudLinux Pro licenses, it should be supported soon in 2023)
- Supports WHMCS V6 and later
Installation and Configuration
In this section we will show you how to set up our products.
Installation and Update
- Download CloudLinux Licenses For WHMCS:
- Upload archive to your WHMCS root folder and extract it. Files should automatically jump into their places.
- Run the following script:
php <whmcs_root>/clDeploy.php --migrate
Note
If your hosting requires specific files permissions, change them accordingly in the folder: <whmcs_root>/modules/servers/CloudLinuxLicenses
Configuration of Product
- Log into your WHMCS admin area and go to Setup → Products/Services → Products/Services. Click Create a New Group
- Fill Product Group Name (product group will be visible under that name in your WHMCS system) and click Save Changes
- Click Create a New Product. Choose Other from Product Type drop-down menu and previously created product group from Product Group drop-down menu.
- Fill Product Name and click Continue.
- Set up this product as hidden through marking Hidden checkbox at Details tab. Do not set up pricing for this product, it will be done in another way.
- Go to the Module Settings tab and select CloudLinux Licenses from Module Name drop-down.
- Fill Username and Password with your CloudLinux API access details (you can find them on your CLN profile page, username is your login and password is API secret key) and select Imunify360 from Product drop-down, then choose desired License Type. If you'd like to use key based licenses, tick Create Key based license checkbox.
- Click Save Changes to confirm.
- If you want to use a custom field to get the correct IP during order, you can fill the Name of the custom IP field and add a custom field with the same name to the main product. For example:
- linked CloudLinuxLicenses product
- main product
- Setup desired Auto-setup options.
Notes
- You can use the CloudLinux license module as an individual product. By default, for IP license the client’s IP address is used on ordering, after ordering you can change the license IP to a desired one in the service settings (as administrator or user).
- To create CloudLinux OS Shared PRO licenses you should have an appropriate CLN account and use the same
CloudLinux
in the product module settings. - Products with
KernelCare+
can create only IP based licenses.
Configuration of Add-on
- Go to Setup → Add-on Modules, find CloudLinux Licenses Add-on and click Activate next to it.
- The next step is permitting access to this module. Click Configure, select admin roles and confirm by clicking Save Changes.
Fig 1: Imunify360 License For WHMCS provisioning module configuration.
Fig 2: Imunify360 License For WHMCS add-on module main page.
Management
In this section you can find two ways of linking license product with your server product as well as other possibilities of the module.
Link Via Add-on – Optional License
In order to allow your client to decide whether he wants to order a server with or without the license, we will use Product Add-on. In this way, when the client orders an add-on, the relation will be triggered and the license product will be ordered along with the module.
The following steps must be performed to prepare such connection:
- Go to Setup → Products/Services → Products Add-ons and click Add New Add-on.
- Fill addon name, set up billing cycle and price. Then tick Show on Order checkbox, assign add-on to the product and click Save Changes.
Fig 3: Configuration of product add-on, which will trigger license product adding.
- Go to Add-ons → CloudLinux Licenses Add-on → Add-on Relations and click Add Relation.
- Select previously created product add-on and license product as shown below and click Add Relation.
Fig 4: Creating relation between product add-on and provisioning module.
Link Products Directly
If you want to offer server along with the license, perform the following steps.
Note
Please do not set up pricing for license provisioning product. In exchange, you can increase a price for server provisioning product.
- Prepare license provisioning product as described in the Configuration of Product section of this documentation.
- Go to Add-ons → CloudLinux Licenses Add-on → Products Relations and click Add Relation.
- Select server provisioning product from the Main product drop-down list and license provisioning product from the Linked Product With License and click Add Relation.
Fig 5: Creating relations directly between server and license provisioning modules.
Link Via Configurable Options
In order to allow your client to decide whether he wants to order server with or without license we can use Configurable Options ( https://docs.whmcs.com/Addons_and_Configurable_Options).
Below we will show what steps to proceed to prepare such connection:
- Configure CloudLinuxLicenses product as described here.
- Go to Setup → Products/Services → Configurable Options and click Create a New Group.
- Fill group name and add New Configurable Option, set up billing cycle, price and option type. Then save changes.
- Go to Add-ons → CloudLinux Licenses Add-on → Configurable Options Relations and click Add Relation.
- Choose appropriate configurable option and license product which it is assigned to and click Add relation.
Notes
- Plugin doesn’t support “quantity” type of Configurable Options
- A related product can’t contain two (or more) products with the same license type
- If you have changed Dedicated IP of the main product, then each related IP-based product will terminate an old IP license and create a new one for a new IP
Fig 6: Creating relation directly between server and license provisioning modules.
Link Add-ons Directly
[for WHMCS 7.2.x and newer]
WHMCS 7.2 introduces the ability to associate Product Add-ons with Provisioning Modules.
In order to allow your client to decide whether he wants to order server with or without license we will use product addon. Below we will show you what steps to proceed to prepare such connection:
- Go to Setup → Products/Services → Products Add-ons and click Add New Add-on.
- Fill add-on name, set up billing cycle and price. Then tick Show on Order checkbox, assign add-on to product.
- Go to the Module Settings tab and select CloudLinux Licenses from Module Name drop-down.
- Fill Username and Password with your CloudLinux API access (API secret key) details and select desired license type from License Type drop-down. Click Save Changes to confirm.
Fig 7: Configuration of product add-on with Provisioning Modules.
CloudLinux OS Key Licenses
- To set CloudLinux OS Key license while adding service in Module Settings do the following:
- choose CloudLinux in License Type drop-down;
- mark Use Key (instead of IP address) checkbox;
- enter IP registration token (API secret key) from Profile page in CLN;
- in Key Limit field enter the number of servers and click Save Changes;
- the License Key Custom Field will be automatically added.
KernelCare Key Licenses
- To set KernelCare Key license while adding service in Module Settings do the following:
- choose KernelCare in License Type drop-down;
- mark Use Key (instead of IP address) checkbox;
- enter IP registration token (API secret key) from Profile page in CLN;
- in Key Limit field enter the number of servers and click Save Changes;
Fig 8.2: Setup KernelCare License. |
- the License Key Custom Field will be automatically added.
Fig 9.2: License Key Custom Field is displayed while editing service. |
Imunify360 Key Licenses
To set Imunify360 Key license while adding service in Module Settings, do the following:
- choose Imunify360 in License Type drop-down
- mark Use Key (instead of IP address) checkbox
- enter IP registration token (API secret key) from Profile page in CLN
- in Max Users field enter the number of users per server
- in Key Limit field enter the number of servers and click Save Changes
Fig 8.3: Imunify360 Product settings.
- the License Key Custom Field will be automatically added
- the License Key Custom Field is displayed while editing service
Updating a service
- when Service Created Successfully message appears, you can edit Service
- enter information and settings and click Save Changes
Fig 9.3: Imunify360 Service settings.
Order
All the services registered in the account are displayed in My Products & Services area. When you choose a particular Product/Service and click View Details, you can view Product information, change license key, view Add-ons or make changes in Management Actions section.
Fig 10.1: Client’s products list.
Fig 11: Licenses details.
To order and purchase a new service do the following:
- choose Category → Imunify360 Group and click Order Now on a particular service
Fig 12: Order - Products group.
- choose Billing Cycle if possible
- enter information in Configure Server area
- choose Available Add-ons and click Continue Shopping to proceed or Checkout to view service details
Fig 13: Order - Configure product.
- enter Promotional Code in a specific field if you have one
- choose Payment Method and click Continue Shopping
Fig 14: Order - review and checkout.
Admin Area
From the admin area it is possible to command such actions as create, terminate, suspend/unsuspend and change IP address. Nonetheless, these actions can be ordered only on the server provisioning module and will be automatically reproduced for the license provisioning product.
Only change IP address functionality have to be ordered manually.
You can also view the details of created license.
Fig 15: Imunify360 Licenses For WHMCS admin area.
Client Area
The clients are also able to view their servers license details. And as well as you, they are able to change IP address of their licenses.
Fig 16: Imunify360 Licenses For WHMCS Client Area.
To change IP address, click Change as shown on the screen above. Then specify IP address and click Save.
Fig 17: Changing License IP Address.
Licenses List
You can view the list of all licenses owned by your client at our add-on → Licenses List. You can filter the list of licenses by client name, server provisioning products, license provisioning products and license IP address/Key.
Fig 18: Licenses List.
Add-on Licenses List
[for WHMCS 7.2.x and newer]
You can view list of all product add-on with Provisioning Modules licenses owned by your client at our addon → Licenses List.
Fig 19: Add-on Licenses List.
Common Problems
After activating the server provisioning product, license provisioning product bounded to it is still pending.
Reason: License IP address may be already taken. Solution: Change server IP address.
Note
Currently, only key-based licenses are available for Imunify360. Support of IP-based licenses will be added soon.