IP Manager 2.5.X For WHMCS
Contents
|
About IP Manager For WHMCS
IP Manager For WHMCS will empower you to add and manage IP subnets, and also automatically assign IP addresses to your servers, products, addons or configurable options. You will easily assign addresses from a chosen IP pool to specified clients' products, export IP subnets, or even integrate with 3rd party applications like cPanel. |
- Admin Area Features:
✔ Show And Manage Multi-Level IP Subnets With IP Pools In Tree-View |
✔ Assign/Unassign/Delete IP Addresses Directly From Products/Services View |
✔ Create Multiple Configurations For Multiple Scenarios Of IP Addresses Assignment |
✔ Create Multiple Relations In One Configuration For Products, Addons, Configurable Options & Servers |
✔ Define IP Addresses Reservation Rules - Reserve IP Addresses For Network, Gateway, Broadcast And More |
✔ Define Default Custom Fields For: |
✔ IP Subnets |
✔ IP Addresses In Chosen Subnets/Pools |
✔ Export/Import IP Subnets/Pools - Supports XML And CSV Formats |
✔ Omit Dedicated IP Address Fields For Chosen Configuration |
✔ Toggle Custom Field Usage Instead Of 'Assigned IP' Field |
✔ Synchronize IP Addresses Used By Products In WHMCS With IP Manager |
✔ Receive Automatic Email Reminder Sent When Specified Usage Percentage Of Any IP Subnets Has Been Exceeded |
✔ Define Configuration Of Integration Method (cPanel & cPanel Extended) |
✔ Set Up IP Addresses Cleaner - Ensures That All Assigned IP Addresses Are In Use |
✔ View IP Subnets Usage Statistics And Graphs |
✔ View Logs |
- IP Subnet Features:
✔ Add IP Subnet/Pool Using CIDR Notation |
✔ Exclude Selected IP Addresses From IP Subnet During Its Creation |
✔ View IP Addresses Of Subnets/Pools |
✔ Split/Merge IP Subnet |
✔ View And Create Child Subnets |
✔ Delete Single IP Address From Subnets/Pools |
✔ Assign/Unassign IP Addresses To/For Service |
✔ Bulk Actions - Assign/Unassign/Delete IP Addresses |
✔ Lock IP Subnet To Client Or Clients Service |
✔ Create Custom Fields For Subnets/Pools/IP Addresses |
✔ Generate Free IP Addresses |
✔ Sequentially |
✔ Defined Manually |
- Client Area Features:
✔ View Assigned IP Addresses And Subnets |
✔ Unassign IP Addresses |
✔ Order Additional IP Addresses |
- 3rd Party Integration Modules:
✔ cPanel |
✔ cPanel Extended |
✔ DirectAdmin |
✔ DirectAdmin Extended |
✔ Plesk |
✔ Plesk Extended |
✔ Proxmox VE VPS |
✔ Proxmox VE Cloud VPS |
✔ SolusVM Extended VPS |
✔ Virtuozzo Hybrid Server |
- General Info:
✔ Supports IPv4 and IPv6 |
✔ Supported All Types Of Configurable Options |
✔ IP Subnets Rely On IP Addresses Range And Assigned IP Addresses (Free IP Addresses Are Not Stored In Database) |
✔ Create New 3rd Party Integration Modules |
✔ Multi-Language Support |
✔ Supports PHP 8.1 Back To PHP 7.4 |
✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme" |
✔ Supports WHMCS V8.9 Back To WHMCS V8.6 |
✔ Requires ionCube Loader V12 Or Later |
✔ Easy Module Upgrade To Open Source Version |
Installation
This tutorial will show you how to successfully install and configure IP Manager 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. |
2. In the downloaded file you might find one or two packages that support different PHP versions. In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later. |
Previous updates of the module may contain two packages dedicated to various PHP versions. 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. |
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'. |
Extract the package and upload its content into the main WHMCS directory.
The content of the package to upload should look like this. |
4. When you install IP Manager For WHMCS for the first time, you have to rename 'license_RENAME.php' file. File is located in 'modules/addons/ipmanager2/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
5. In order to configure your license key, you have to edit the 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'. |
6. Remove all files from the 'templates_c' folder located in your WHMCS root directory. |
7. Now, you have to activate the module in your WHMCS system. Log in to your WHMCS admin area and go to 'Setup' → 'Addon Modules'. |
8. In the next step you need to permit the access to the module. Click on 'Configure' button, tick desired admin roles and press 'Save Changes'. |
9. The last step is setting the 'storage' folder rights as recursively writable. Folder is located in 'you_whmcs/modules/addons/ipmanager2'. |
10. You have just successfully installed IP Manager! You can access your module in 'Addons' → 'IP Manager'. Additionally you can also add Integration Code to allow your customers to view and manage IP addresses assigned to their products. |
Configuration and Management
IP Manager For WHMCS allows you to manage dedicated IP addresses' subnets, automatically assign them to clients/products/servers/addons/configurable options. The module enables clients to manage and order dedicated IP addresses, IPv4 or IPv6. |
Subnets
To manage any subnet via IP Manager you have to add it first. Remember that it is very important to configure any IP reservation rules before you create any subnets. If you add rules later on, they may not work properly! |
Create Subnet
To begin, add a new IP addresses subnet, press the 'Create New Subnet' button. |
Use 'Classless Inter-Domain Routing (CIDR)' notation to add subnets. First of all, select IP version: IPv4 or IPv6, type the subnet IP address and a correct bitmask.
Note: The first IP from the subnet should be compatible with CIDR notation. |
You can exclude any number of IP addresses from the subnet. To do so, enter them into 'Excluded IP Addresses:' textarea, one IP address or IP range per line. |
If you want to set nameservers and gateway click on 'Toggle Advanced Settings'. Enter nameservers and gateway address into textboxes as shown on the screen below (this step is optional). |
Available IP Subnets And Child Subnets
Once you have added some IP subnets you can preview some details on them and manage the IP addresses.
As you can see on the following screen, you can find here a list of subnets in a tree view. Press any of added IP subnets to see its details. |
Subnet
To view subnet's details press on its address as shown on the following screen. |
In the 'Subnet ' field, you can find information about the address, mask, size, nameservers, gateway and many others. |
Actions
The most important functions of your IP Manager For WHMCS include some actions that can be done on subnets. |
|
Excluded IP Addresses
List of excluded IP addresses. You can remove some addresses from the list or add new ones. Important! If you have any IP reservation rules set up, then do not include single IP addresses here. This option should be used as an addition if you do not use rules. |
Custom Fields
IP Manager allows you to add custom fields per subnet. To add a new custom field, press 'Create New Custom Field'. Afterwards, fill out the form with a custom field name and value. |
Assigned Client/Service
If you wish to assign an IP subnet to a client or specific service, our module makes it available to you. You can achieve that through using auto-complete textbox to choose the client and/or service.
Again, remember to 'Save Changes'. |
Keep in mind that a subnet that is assigned to a client is reserved for this client only. While IP addresses are assigned to a client, the following aspects are taken into consideration (in this order):
|
IP Addresses List
The easiest possible way of creating IP addresses within the created subnet. Simply select the number of IP addresses you want to create and press the 'Add IP Address' button. New address in the subnet will be generated. |
You may also add an IP address manually. To do so, press the 'Add Custom IP' button. |
Type in the IP address you wish to be created. |
Once the addresses are generated, you can proceed to their assignment. Use action or mass actions buttons to do so. |
Assign Single IP Address
You are now redirected to a page where you can assign this specific IP address to a service by entering a domain or a username, using 3rd party integration module or custom assignment. |
Choose the method you wish to use and save the changes. |
As you can see, the IP address is assigned to the previously selected service (related to chosen domain). You may always unassign this IP from this service and again assign it to another one, delete the IP address, create a custom field for this single address. |
Tree View
To clarify, a comfortable tree view of your created subnets and child-subnets is available. Let's take a look at it to summarize the divisions. |
You can see here a list of all subnets and child subnets in your IP Manager. Subnets marked in red already have some child subnets created, press any to show the list of child subnets. Accordingly available actions change. |
Any subnet can have child subnets created (with IP reservation rules taken into consideration) and custom fields assigned. |
Child subnets, however, can again have their child subnets created, can be split, merged or deleted.
You may also manually exclude some IP addresses from a child subnet, assign clients and services directly to it and finally manage single IP addresses in such subnet. |
Settings
Show Settings
Module Settings
Below, you can find description of each option.
|
IP Addresses Cleaner
IP Addresses Cleaner allows you to restore/remove IP addresses form WHMCS/IP Manager/both depending on chosen settings.
Important: After making any changes in those settings, press 'Update Settings'. Note: Please be aware that 'History' refers to the current "IP Logs" section. |
IP Addresses Cleaner allows you to automatically find and fix broken IP addresses assignment. For example, when you manually remove a product with IP addresses assigned or remove an IP subnet. |
IP Reservation
You can automate the process of IP assignment by adding some rules that will be then executed while assigning IP addresses from a subnet to clients or services. 'IP Reservation' rules can be configured under the 'Settings' section. |
Use the rules consciously because they will be then taken into consideration while assigning any IP from any subnet in your IP Manager. As it is stated in the guide visible on the screen, you need to stick to some standards while personalizing your assignment process. |
New Rules
To add a new rule, type in the required value in the 'Rule' field and describe it in the text box nearby. To illustrate: |
You can add more that one rule. If you do it thoughtfully, you will have much less work later on while creating new subnets because customized rules will substitute the need to fill out the 'Excluded IP Addresses' area. |
Default Custom Fields - Subnets
In this section ('Settings' → 'Default Custom Fields - Subnets') you are allowed to add and configure some custom fields that will be assigned to subnets by default. |
All you need to do is enter the name of your custom field, its value and save changes. |
Surely, you can create plenty of such custom fields and edit/remove the already existing. |
Default Custom Fields - IPs
Section 'Default Custom Fields - IPs' allows adding default custom fields per IP address within the selected subnet. Press 'Add New Default Field' to begin. |
Select subnet, the single IP addresses in which you wish to have the field assigned. You may point single subnet or select all existing subnets. Then, type in the custom field name and value. |
You can create plenty of such custom fields and then edit/remove the already existing ones. Keep in mind that if a custom field is assigned to all subnets, then action conducted on a custom field in a single subnet is triggered on all the other subnets! |
IP Assignment Mechanism
It is crucial to understand mechanism of automatic IP addresses assignment. In this section we will clarify it for you. 'IP Quantity' field defines the quantity of IP addresses added to the ordered product by triggering a specific relation.
Orders listed below will trigger different relations:
|
Automatic IP Assignment
The main reason, why this module has been created, was to automate IP addresses assignment. Here we will show you how to set up its configuration. In order to start, go to 'Configuration' → 'Create Configuration'.
Afterwards, press the 'Create New Configuration' button. On the screen below you can see sample configuration with two products selected. |
Now you have to assign at least one subnet to configuration. Use the 'Assigned Subnets' button. |
Choose a subnet from a dropdown menu and press the 'Assign Subnet' button. Keep in mind that you can assign multiple subnets to a single configuration. |
See the list of subnets assigned to your configuration.
|
On pressing subnet address you will be moved to its details where you can manage it. |
Advanced Configuration
Let's say, that you want to set multiple IP assignment to specific product, it is available with our module! Here we will show you how to set up multiple IP addresses assignment to configurable option 'Extra IP Addresses'. |
Afterwards, mark checkboxes next to configurable options you want to assign IP addresses to. Enter quantity of IP addresses which will be assigned to each configurable option and press 'Save Changes'. |
Usage Statistics
In each configuration you can find a graph, which shows the statistics of IP addresses assignment. |
3rd Party Integration
In this tab you can set up 3rd party integration which allows you to manage IP through our module in your WHMCS and synchronize changes on 3rd party servers. Note 1: Some of these integration submodules require free IP subnets (cPanel) or IP addresses (Plesk) on servers to be set up. |
Enabling 3rd Party Integration
Activation of all integration modules looks similar, there is only a difference in cPanel and cPanel Extended integration submodules. Start by pressing the 'Activate' button next to the module you want to activate. |
Press the 'Configure' button and assign configurations to it. Confirm through clicking 'Save Changes'. |
cPanel and cPanel Extended additionally allow you to choose the method of the integration.
|
As you can see on the following screen, you can easily check the quantity of configurations assigned to each 3rd party integration. |
Integration With Proxmox VE VPS/Cloud VPS For WHMCS
Integration with Proxmox VE VPS For WHMCS and Proxmox VE Cloud VPS For WHMCS is the only one to be set up both on the side of IP Manager For WHMCS and the integrated module. Note: This integration works for LXC and KVM virtualization types.
|
Integration With SolusVM Extended VPS For WHMCS
Integration with SolusVM Extended VPS For WHMCS is tricky. IP Manager For WHMCS cannot inject the first IP address to VPS, due to the way SolusVM API works. |
Test Integration Module
This module logs information about IP processing for 'Autorelease' type products. Your order should look similar to the one on the screen below. |
Creation of Integration Submodule
You can create your own integration, all you need is knowledge of the PHP programming language. You can do it through using 'Autorelease' submodule file. |
2. Rename copy to your new submodule name. Note: File name has to end with 'Integration', for example 'NewSubmoduleIntegration.php'. |
3. Edit the file, start by entering basic settings.
1. Class name should be the same as the file name. 2. Submodule name visible in IP Manager. 3. Submodule description displayed in IP Manager. 4. Place here an integrating module name ( the best way is to copy a folder name of the module ). |
4. Now, it is time to implement an integration part, you will need integrated module documentation to do it.
1. Configuration of 3rd party integration submodule. 2. Code assigning IP address to module product goes here. 3. You can add a code to unassign IP address here. |
4. In order to view a submodule you have just created, log in to your WHMCS and go to 'Addons' → 'IP Manager' → '3rd Party Integration'. |
Export
You can export your subnets with IP addresses to CSV and XML files. To export, go to the 'Export' tab, choose subnet to export and output format. |
Import
In the 'Import' tab you can find tools to synchronize IP addresses from your WHMCS as well as import them from a file. Synchronization
There are three available cron commands: |
IP Logs
The 'Logs' page stores the history of actions ordered on each of IP addresses. |
Integration Code
Integration described below is not obligatory. Module allows your customers to view IP addresses assigned to their product and order additional ones. |
Integration in WHMCS
Important! In this section, you will find the exemplary integration for the WHMCS 'Six' and 'Twenty-One' themes.
Please remember that the following code line numbers, as well as code fragments, may differ between distinct versions of WHMCS. |
After the integration for the WHMCS 'Six' theme, the client area section should look like here: |
The integration for the WHMCS 'Twenty-One' theme is presented here: |
After the integration for the WHMCS 'Twenty-One' theme, the client area section should look like here: |
The above described integration works for all products without exception. However, in case you wish to restrict the integration to limited number of products, please insert the below codes instead of the one suggested in the addon.
{if $moduleclientarea} <div class="moduleoutput">;{$moduleclientarea|replace:'modulebutton':'btn'} {if $pid == 26 || $module == 'yourModuleName_1' || $module == 'yourModuleName_2'} {$IPM2_anager_integration} {/if} </div> {/if}
|
Once such code is inserted in the template, IP Manager will be displayed for product with ID that equals 26 or if the product is based on 'yourModuleName_1/ yourModuleName_2' modules. Extend the IP Manager integration according to your needs. The above code is just an example which can undergo modifications. |
Admin Area
In the 'Products/Services' tab located in your client's profile view in the admin area you can manually assign and unassign IP addresses from the chosen products. To start, select one of the products ordered by your client and press 'Manage IP Addresses' next to the 'Dedicated IP' field. |
A new window will pop up, allowing you to manage the assignment of IP addresses. Select one of your IP pools from the 'Tree View' . In the window to the right you can select IP addresses from the chosen pool and assign them to your client's product. If any other IP addresses are already assigned to that product, you can replace them by toggling 'Override Already Assigned IP Addresses' . Additionally, toggle the 'Use submodule' option if you want the 3rd party integration to be used. Please note however, that this option requires the current list of assigned IP addresses to be overwritten. |
The third window in the bottom right corner allows you to manage the list of 'Already Assigned IP Addresses' . You can also preview there if any of the assigned IP addresses is also assigned using the 3rd party submodule integration. |
Client Area
Your clients can view and manage their IP addresses and subnets thanks to installed IP Manager For WHMCS module. To remove any IP address or subnet from a product, simply press the 'Unassign' button. |
Your client can also order a new IP address. Press 'Order Additional IP Addresses' as shown below. |
As soon as the addon is active, new IP address is granted. |
Add IP via Addon
Setting up an addon allows your client to add an IP address to their product using integration. Go to 'Setup' → 'Products/Services' → 'Product Addons' and press 'Add New Addon' . |
Afterwards, enter addon name, addon description and select applicable products. Set pricing for addon by choosing 'Billing Cycle' and typing price. |
Now, go to 'Addons' → 'IP Manager' and use configuration created before or create a new one. Remember to add the previously created addon as a configuration relation. |
Tick checkbox next to addon and enter the quantity of IP addresses to be added. Afterwards, click the 'Save Changes' button. |
If you enabled integration for the client area, your client should be able to order new IP addresses. |
Management of Custom Hooks
Our module allows you to use custom hooks. All you have to do is create some functions using PHP programming language. Here you can see possible hooks: before_ip_assign_hook($ip, $serviceid, $relation, $configid) after_ip_assign_hook($ip, $serviceid, $relation, $configid) before_ip_integrating_hook($ip, $service, $server) after_ip_integrating_hook($ip, $service, $server) before_ip_disintegrating_hook($ip, $service, $server) after_ip_disintegrating_hook($ip, $service, $server) |
To find details about hooks read 'custom_hooks.php' file. You can find there all hooks, information about their time of run, returned values and parameters. Logger::factory()->log('Custom hook was triggered'); It should look like on the screen below: |
Tips
1. If your client orders a product that is combined with two configurations (e.g. by product type and configurable option), IP Manager will add IP addresses from both configurations. |
2. If you have used IPv6 block before the update to IP Manager 2.2.0, all of them will be migrated to corresponding subnets. Note that migration is done automatically for you. |
3. IP Manager For WHMCS requires GMP or BCMath installed on your server. |
4. If API returns the error 'Unknown network interface' when adding a new IP address for Plesk 12 Integration, then you need to modify the file new_configuration.json located in your_whmcs/modules/addons/ipmanager2/app/modules/api/Plesk/. Firstly, change the name of the mentioned file from new_configuration.json to configuration.json. Next, open the file and provide the proper name for the interface. |
5. The module supports the "Lagom WHMCS Client Theme", if you want to use this theme in your client area you will have to insert a proper integration code in the dedicated template files. To easily copy the integration code, proceed to your addon → Integration Code section, and follow the described steps. |
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. |
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 IP Manager For WHMCS module to unlock these benefits. 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. In case of connection problems, please check whether your SELinux or firewall does not block ports. |
2. If you see something like this when moving to 'Addon' → 'IP Manager', remove a content of the 'template_c' folder. |
3. If you export a file and it is empty, check your 'Storage' folder chmod, it should be set to 755. Folder is located in 'your_whmcs/modules/addons/ipmanager2' . If you still have that problem, set chmod 777. |
4. For integration with SolusVM Extended For WHMCS, one additional IP address is always assigned to the Solus virtual machine through the IP Manager For WHMCS module, exceeding the quantity specified in the SolusVM product configuration. |