IP Manager For WHMCS
About IP Manager For WHMCS
IP Manager For WHMCS empowers you to add and manage IP subnets and automatically assign IP addresses to your servers, products, add-ons, or configurable options. Assign IP addresses from a chosen IP pool to specific clients' products, export IP subnets, and integrate with third-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 CSV, XML And JSON Formats |
✔ Omit Dedicated IP Address Fields For Chosen Configuration |
✔ Toggle Custom Field Usage Instead Of 'Assigned IP Address' 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 |
✔ Customize Module Language Files With 'Translations' Tool |
✔ Control Staff Access Level To Specific Resources With ACL |
✔ View And Manage 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 Client 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 |
- 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 With Custom Translations Tool |
✔ Supports PHP 8.2 Back To PHP 8.1 |
✔ 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
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. Extract the package and upload its content into the main WHMCS directory.
The content of the package to upload should look like this. |
3. When you install IP Manager For WHMCS for the first time, you have to rename the 'license_RENAME.php' file. The file is located in 'modules/addons/IpManager3/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
4. 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'. |
5. Remove all files from the 'templates_c' folder located in your WHMCS root directory. |
6. Set the 'storage' folder rights as recursively writable. The catalog is located in 'your_whmcs/modules/addons/IpManager3'. |
7. Now, you have to activate the module in your WHMCS system. Log in to your WHMCS admin area and go to 'System Settings' → 'Addon Modules'. |
8. In the next step, you need to permit access to the module. Click on the 'Configure' button, tick desired admin roles, and press 'Save Changes'. |
9. You have just successfully installed the IP Manager For WHMCS module! You can access your module in 'Addons' → 'IP Manager'. |
Configuration and Management
IP Manager For WHMCS empowers you to effortlessly manage dedicated IP address subnets and automatically assign them to clients, products, servers, add-ons, and configurable options. The module enables clients to manage and order dedicated IP addresses, both IPv4 and IPv6. |
Subnets
To manage subnets via IP Manager For WHMCS you have to add them first. Remember that it is crucial 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 address subnet by pressing the 'Add Subnet' button. |
First, select IP version: IPv4 or IPv6, then type in the subnet IP address and the correct bitmask. Correct bitmask ranges:
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:' text field, one IP address or IP range per line. |
Enter nameservers and gateway address into textboxes (this step is optional). |
Available IP Subnets And Child Subnets
Once you have added your IP subnets you can preview their details and manage the IP addresses.
You will find a list of subnets in a tree view. |
Subnet
Click on the parent subnet or child subnet to see its configuration. Available actions change accordingly. |
Information about the address, mask, size, nameservers, gateway, and others can be found here. You can change the gateway and nameservers by clicking the 'Edit' button. |
Actions
The most important functions of IP Manager For WHMCS include actions that can be done on subnets. |
|
Excluded IP Addresses
List of excluded IP addresses. You can remove addresses from the list or add new ones. |
You can exclude IP addresses one by one, or exclude a range of IP addresses. Separate the range with a hyphen ("-"), for example, 192.168.0.3-192.168.0.14. Note that range exclusion currently works for IPv4 only. Separate the addresses by a comma (",") or put each in a new line. Important: If you have any IP reservation rules set up, do not include IP addresses here. This option should be used as a substitute for using rules. |
Assigned Client/Service
Easily assign subnets to clients or specific services with our module. Select clients and services using our auto-complete textbox. Note: IP addresses will be added to all products ordered by the client and to all addons included in the products. |
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):
|
Custom Fields
IP Manager allows you to add custom fields to subnets and IP addresses. To add a new custom field, press 'Edit'. Afterward, input the custom fields one per line in the following format: |
Create IP Address
Creating IP addresses within the created subnet is straightforward. Simply press the 'Add IP Address' button and select the number of IP addresses you want to create. New addresses will be generated in the subnet. |
You may also add an IP address manually. To do so, press the 'Add Custom IP Addresses' button. |
Type in the IP address you wish to create. You can add a single custom IP address or a range of IP addresses. Separate the range with a hyphen ("-"), for example, 192.168.0.3-192.168.0.14. Note that range exclusion currently works for IPv4 only. |
Once the addresses are generated, you can proceed to their assignment. Use action or mass actions buttons to do so. |
Assign IP Address
You can assign the chosen IP address to a service or reserve it. Pick a service to assign the IP address to, and decide if you want to enable third-party integration. |
Configurations and Automatic IP Assignment
The main reason this module has been created was to automate IP address assignments. Here we will show you how to set up its configuration. In order to start, go to the 'Configurations' tab and click on the 'Create Configuration' button. |
Type in your configuration name and choose the 'Assignment Type'.
Press textboxes corresponding to the options you wish to add, and select them from dropdown menus:
Click on the 'Confirm' button when finished. |
Now you have to assign at least one subnet to the configuration. Use the 'Edit' button. |
Open the 'Subnets' tab, click on the 'Create Subnet Assignment' button and choose a subnet from a dropdown menu. Keep in mind that you can assign multiple subnets to a single configuration. |
See the list of subnets assigned to your configuration, you can use the action buttons to:
|
IP Addresses Quantity
You can set the configuration in such a way, to assign more than one IP address to a given product, addon, server or configurable option. The process is the same for each item. After creating a configuration, proceed to, for example the 'Products' tab and click on 'Edit'. |
Change the quantity of each type of IP address as needed and 'Confirm' the change. The new settings will be visible on the list. |
Utilities
IP Manager For WHMCS features numerous tools and utilities to help you manage your subnets with ease and efficiency. |
General Settings
Settings regarding the functionality of the module can be found here. The 'IP Addresses Cleaner' , a tool that automatically finds and fixes broken IP address assignments, can be configured here as well. See the sections below for more details. |
Module Settings
You will find instructions regarding data migration between versions 2.X and 3.X at the top of this section. The settings of the module that can be configured are as follows:
After making any changes in those settings, press 'Submit'. |
IP Addresses Cleaner
IP Addresses Cleaner allows you to restore/remove IP addresses from WHMCS/IP Manager/both depending on chosen settings.
After making changes in those settings, press 'Save Settings'. |
'IP Addresses Cleaner' allows you to automatically find and fix broken IP address assignments. For example, when you manually remove a product with IP addresses assigned or remove an IP subnet. php -q /yourWHMCS/modules/addons/IpManager3/cron/cron.php clean |
Export
You can export your subnets with IP addresses to CSV, XML, and JSON files. To export, go to the 'Export' tab, and choose the 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
Here is the script that can be used to synchronize the IP addresses: php -q /yourWHMCS/modules/addons/IpManager3/cron/cron.php Import Running the script will import all IP addresses into subnets. php -q /yourWHMCS/modules/addons/IpManager3/cron/cron.php Import 1,2,3 Moreover, you can keep the synchronization running continuously by setting up a cron.
|
Third Party Integration
In this tab you can set up 3rd party integrations which allow you to manage IP addresses 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. |
Activation of all integration modules looks similar, there is only a difference in cPanel and cPanel Extended integration submodules. Start by pressing the 'Status' toggle button next to the module you want to activate and press the 'Edit' button. |
Assign configurations that will use the integration. If the configurations you assigned feature the 'Subnet' assignment type, you can choose if all or only the first IP address should be automatically assigned. |
cPanel and cPanel Extended additionally allow you to choose the method of the integration.
|
You can easily check the number 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 a more complex process. IP Manager For WHMCS cannot inject the first IP address to VPS, due to the way SolusVM API works. |
Creation of Integration Submodule
You can create your own integration, all you need is knowledge of the PHP programming language. 1. First, create a new folder in 'your_whmcs/modules/addons/IpManager3/app/Modules/ '. |
2. Create a new .php file inside the new catalog and start editing it. Note: File name has to end with 'Integration', for example, 'NewSubmoduleIntegration.php'. |
3. Paste in the following code:
<?php namespace ModulesGarden\IpManager3\App\Modules\IntegrationCustom; use ModulesGarden\IpManager3\App\Services\ModulesService\IntegrationModule; use function ModulesGarden\IpManager3\App\Modules\logModuleCall; class Integration extends IntegrationModule { public function getName(): string { return 'Custom Integration'; } public function getDescription(): string { return 'Custom integration Module description.'; } public function getModuleType(): string { return 'Custom'; } public function showConfiguration(): string { return ''; } public function setIPAddress($ip, $service, $server, $pool, $iteration) { } public function unsetIPAddress($ip, $service = null, $server = null) { } }
|
4. Include your integration code in the rest of the structure |
5. You can see your newly added integration in the 'Third Party Integration' section of the 'Utilities'. |
IP Addresses Reservation
You can automate the process of IP address assignment by creating rules that will then be executed while assigning IP addresses from a subnet to clients or services. 'IP Addresses Reservation' rules can be configured under the 'Utilities' section. Use the rules consciously because they will be then taken into consideration while assigning all IP addresses from all subnets in the module. Click on the 'Create Rule' button to formulate a new rule. |
You need to follow the formulas described in the guide while personalizing your assignment process. To add a new rule, type in the required value in the 'Rule' field and describe it in the 'Rule Name' field. 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, you are allowed to add and configure custom fields that will be assigned to subnets by default. Press the 'Add Default Custom Fields - Subnets' button to begin. |
All you need to do is enter the name of your custom field, and its value and save changes. |
You can create a lot of such custom fields and edit/remove them when the need arises. |
Default Custom Fields - IP Addresses
The 'Default Custom Fields - IP Addresses' section allows you to add default custom fields per IP address within the selected subnet. Press the 'Add Default Custom Field - IP Addresses' button to begin. |
Select a subnet and the single IP addresses to 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 a lot of such custom fields and then edit/remove them as needed. Note: Keep in mind that if a custom field is assigned to multiple subnets, then the action conducted on a custom field in a single subnet is triggered on all the other subnets. |
Other
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. |
Access Control
'Access Control' allows you to specify and control exactly which sections of the module can be accessed by your administrators. The way it works is that you create access control rules in which you decide if a specific admin, or admin role has full access, or is restricted to only specific sections. |
Rules
Start with creating a new rule, click on the 'Create Rule' button and a dedicated form will appear. Below you will find a description of every field required in the form. |
Fill out the following fields to create resources access rule:
Important: When picking specific sections, keep in mind that allowing a parent section will also allow all of its children. |
To edit or delete existing rules, use the icons to the right. |
Resources
Use the toggles in the 'Resources' section to specify which of them should be subject to logging, found in the 'Logs' section. Every time an administrator requests a toggled resource, it will be recorded. |
Access Control Logs
The logs section includes:
Use the trash bin icons to delete specific logs, or utilize the mass action function to delete multiple logs at once. |
Logs
The 'Logs' page stores the history of actions ordered on each of the IP addresses. 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. |
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. |
In the settings you can specify which log types should be recorded, and whether they should be deleted automatically after a specific time. |
While exporting you will pick a time frame and the log types to export. |
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. |
Dashboard
The 'Dashboard' conveys the most important information as it happens, so there is no need to check any specific module sections during the day-to-day operations. The 'Latest Assigned IP Addresses' widget displays the most recently assigned IP addresses along with the related product, client, and date. |
The 'Latest Logs' widget shows the most recent log entries including the id, related item, log message, log type, and date. You can manage the logs through actions and mass actions without the need of going into the 'Logs' tab. |
IP Address Management in Products
Underneath, you will find practical usage of the module. Check how the IP addresses can be managed per product on both the admin and the client sides. Check what option the module offers for product admin and end-users. |
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. Click on 'Assign IP Addresses' first. 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' . 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. |
You can see assigned IP addresses in the 'Manage Service IP Addresses' tab. 3rd party submodule integration status is also displayed for each assigned IP address. |
Client Area
Your clients can view and manage their IP addresses and subnets thanks to the installed IP Manager For WHMCS module, as long as the responsible setting is enabled in the 'General Settings' . To remove any IP address or subnet from a product, simply press the 'Unassign' button. |
Your client can also order a new IP address by pressing the 'Order IP Address' button. Your client will be moved to an order form containing previously configured addons. |
As soon as the addon activates, new IP address is granted. |
Add IP Addresses via Addon
Setting up an addon allows your client to add an IP address to their product using integration. Go to 'System Settings' → 'Products/Services' → 'Product Addons' and press 'Add New Addon' . |
Afterwards, enter the addon name, and addon description and price. Select the applicable products. Confirm through pressing the 'Save Changes' button. |
Now, go to 'Addons' → 'IP Manager' → 'Configurations' and edit configuration created before or create a new one. Navigate to the 'Addons' tab, add the previously created addon as a configuration relation and define the number of IP addresses. |
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 the migration is done automatically for you. |
3. IP Manager For WHMCS requires GMP or BCMath installed on your server. |
4. If API returns the 'Unknown network interface' error when adding a new IP address for Plesk 12 Integration, then you need to modify the configuration.yml file located in your_whmcs/modules/addons/IpManager3/app/Config/. Open the file and provide the proper name for the interface under pleskInterfaceName . To make sure that you provided the appropriate interface name, log in to your Plesk panel, proceed to the 'Tools & Settings -> IP Addresses' section, and check the interface name. |
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. |
Important: If you are updating the module to version 3.X, you must deactivate the current addon module and delete its files before performing the update. This will ensure all potential conflicts are avoided. To migrate data from IP Manager For WHMCS version 2.X to version 3.X, please use the following command: php -q /your_whmcs/modules/addons/IpManager3/cron/cron.php migrate |
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 an empty box when moving to 'Addon' → 'IP Manager', remove the 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/ipmanager3' . 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. |