Personal tools
Namespaces

Variants
Actions

cPanel Manage2 For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search

Contents

About cPanel Manage2 For WHMCS

cPanel Manage2 For WHMCS is a module created to introduce and automate the provisioning of cPanel licenses in your WHMCS.

The module will enable your clients to view detailed information about their licenses in your WHMCS client area as well as assign IP addresses to their licenses.

Check out also our Inactive Account Manager For cPanel module and reduce your running cPanel costs!

  • Admin Area Features:
✔ Create/Suspend/Unsuspend/Terminate License
✔ Change License Package
✔ Change IP Address Assigned To License
✔ View License Details
✔ Toggle Automatic License Assignment To Specified IP Address
✔ Define Package, Group And Expiration Reason
✔ Choose Billing Type:
✔ Default - Bill Client Only For License Regardless Of Accounts Number
✔ Flexible - Bill Client For Exact Number Of Accounts Assigned To License
✔ Tiered - Bill Client For Closest Number Of Accounts Assigned To License
✔ Define Day Of Month To Synchronize Accounts Number For Billing
✔ Adjust Number Of Accounts To Start Billing
✔ Allow Creating Multiple Licenses For Single IP Address
✔ Disable Client IP Address Change Option
✔ Sell Licenses As Products Or Product Addons
✔ View Active And Expired Licenses In Dedicated Addon Module
✔ Enable Pricing Adjustment For Licenses With Extended Lifecycle Support (ELS)
✔ Define Fee Factor For ELS Price Margin
✔ Customize Module Language Files With "Translations" Tool
✔ View And Manage Logs
✔ Run API Connection Test
  • Client Area Features:
✔ Order License
✔ View License Details
✔ View Number Of Accounts Assigned To License
✔ Change IP Address Assigned To License
  • Configurable Options:
✔ Billing For The Number Of Accounts
  • General Info:
✔ Multi-Language Support With Custom Translations Tool
✔ Integrated With Product Linker For WHMCS - Resell Licenses In Product Bundles
✔ Integrated With Server Allocator For WHMCS - Automatic Assignment Of Most Suitable Servers To Products
✔ Supports PHP 8.2 Back To PHP 8.1
✔ Supports WHMCS Product Addons
✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme"
✔ Supports WHMCS V8.11 Back To WHMCS V8.8
✔ Requires ionCube Loader V13 Or Later
✔ Easy Module Upgrade To Open Source Version

Installation and Configuration

In this tutorial we will show you how to quickly install and configure cPanel Manage2 For WHMCS.

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

Installation

1. Log in to our client area and download the module.
CM1.png
2. Extract the package and upload its content into the main WHMCS directory.

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

CM 2.png
3. When you install cPanel Manage2 For WHMCS for the first time, you have to rename the 'license_RENAME.php' file.

The file is located in 'modules/servers/CpanelManage2/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

CM 3.png
4. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

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

CM 4.png

Activation of Addon

5. Now you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area. Find 'System Settings' and open the 'Addon Modules'.
Afterwards, find 'cPanel Extended Center' and press the 'Activate' button.

CM4 1 1.png
6. In the next step, you need to permit access to this module.

To do so, click on the 'Configure' button, tick the desired admin roles and press 'Save Changes'.

CM4 1 2.png
7. Optionally, add a cron job as shown below (once-a-day interval is recommended).
php -q /your_whmcs/modules/servers/CpanelManage2/cron/cron.php add-margin-price

This cron will automatically update the price for Extended Lifecycle Support licenses.
You will find a more detailed explanation along with a cron command personalized for your server in the addon's 'Settings' tab.
The 'Fee Factor Multiplier' can also be set there.

Configuration of Server

8. Good job! You have just successfully installed cPanel Manage2 For WHMCS! Now, we will show you how to configure a new product.

To do so, log in to your WHMCS. Now, press 'System Settings' 'Products/Services' 'Servers'.
Afterward, press 'Add New Server'.

CM 4 1.png
9. Next, enter your server 'Name' and 'Hostname' or 'IP Address'.
Choose 'cPanel Manage2' from the 'Type' dropdown menu, enter your 'Access Key ID' and 'Secret Access Key', finally test the connection, and, if successful, press 'Save Changes'.

Alternatively, for Key-bsed authentication, you may enter your API token in the 'Access Hash' field ('Key ID' and 'Access Key' fields may be then left empty).
On information how to genereate the API token, please read the Tips, point 3 section of this documentation article.

CM5.png
10. If you configure your server correctly, you will see the following screen.

Now you need to create a new group for your server. For that purpose press 'Create New Group'.

CM5.6.png
11. Enter your group name, click on your previously created server, press 'Add' and then 'Save Changes'.
CM 7.png

Configuration of Product

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

Click on 'Create a New Group'. Otherwise, simply move on to step 11.

CM 8.png
13. Enter your product group name and press 'Create Group'.
CM 9.png
14. Once you have a product group, create a new product. If you already have a product, go to step 13.

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

CM 10.png
15. Afterward, choose your product type, product group and module from the dropdown menus, enter your product name and press 'Continue'.
CM 11.png
16. Now, go to the 'Module Settings' section, and choose your previously created server group from the dropdown menu.
  • Force License - allows you to force the addition of the license to the specified IP address
  • Disable Client IP Address Change - this option dictates whether users are able to change the IP address of their license independently.
  • Allow Multiple IP Licenses - if enabled, IP addresses can be assigned to multiple licenses.
  • Group - specifies the group to which the new license will belong. In previous versions of the module, you had to provide its ID.
  • Package - specifies the package that the new license will use. In previous versions of the module, you had to provide its ID.
  • Expiration Reason - a parameter required for distributors.
  • Billing Type - specifies how clients can be billed for the number of accounts assigned to a single license.
    • Default - clients will be billed only for the purchased license, regardless of the number of accounts assigned to it.
      E.g. If a client bought a license and created 5 accounts that use this license, the charge amount will not change.
    • Flexible - Clients will be additionally billed for the exact number of accounts assigned to the license.
      E.g. If a client uses 5 accounts, but your configurable options bill clients for 1, 3, 7, or 10 accounts, then the client will be billed for 7 accounts, as that is the closest higher number to the already used 5 accounts.
    • Tiered - clients will be billed for the closest tier number of accounts assigned to the license.
      E.g. if a client uses '5 accounts' , but you set up your configurable options to bill your clients only for '1', '3', '7' or '10' accounts, then your client will be billed for 7 accounts, because that is the closest highest number to the already used '5 accounts' .
  • Billing Threshold Update Day - if you chose the 'Flexible' or 'Tiered' billing type, enter the day of the month when you want to synchronize the configurable options in WHMCS with the number of accounts assigned to the license.
    This synchronization will occur on the specified day during the execution of the main WHMCS cron.
  • Billing Threshold - enter the number of license accounts after which you will start billing your clients. Leave this field empty if you want accounts billing to work as normal.
    E.g. If you set this to 100, and your client has 101 accounts, they will be charged for only 1 new account, while the first 100 will be ignored. If there are 105 license accounts, the client will be billed as if they had only 5 accounts, and so on.
    This number also affects the value set for a configurable option. It can be particularly useful when using the 'quantity' type, where you provide pricing based on a specified range.
    For example, if you want to charge clients for 101 to 110 new accounts, you can set quantity pricing as if it were from 1 to 10 for each new account.

Note: To use 'Billing Type' and other related options you will have to create an additional 'accounts' configurable option, which you can read about in point 16 of this setup guide.

Save Changes when you are ready.

CM 12 2.png
17. Once the module settings are ready, move to 'Custom Fields'.

In 'Field Name' enter 'IP', choose 'Text Box' from the field type dropdown menu, enter a description, and set up validation as:

/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/
CM7.png
18. Finally, if you want to use the 'Billing Type ' option, you will have to create a new configurable option.

First, go to 'System Settings' → 'Products/Services' → 'Configurable Options' and 'Create a New Group' with any custom name.
Next, press the 'Add New Configurable Option' button.

CM 13.png
A new window will open. Now, you have to create a new configurable option with the accounts variable name.

It is important to use that exact name, but you can put any friendly name you want next to it.
Now, provide the number of accounts assigned to the license and the pricing you want to bill your clients.
You may use the Dropdown or Quantity configurable option type.
Save changes when ready.

Important: Remember that using the 'Adjust Accounts Number' product setting will affect the values of configurable options set during synchronization with the number of accounts assigned to the license.

Please also refer to this article to find more information about using configurable options in WHMCS.

CM 14.png
After the creation of a new configurable option is done, remember to assign it to your cPanel Manage2 license product.

You may also hide this billing option from your clients. Do not forget to save the changes.

CM 15.png
That's it. You have just successfully installed and configured cPanel Manage2 For WHMCS!

This is how a correctly configured product looks in the client area.

CM 15 0 2.png

Configuration of Product Addon

This module can be also alternatively configured as to become a 'Product Addon' that can be bought additionally next to a given product.

More information concerning 'Product Addons' in WHMCS can be found here. In order to configure your addon follow the steps explained below.

1. Proceed to 'System Settings' 'Products/Services' 'Product Addons' 'Add New' .

Enter a name and desired description. Then move to the 'Module Settings' tab.

CM 16.png
2. Now, as your 'Module Name' choose your new addon and select your previously created server group from the 'Server Group' dropdown menu.

Then configure the addon in a similar way as the product.

Important: For now billing options for an additional number of accounts for licenses are only available for products, not for product addons!

CM 17 2.png
3. In the next step of configuration, move to 'Custom Fields'.

In 'Field Name' enter 'IP' , choose 'Text Box' from the 'Field Type' dropdown menu, enter a description and set up the following validation:

/\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b/

The validation is necessary to prevent users from providing IP addresses in the wrong format.
Important! It is a single line command, do not split it into two lines.
Mark the 'Show on Order Form' checkbox and press the 'Save Changes' button.

CM 18.png
You have just successfully configured a new cPanel Manage2 For WHMCS addon. It can be assigned to other products of your choice.

That is how an assigned and active cPanel Manage2 addon product might look in the client area.

CM 21 2.png

Management

From the admin area you can manage your clients' cPanel Manage2 products as well as view license details.
Additionally, you can also change the license's IP address.
CM 19 2.png
If you move to the client area page, you will see the same data on the license.

The license IP address can be changed here as well.

CM 20 2.png

Active Licenses

You can access the addon module under 'Addons' 'cPanel Manage2'.

The 'Active Licenses' tab lists all of your active licenses along with their:

  • ID
  • Assigned IP Address
  • Package
  • Extended Lifecycle Support Status
  • Service
  • License Status
  • License Start Date

You may find even more details by clicking on the 'Show Details' button.

CM 20 3.png
The additional details, not included in the previous tab are:
  • Version
  • Hostname
  • Operating System
  • Operating System Version
  • Distribution
  • Environment Type
  • Package ID
  • Accounts Number
CM 20 4.png

Expired Licenses

The 'Expired Licenses' tab features the same information as its 'Active' counterpart, except for the licenses that are already expired:
  • ID
  • Assigned IP Address
  • Package
  • Extended Lifecycle Support Status
  • Service
  • License Status
  • License Start Date

You may find even more details by clicking on the 'Show Details' button.

CM 20 5.png
The additional details, not included in the previous tab are:
  • Version
  • Hostname
  • Operating System
  • Operating System Version
  • Distribution
  • Environment Type
  • Package ID
  • Accounts Number
CM 20 6.png

Settings

The 'Settings' tab allows you to configure how the "Extended Lifecycle Support" (ELS) fee is applied by cPanel to some licenses.

The Extended Lifecycle Support is a cPanel program that extends support for some operating systems for an additional fee.
This section includes a major adjustment for the additional multiplier applied to the ELS fee.

It also features a cron command that will automatically update the prices of licenses by the ELS fee and the multiplayer.
We recommend running the cron task once-a-day.

 php -q /your_whmcs/modules/servers/CpanelManage2/cron/cron.php add-margin-price    
  • Fee Factor for Price Margin - Enabling this option will cause the ELS fee to be multiplied by the 'Fee Factor Multiplayer' from the perspective of the client.
    If left disabled, the ELS fee will be applied as is.
  • Fee Factor Multiplier - The ELS fee can be adjusted for the client by entering a numeric value here, see the explanation below for more details.
    • Default Multiplier (1.00): If set to 1.00, the ELS fee remains unchanged. This means the fee added to the license is exactly as specified by cPanel.
    • Increase Multiplier (> 1.00): Setting the multiplier above 1.00 increases the ELS fee. For example, setting it to 2.00 doubles the fee, turning a 0.2 ELS fee into 0.4.
    • Decrease Multiplier (< 1.00): Setting the multiplier below 1.00 decreases the ELS fee. For example, setting it to 0.50 halves the fee, reducing a 0.2 ELS fee to 0.1.
    • Zero Multiplier (0): Setting the multiplier to 0 eliminates the additional ELS fee, meaning the customer will not be charged any extra for the ELS.
      However, this can result in losses as you will still incur the ELS cost from cPanel.

Example Calculations:

  • License price: $10
  • ELS fee: 0.2 (20%)
Multiplier Calculation Final License Cost on Invoice
0.00 $10.00 + ($10 * 0.2 * 0.00) = $10.00 + $0.00 $10.00
0.50 $10.00 + ($10 * 0.2 * 0.50) = $10.00 + $1.00 $11.00
1.00 $10.00 + ($10 * 0.2 * 1.00) = $10.00 + $2.00 $12.00
1.50 $10.00 + ($10 * 0.2 * 1.50) = $10.00 + $3.00 $13.00
2.00 $10.00 + ($10 * 0.2 * 2.00) = $10.00 + $4.00 $14.00

Note: The above examples do not include any additional taxes.

CM 22.png

Translations

Customizing language files is now extremely easy with the "Translations" tool that is now available directly in the addon.
Its user-friendly design makes managing various language file tweaks a smooth and efficient process.

Prepare translations for the original English files with this handy built-in tool. For specific instructions on how to use this tool please refer to its dedicated article, you will find it here.

CM T.png

Logs

The 'Logs' page stores the history of actions performed by the module.

Use the action buttons to see details or delete each log entry. Multiple logs can be deleted at once by utilizing the mass selection function.

CM 23.png
Furthermore, the logs feature additional actions. Changing the logs' settings, exporting the logs to a '.csv' file, and a way to delete specific log types.
CM 24.png
In the settings you can specify which log types should be recorded, and whether they should be deleted automatically after a specific time.
CM 25.png
While exporting you will pick a time frame and the log types to export.
CM 26.png
Here you can decide which log types to delete, you can also specify how old the logs have to be to qualify for deletion. Leave the first field empty to delete all logs.
CM 27.png

Tips

1. You have to unlock your WHMCS System IP in the cPanel Manage2 to access the API.
2. If you already have licenses in cPanel Manage2 and you would like to import them to WHMCS, you can match them with your products.

All you have to do is add/order a new WHMCS product to your customer without processing the 'Create' module command.
Then, find the added product in the 'Product/Services' tab of your customer profile and look for the custom IP field which you created in point 15. of this manual.
Next, enter the IP of the license you want to link, change the product status to 'active' and save settings.

Note: Be aware that the product's module settings in your WHMCS (point 14. of this manual) should correspond to the specifications of the linked license.

3. The module supports two server connection setup options, these are:

Basic Authentication method: with Manage2 username and password usage.
Key-based Authentication method where API token is used to set up connection with the server.
Read below on how to generate the API token:

  • Add a Pickup Passphrase in Manage2 panel with the following privileges:
    "Add a new license", "Expire a License", "Extend One Time License Updates", "List Active licenses", "Manage Authkeys", "Modify/Transfer a license", "Reactivate a license", "Search for a license".
    Make sure your newly added passphrase is active, this will be used in the next steps.
  • On the server where WHMCS is installed, execute the following CURL command to generate a key (it must be associated to an IP address):
    curl -G "https://manage2.cpanel.net/XMLregisterAuth.cgi" --data-urlencode "output=json" --data-urlencode "[email protected]" --data-urlencode "pickup=your_passphrase" --data-urlencode "service=Your Service Name"
    Include the following parameters in the command:
    • [email protected] - your actual email address
    • pickup=your_passphrase - the passphrase you added in the panel
    • service=Your Service Name - the appropriate company name entered in Edit User → Account Settings → Company
  • After executing the command, you will receive a response containing the key, for example: "key":"aU1s2TKicGJtkabfjsiKHO2T"
  • Copy the key from the response and paste it into the 'Access Hash field in your WHMCS system.
CM 28.png

Update Instructions

An essential guidance through the process of updating the module is offered here.

Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.
Additionally, you will find a current list of supplementary actions necessary for a smooth update process there.

1. Data migration to version 2.0.0 is handled automatically on module addon activation.
  • Download the latest version of the module from our client area.
  • Remove the old module's files from the WHMCS root directory.
  • Note: The module folder name has been changed from cpanelManagetwo to CpanelManage2. Ensure that the old folder 'cpanelManagetwo' is deleted completely.
  • Upload and extract the new files into your WHMCS root directory.
  • Optional: If you wish to manually initiate the migration, you can do so by using the following cron command:
php -q /your_whmcs/modules/servers/CpanelManage2/cron/cron.php migrate-configuration

Upgrade Guide

Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?
There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.

Opt for the Open Source version of your cPanel Manage2 For WHMCS module to unlock these benefits.
Simply click on either the Get Source Code or Upgrade To Lifetime button found on the product's page in our client area to complete the one-step upgrade process, with a dedicated discount already applied.

Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized.

Common Problems

1. If you have problems with connection, check whether your SELinux or firewall does not block ports.
2. Make sure that your custom field is named 'IP'. In any other case, the module will not work properly.
Navigation
WHMCS Modules
WHMCS Widgets
Tools And Applications
Translations
cPanel Modules
General
FAQ
Community
CPanel Manage2 For WHMCS