Personal tools
Namespaces

Variants
Actions

Server Allocator For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(About Server Allocator For WHMCS)
(Installation and Configuration)
 
(3 intermediate revisions by one user not shown)
Line 59: Line 59:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.1 Back To PHP 7.4
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.2 Back To PHP 8.1
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.10 Back To WHMCS V8.8
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.12 Back To WHMCS V8.9
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V12 Or Later
+
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V13 Or Later
 
|}
 
|}
 
{|
 
{|
Line 83: Line 83:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you might find one or two packages that support different PHP versions.'''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''2. Extract the package and upload its content into the main WHMCS directory.<br/>
In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later.<br/> <!--  If you need a package for the previous versions of PHP, please [https://www.modulesgarden.com/support/ticket/general-support contact our support]. -->
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:PHP72_74.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''Previous updates of the module may contain two packages dedicated to various PHP versions.'''<br/>
+
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.<br/>
+
'''''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 [http://php.net/supported-versions.php here].''
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:PHP56_74.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 10px 15px;"| <!-- '' '''Important''': This situation does not affect [https://www.modulesgarden.com/products/whmcs/digitalocean-droplets#open-source-version '''the open source version'''] of this module which can be applied to any PHP from version 5.6 and later.''<br/>'' --> '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''3. Extract the package and upload its content into the main WHMCS directory.<br/>
+
 
The content of the package to upload should look like this.
 
The content of the package to upload should look like this.
 
|}
 
|}
Line 108: Line 90:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. When you install Server Allocator For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''3. When you install Server Allocator For WHMCS for the first time you have to rename '' 'license_RENAME.php' '' file.'''<br/>
 
File is located in '' 'modules/addons/serverswitcher/license_RENAME.php'.'' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'.''
 
File is located in '' 'modules/addons/serverswitcher/license_RENAME.php'.'' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'.''
 
|}
 
|}
Line 115: Line 97:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''5. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br/>
 
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'.''
 
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'.''
 
|}
 
|}
Line 122: Line 104:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. Now you have to activate the module in your WHMCS system.'''<br/>
+
|style="padding: 0px 0px 15px 15px;"|'''5. Now you have to activate the module in your WHMCS system.'''<br/>
Log in to your WHMCS admin area. Go to the '' 'Setup' '' → '' 'Addon Modules' ''. Afterwards, find '' 'Server Allocator' '' and press '' 'Activate' '' button.
+
Log in to your WHMCS admin area. Go to the '' 'Setup' '' → '' 'Addon Modules' ''. Afterward, find '' 'Server Allocator' '' and press '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
Line 129: Line 111:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit access to this module.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step, you need to permit access to this module.'''<br />
 
To do so click on '' 'Configure' '' button, tick '' 'Access Control' '' near desired admin role groups and press '' 'Save Changes'.''
 
To do so click on '' 'Configure' '' button, tick '' 'Access Control' '' near desired admin role groups and press '' 'Save Changes'.''
 
|}
 
|}
Line 136: Line 118:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|'''8. You have just successfully installed Server Allocator For WHMCS!'''
+
|style="padding: 0px 0px 30px 15px;"|'''7. You have just successfully installed Server Allocator For WHMCS!'''
 
|}
 
|}
  
 
=Management=
 
=Management=
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Server Allocator For WHMCS allows you to automatically switch to wanted server upon specific product configuration.
+
|style="padding: 10px 0px 15px 15px;"|Server Allocator For WHMCS allows you to automatically switch to the wanted server upon specific product configuration.
 
|}
 
|}
 
{|
 
{|
Line 148: Line 130:
 
==Add Group==
 
==Add Group==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In order to configure switching rules, proceed with creating of a new group.<br/>
+
|style="padding: 10px 0px 15px 15px;"|In order to configure switching rules, proceed with creating a new group.<br/>
 
Press '' 'Add Group' '' to proceed.
 
Press '' 'Add Group' '' to proceed.
 
|}
 
|}
Line 156: Line 138:
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|Fill in group name and select desired product groups.<br/>
 
|style="padding: 0px 0px 15px 15px;"|Fill in group name and select desired product groups.<br/>
Additionally, select default servers (Ctrl+mouse click for multi select) if you wish to redefine default servers.<br/>
+
Additionally, select default servers (Ctrl+mouse click for multi-select) if you wish to redefine default servers.<br/>
Press '' 'Save' '' to create group.
+
Press '' 'Save' '' to create a group.
 
|}
 
|}
 
{|
 
{|
Line 166: Line 148:
 
{|
 
{|
 
|style="padding: 10px 0px 15px 15px;"|Previously created group currently does not affect the system at all.<br/>
 
|style="padding: 10px 0px 15px 15px;"|Previously created group currently does not affect the system at all.<br/>
Let's change that through adding a new rule. Press '' 'Add Rule' '' to proceed.
+
Let's change that by adding a new rule. Press '' 'Add Rule' '' to proceed.
 
|}
 
|}
 
{|
 
{|
Line 172: Line 154:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|In the next step select server type that the switch will apply to.<br/>
+
|style="padding: 0px 0px 15px 15px;"|In the next step select the server type that the switch will apply to.<br/>
 
Press '' 'Next'.''
 
Press '' 'Next'.''
 
|}
 
|}
Line 181: Line 163:
 
|style="padding: 0px 0px 15px 15px;"|Each rule can have multiple rule definitions.<br/>
 
|style="padding: 0px 0px 15px 15px;"|Each rule can have multiple rule definitions.<br/>
 
'''Important:''' Switch will be made only if all of the rule definitions are met.<br/>
 
'''Important:''' Switch will be made only if all of the rule definitions are met.<br/>
Let's add first rule definitions, adding it starts with selecting rule definitions type.<br/>
+
Let's add the first rule definitions, adding it starts with selecting the rule definitions type.<br/>
To do so, press '' 'Add Definition' '' and choose desired one.
+
To do so, press '' 'Add Definition' '' and choose the desired one.
 
|}
 
|}
 
{|
 
{|
Line 188: Line 170:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|For the purpose of this documentation, we have chosen configurable option rule definition.<br/>
+
|style="padding: 0px 0px 15px 15px;"|For the purpose of this documentation, we have chosen a configurable option rule definition.<br/>
Now, we have to select specific configurable option and its value which needs to be chosen.
+
Now, we have to select a specific configurable option and its value which needs to be chosen.
 
|}
 
|}
 
{|
 
{|
Line 210: Line 192:
 
==Rule Management==
 
==Rule Management==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|Each group and rule can be modified and removed at any time through using buttons marked on the following screen.
+
|style="padding: 10px 0px 20px 15px;"|Each group and rule can be modified and removed at any time by using buttons marked on the following screen.
 
|}
 
|}
 
{|
 
{|
Line 216: Line 198:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Press '' 'Links' '' next to desired rule to view the list of links.
+
|style="padding: 0px 0px 20px 15px;"|Press '' 'Links' '' next to the desired rule to view the list of links.
 
|}
 
|}
 
{|
 
{|
Line 222: Line 204:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Each of them leads to the order form with product configured according to defined rule.
+
|style="padding: 0px 0px 20px 15px;"|Each of them leads to the order form with the product configured according to the defined rule.
 
|}
 
|}
 
{|
 
{|
Line 230: Line 212:
 
==Sample Orders==
 
==Sample Orders==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|In this section we will show you how our module works on an exemplary rule shown below.
+
|style="padding: 10px 0px 20px 15px;"|In this section, we will show you how our module works on an exemplary rule shown below.
 
|}
 
|}
 
{|
 
{|
Line 238: Line 220:
 
{|
 
{|
 
|style="padding: 10px 0px 20px 15px;"|Let us order a product fulfilling all conditions for receiving '' 'cPanel SSD - 99.9' '' server.<br/>
 
|style="padding: 10px 0px 20px 15px;"|Let us order a product fulfilling all conditions for receiving '' 'cPanel SSD - 99.9' '' server.<br/>
Using this configuration, client pays additionally for 'Based On SSD' addon.
+
Using this configuration, the client pays additionally for 'Based On SSD' addon.
 
|}
 
|}
 
{|
 
{|
Line 254: Line 236:
 
{|
 
{|
 
|style="padding: 10px 0px 20px 15px;"|Let us order a product fulfilling all conditions for receiving '' 'cPanel SSD - 99.99' '' server.<br/>
 
|style="padding: 10px 0px 20px 15px;"|Let us order a product fulfilling all conditions for receiving '' 'cPanel SSD - 99.99' '' server.<br/>
Client must pay for 'Based On SSD' as well as for higher guaranteed uptime.
+
The client must pay for 'Based On SSD' as well as for higher guaranteed uptime.
 
|}
 
|}
 
{|
 
{|
Line 269: Line 251:
 
{|
 
{|
 
|style="padding: 10px 0px 15px 15px;"|Let us order a product without '' 'Based On SSD' '' addon and with default uptime.<br/>
 
|style="padding: 10px 0px 15px 15px;"|Let us order a product without '' 'Based On SSD' '' addon and with default uptime.<br/>
This should result in assigning default 'cPanel - 99.9' server.
+
This should result in assigning the default 'cPanel - 99.9' server.
 
|}
 
|}
 
{|
 
{|
Line 275: Line 257:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|As you can see, switch has not been made and hosting is using default group server.
+
|style="padding: 0px 0px 20px 15px;"|As you can see, the switch has not been made and hosting is using the default group server.
  
 
|}
 
|}
Line 308: Line 290:
 
|style="padding: 0px 0px 30px 15px;"|2. You are unable to add a product addon/configurable option/custom field to the rule.<br />
 
|style="padding: 0px 0px 30px 15px;"|2. You are unable to add a product addon/configurable option/custom field to the rule.<br />
 
'''Reason:''' An item has to be assigned to a product which:
 
'''Reason:''' An item has to be assigned to a product which:
*Is assigned to a product group included into the switching group.
+
*Is assigned to a product group included in the switching group.
 
*Product is of a type selected during adding a new rule.
 
*Product is of a type selected during adding a new rule.
 
'''Solution:''' Ensure that an item you are trying to add is assigned to a correct product.
 
'''Solution:''' Ensure that an item you are trying to add is assigned to a correct product.
 
|}
 
|}

Latest revision as of 10:19, 29 April 2025

Contents

[edit] About Server Allocator For WHMCS

Server Allocator For WHMCS, much like a load balancer, will automatically match servers to your clients' products, guided by the criteria they specified when ordering.

The module lets you create and configure your own switching rules, split them into groups and assign to them product groups as well as specified servers.
The rules offer great flexibility as they rely on selected configurable options, product addons, custom fields, or even individual clients.

  • Admin Area Features:
✔ Add/Edit/Remove Switching Rules And Their Groups
✔ Add Multiple Conditions/Products/Servers To Switching Rule
✔ Assign Multiple Rules To Rules Group
✔ Set Default Servers To Rules Group - Used If No Rule Is Applied
✔ Set Load Balancing Allocation Type To Server With Most Or Least Free Space
✔ Block Order If Server Is Full
✔ Access Links To Order Form Of Products Configured According To Specified Rule
  • Client Area Features:
✔ Switch Assigned Server Automatically During Ordering Product - Depending On Applied Rule
  • Supported Rule Definitions:
✔ Clients
✔ Configurable Options
✔ Custom Fields
✔ Product Addons
  • General Info:
✔ Supports All Server Types
✔ Supports Most Provisioning Modules
✔ Multi-Language Support
✔ Supports PHP 8.2 Back To PHP 8.1
✔ Supports WHMCS V8.12 Back To WHMCS V8.9
✔ Requires ionCube Loader V13 Or Later
✔ Easy Module Upgrade To Open Source Version

[edit] Installation and Configuration

This tutorial will show you how to successfully install and configure Server Allocator 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.
SA 1.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.

Sdfdf.png
3. When you install Server Allocator For WHMCS for the first time you have to rename 'license_RENAME.php' file.

File is located in 'modules/addons/serverswitcher/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

SA 3.png
4. 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'.

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

Log in to your WHMCS admin area. Go to the 'Setup' 'Addon Modules' . Afterward, find 'Server Allocator' and press 'Activate' button.

SA 5.png
6. In the next step, you need to permit access to this module.

To do so click on 'Configure' button, tick 'Access Control' near desired admin role groups and press 'Save Changes'.

SA 6.png
7. You have just successfully installed Server Allocator For WHMCS!

[edit] Management

Server Allocator For WHMCS allows you to automatically switch to the wanted server upon specific product configuration.
SA 7.png

[edit] Add Group

In order to configure switching rules, proceed with creating a new group.

Press 'Add Group' to proceed.

SA 8.png
Fill in group name and select desired product groups.

Additionally, select default servers (Ctrl+mouse click for multi-select) if you wish to redefine default servers.
Press 'Save' to create a group.

SA 9.png

[edit] Group Management

Previously created group currently does not affect the system at all.

Let's change that by adding a new rule. Press 'Add Rule' to proceed.

SA 10.png
In the next step select the server type that the switch will apply to.

Press 'Next'.

SA 11.png
Each rule can have multiple rule definitions.

Important: Switch will be made only if all of the rule definitions are met.
Let's add the first rule definitions, adding it starts with selecting the rule definitions type.
To do so, press 'Add Definition' and choose the desired one.

SA 12.png
For the purpose of this documentation, we have chosen a configurable option rule definition.

Now, we have to select a specific configurable option and its value which needs to be chosen.

SA 13.png
Let's add one more rule definition, which in this case will be using product addon.

Press 'Add Definition' → 'Addon' and choose product addon.

SA 14.png
Now, define the load balancing allocation type. Decide if the server with the most or least free space shall be used and press 'Save Changes' button.
SA 15.png

[edit] Rule Management

Each group and rule can be modified and removed at any time by using buttons marked on the following screen.
SA 16.png
Press 'Links' next to the desired rule to view the list of links.
SA 17.png
Each of them leads to the order form with the product configured according to the defined rule.
SA 18.png

[edit] Sample Orders

In this section, we will show you how our module works on an exemplary rule shown below.
SA 18 1.png

[edit] First Order

Let us order a product fulfilling all conditions for receiving 'cPanel SSD - 99.9' server.

Using this configuration, the client pays additionally for 'Based On SSD' addon.

SA 19.png
The switch will be made upon ordering the product (order made from the client area) or accepting the order (order made from the admin area).

Hosting with a switched server is displayed on the following screen.

SA 20.png

[edit] Second Order

Let us order a product fulfilling all conditions for receiving 'cPanel SSD - 99.99' server.

The client must pay for 'Based On SSD' as well as for higher guaranteed uptime.

SA 21.png
As displayed on the following screen, the switch has been made successfully.
SA 22.png

[edit] Third Order

Let us order a product without 'Based On SSD' addon and with default uptime.

This should result in assigning the default 'cPanel - 99.9' server.

SA 23.png
As you can see, the switch has not been made and hosting is using the default group server.
SA 24.png

[edit] Tips

1. In case none of the configuration settings meet any rule, the product will be assigned to a default server.

[edit] 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.

[edit] 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 Server Allocator 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.

[edit] Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. You are unable to add a product addon/configurable option/custom field to the rule.

Reason: An item has to be assigned to a product which:

  • Is assigned to a product group included in the switching group.
  • Product is of a type selected during adding a new rule.

Solution: Ensure that an item you are trying to add is assigned to a correct product.

Navigation
WHMCS Modules
WHMCS Widgets
Tools And Applications
Translations
cPanel Modules
General
FAQ
Community
Server Allocator For WHMCS