Imunify360 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
  • Supports WHMCS V6 and later

Installation and Configuration

In this section we will show you how to set up our products.

Installation and Update

  1. Download CloudLinux Licenses For WHMCS:
  2. Upload archive to your WHMCS root folder and extract it. Files should automatically jump into their places.
  3. 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

  1. Log into your WHMCS admin area and go to Setup → Products/Services → Products/Services. Click Create a New Group
  2. Fill Product Group Name (product group will be visible under that name in your WHMCS system) and click Save Changes
  3. Click Create a New Product. Choose Other from Product Type drop-down menu and previously created product group from Product Group drop-down menu.
  4. Fill Product Name and click Continue.
  5. 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.
  6. Go to the Module Settings tab and select CloudLinux Licenses from Module Name drop-down.
  7. 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.
  8. Click Save Changes to confirm.
  9. Setup desired Auto-setup options.

Configuration of Add-on

  1. Go to Setup → Add-on Modules, find CloudLinux Licenses Add-on and click Activate next to it.
  2. 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.

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:

  1. Go to Setup → Products/Services → Products Add-ons and click Add New Add-on.
  2. 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.

  1. Go to Add-ons → CloudLinux Licenses Add-on → Add-on Relations and click Add Relation.
  2. 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.

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.

  1. Prepare license provisioning product as described in the Configuration of Product section of this documentation.
  2. Go to Add-ons → CloudLinux Licenses Add-on → Products Relations and click Add Relation.
  3. 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.

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:

  1. Configure CloudLinuxLicenses product as described here.
  2. Go to Setup → Products/Services → Configurable Options and click Create a New Group.
  3. Fill group name and add New Configurable Option, set up billing cycle, price and option type. Then save changes.
  4. Go to Add-ons → CloudLinux Licenses Add-on → Configurable Options Relations and click Add Relation.
  5. 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.

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:

  1. Go to Setup → Products/Services → Products Add-ons and click Add New Add-on.
  2. Fill add-on name, set up billing cycle and price. Then tick Show on Order checkbox, assign add-on to product.
  3. Go to the Module Settings tab and select CloudLinux Licenses from Module Name drop-down.
  4. 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.

Imunify360 Key Licenses

  1. 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: Imunify360 Product settings.

  • the License Key Custom Field will be automatically added
  • the License Key Custom Field is displayed while editing service
  1. To edit service do the following:
    • when Service Created Successfully message appears, you can edit Service
    • enter information and settings and click Save Changes

Fig 9: 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: 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 ListWHMCS 7.2.x+

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.