Personal tools
Namespaces

Variants
Actions

IP Manager For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(Creation of Integration Submodule)
(Add IP Addresses via Addon)
 
(139 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 
<meta name="keywords" content="ip manager for whmcs, ip manager configuration, whmcs ip manager management, whmcs ip manager installation, whmcs ip manager common problems, about whmcs ip manager, whmcs ip manager documentation, whmcs ip manager faq, whmcs ip manager help, whmcs ip manager guide, whmcs ip manager wiki, whmcs ip manager tutorial, whmcs ip manager tips, whmcs ip manager wiki"></meta>
 
<meta name="keywords" content="ip manager for whmcs, ip manager configuration, whmcs ip manager management, whmcs ip manager installation, whmcs ip manager common problems, about whmcs ip manager, whmcs ip manager documentation, whmcs ip manager faq, whmcs ip manager help, whmcs ip manager guide, whmcs ip manager wiki, whmcs ip manager tutorial, whmcs ip manager tips, whmcs ip manager wiki"></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The IP Manager For WHMCS Module."></meta>
 
<meta name="description" content="ModulesGarden Wiki Contains All The Information You Need About The IP Manager For WHMCS Module."></meta>
 +
 +
<h4 style="color: #ff0000; font-weight:bold; text-align:center;">Article update is ongoing on this page, watch out for broken links, unclear descriptions and images!<br/>
 +
We are sorry for the inconvenience caused.</h4>
  
 
=About [https://www.modulesgarden.com/products/whmcs/ip-manager IP Manager For WHMCS]=
 
=About [https://www.modulesgarden.com/products/whmcs/ip-manager IP Manager For WHMCS]=
 
{|
 
{|
|style="padding: 10px 0px 5px 0px;"|'''IP Manager For WHMCS''' allows you to conveniently add and manage IP subnets and automatically assign IP addresses to your servers, products, addons or configurable options.<br />
+
|style="padding: 10px 0px 5px 0px;"|'''IP Manager For WHMCS''' empowers you to effortlessly add and manage IP subnets and automatically assign IP addresses to your servers, products, add-ons, or configurable options.<br />
Our module will allow you to assign IP subnets to specified clients as well as integrate with 3rd party applications like cPanel, export IP subnets or view clear graphs.<br />
+
With IP Manager, you can quickly assign IP addresses from a chosen IP pool to specific clients' products, effortlessly export IP subnets, and seamlessly integrate with third-party applications like cPanel.<br />
You will also be able to synchronize IP addresses used by products in your WHMCS system with the module's IP subnets.<br />
+
Additionally, you can synchronize IP addresses used by products in your WHMCS with the module's IP subnets.<br />
What is more, IP Manager For WHMCS will enable your customers to easily manage their IP addresses from the WHMCS client area.
+
IP Manager also empowers your customers to manage their IP addresses directly from the WHMCS client area, providing them with greater control and convenience.<br/>
 +
IP Manager streamlines IP address management, saving you time and effort while enhancing the customer experience.
 
|}
 
|}
<!--a comment maybe? -->
 
 
*'''Admin Area Features:'''
 
*'''Admin Area Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Show And Manage Multi-Level IP Subnets In Tree-View
+
|style="padding: 10px 0px 0px 30px;"|✔ Show And Manage Multi-Level IP Subnets With IP Pools In Tree-View
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Assign/Unassign/Delete IP Addresses Directly From Products/Services View
 
|}
 
|}
 
{|
 
{|
Line 27: Line 33:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Subnets
+
|style="padding: 0px 0px 0px 45px;"|✔ IP Subnets
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ IP Addresses In Chosen Subnets
+
|style="padding: 0px 0px 0px 45px;"|✔ IP Addresses In Chosen Subnets/Pools
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Export/Import IP Subnets - Supports XML And CSV Formats
+
|style="padding: 0px 0px 0px 30px;"|✔ Export/Import IP Subnets/Pools - Supports XML And CSV Formats
 
|}
 
|}
 
{|
 
{|
Line 39: Line 45:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Toggle Custom Field Usage Instead Of 'Assigned IP' Field
+
|style="padding: 0px 0px 0px 30px;"|✔ Toggle Custom Field Usage Instead Of 'Assigned IP Address' Field
 
|}
 
|}
 
{|
 
{|
Line 57: Line 63:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ View Logs
+
|style="padding: 0px 0px 0px 30px;"|✔ Customize Module Language Files With 'Translations' Tool
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 30px;"|✔ View And Manage Logs
 
|}
 
|}
  
 
*'''IP Subnet Features:'''
 
*'''IP Subnet Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Add IP Subnet Using CIDR Notation
+
|style="padding: 10px 0px 0px 30px;"|✔ Add IP Subnet/Pool Using CIDR Notation
 
|}
 
|}
 
{|
 
{|
Line 68: Line 77:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View IP Addresses Of IP Subnet
+
|style="padding: 0px 0px 0px 30px;"|✔ View IP Addresses Of Subnets/Pools
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Split/Merge Subnet
+
|style="padding: 0px 0px 0px 30px;"|✔ Split/Merge IP Subnet
 
|}
 
|}
 
{|
 
{|
Line 77: Line 86:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Delete Single IP Address From IP Subnet
+
|style="padding: 0px 0px 0px 30px;"|✔ Delete Single IP Address From Subnets/Pools
 
|}
 
|}
 
{|
 
{|
Line 86: Line 95:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Lock IP Subnet To Client Or Clients Service
+
|style="padding: 0px 0px 0px 30px;"|✔ Lock IP Subnet To Client Or Client Service
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Create Custom Fields For IP Subnet Or IP Address
+
|style="padding: 0px 0px 0px 30px;"|✔ Create Custom Fields For Subnets/Pools/IP Addresses
 
|}
 
|}
 
{|
 
{|
Line 130: Line 139:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/proxmox-vps Proxmox VPS]
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/proxmox-vps Proxmox VE VPS]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/proxmox-cloud Proxmox Cloud]
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/proxmox-cloud-vps Proxmox VE Cloud VPS]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/solusvm-extended-vps SolusVM Extended VPS]
 
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/solusvm-extended-vps SolusVM Extended VPS]
|}
 
{|
 
|style="padding: 0px 0px 10px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/virtuozzo-vps Virtuozzo VPS]
 
 
|}
 
|}
 
*'''General Info:'''
 
*'''General Info:'''
Line 158: Line 164:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 5.4 Up To PHP 7
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.1
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Templates Five and Six
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme"
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V6 and V7
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.10 Back To WHMCS V8.7
 
|}
 
|}
 
=Installation=
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''This tutorial will show you how to successfully install and configure IP Manager For WHMCS.''' <br />
+
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V12 Or Later
We will guide you step by step through the whole installation and configuration process.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''1. Log in to your client area and download the module.'''
+
|style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/ip-manager#open-source-version Open Source Version]
 
|}
 
|}
 +
 +
=Installation=
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM1.png]]
+
|style="padding: 10px 0px 15px 15px;"|'''This tutorial will show you how to successfully install and configure [https://www.modulesgarden.com/products/whmcs/ip-manager IP Manager For WHMCS.]''' <br />
 +
We will guide you step by step through the whole installation and configuration process.<br/><br/>
 +
'' '''Note:''' If you are still using any versions of IP Manager For WHMCS '''prior to v3.x''', [https://www.docs.modulesgarden.com/IP_Manager_2.5.X_For_WHMCS read about it here].''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|'''2. In the downloaded file you will find two packages that support different PHP versions.'''<br/>As presented on the screen below, the first one is dedicated to PHP 7, while the second one is aimed at PHP 5.4 up to PHP 5.6.<br/>It does not apply to open source versions.<br/>
+
|style="padding: 0px 0px 20px 15px;"|'''1. Log in to our client area and download the module.'''
'' '''Note''': You can check current PHP version in your WHMCS. To do so proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. Extract the downloaded file and choose the one with the right PHP version. Upload and extract the PHP file into the main WHMCS directory.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''2. Extract the package and upload its content into the main WHMCS directory.
The content of PHP version files should look like this.  
+
The content of the package to upload should look like this.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:gvhgy.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. When you install IP Manager 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 IP Manager For WHMCS for the first time, you have to rename the '' 'license_RENAME.php' '' file.'''<br />
File is located in '' 'modules/addons/ipmanager2/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
+
The file is located in '' 'modules/addons/ipmanager2/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_2.png]]
 
|}
 
|}
 
{|
 
{|
|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 the 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 your 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 207: Line 213:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''6. Remove all files from '' 'tempates_c' '' folder located in your WHMCS root directory.'''
+
|style="padding: 0px 0px 20px 15px;"|'''5. Remove all files from the '' 'templates_c' '' folder located in your WHMCS root directory.'''
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|'''7. Now, you have to activate the module in your WHMCS system.'''<br />
+
Log in to your WHMCS admin area and go to '' 'Setup' '' → '' 'Addon Modules'. ''<br />
+
Afterwards, find '' 'IP Manager' '' and press '' 'Activate' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_5.png]]
+
|style="padding: 0px 0px 15px 15px;"|'''6. Now, you have to activate the module in your WHMCS system.'''<br />
 +
Log in to your WHMCS admin area and go to '' 'System Settings' '' → '' 'Addon Modules'. ''<br />
 +
Afterward, find '' 'IP Manager' '' and press the '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''8. In the next step you need to permit the access to the module.'''<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_4.png]]
Click on '' 'Configure' '' button, tick desired admin roles and press '' 'Save Changes'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_6.png]]
+
|style="padding: 0px 0px 15px 15px;"|'''7. In the next step, you need to permit access to the module.'''<br />
 +
Click on the'' 'Configure' '' button, tick desired admin roles, and press '' 'Save Changes'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''9. The last step is setting chmod 755 to '' 'storage' '' folder.'''<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_5.png]]
Folder is located in '' 'you_whmcs/modules/addons/ipmanager2'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM6.1.png]]
+
|style="padding: 0px 0px 15px 15px;"|'''8. The last step is setting the '' 'storage' '' folder rights as recursively writable.'''<br />
 +
The catalog is located in '' 'you_whmcs/modules/addons/IpManager3'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''10. You have just successfully installed IP Manager!'''<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_6.png]]
You can access your module in '' 'Addons' '' → '' 'IP Manager'. '' Additionally you can also add [https://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Integration_Code Integration Code] to allow your customers to view and manage IP addresses assigned to their products.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_7.png]]
+
|style="padding: 0px 0px 30px 15px;"|'''9. You have just successfully installed IP Manager!'''<br />
 +
You can access your module in '' 'Addons' '' → '' 'IP Manager'. ''
 
|}
 
|}
  
 
=Configuration and Management=
 
=Configuration and Management=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''IP Manager For WHMCS allows you to manage dedicated IP addresses' subnets, automatically assign them to clients/products/servers/addons/configurable options.<br />
+
|style="padding: 10px 0px 30px 15px;"|'''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.<br />
The module enables clients to manage and order dedicated IP addresses, IPv4 or IPv6.<br />
+
The module enables clients to manage and order dedicated IP addresses, both IPv4 and IPv6.<br />
In this short guide the possibilities of the module will be briefly described.  
+
In this short guide, the possibilities of the module will be briefly described.  
 
|}
 
|}
 
==Subnets==
 
==Subnets==
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|To manage any subnet via IP Manager you have to add it first.<br />
+
|style="padding: 10px 0px 30px 15px;"|To manage subnets via IP Manager For WHMCS you have to add them first.<br />
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!<br/>
+
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.<br/>
Read about rules reservation [http://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#IP_Reservation here.]<br/>
+
Read about rules reservation [[#IP_Addresses_Reservation|here]].<br/>
 
|}
 
|}
 
===Create Subnet===
 
===Create Subnet===
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|To begin, add a new IP addresses subnet, press'' 'Create New Subnet' '' button.
+
|style="padding: 10px 0px 20px 15px;"|To begin, add a new IP address subnet by pressing the '' 'Add Subnet' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_8.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_8.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Use '' 'Classless Inter-Domain Routing (CIDR)' '' notation to add subnets.<br/>
+
|style="padding: 0px 0px 15px 15px;"|First, select IP version: IPv4 or IPv6, then type in the subnet IP address and the correct bitmask.<br/>
First of all, select IP version: IPv4 or IPv6, type the subnet IP address and a correct bitmask.<br/>
+
Correct bitmask ranges:<br/>
Correct ranges:<br/>
+
 
*IPv4 - 1 to 32
 
*IPv4 - 1 to 32
 
*IPv6 - 1 to 128
 
*IPv6 - 1 to 128
''Note: The first IP from the subnet should be compatible with [http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR notation].''
+
'''''Note:''' The first IP from the subnet should be compatible with [http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR notation].''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_9.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_9.png]]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|You can exclude any number of IP addresses from the subnet.<br />
 
|style="padding: 0px 0px 15px 15px;"|You can exclude any number of IP addresses from the subnet.<br />
To do so, enter them into '' 'Excluded IP Addresses:' '' textarea, one IP address or IP range per line.<br />
+
To do so, enter them into '' 'Excluded IP Addresses:' '' text field, one IP address or IP range per line.<br />
 +
'''''Note:''' The beginning and end of an IP range should be separated by a hyphen. For example, 192.168.0.3-192.168.0.14.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_10.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_10.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|If you want to set nameservers and gateway click on '' 'Toggle Advanced Settings'. ''<br/>
+
|style="padding: 0px 0px 15px 15px;"|
Enter nameservers and gateway address into textboxes as shown on the screen below ''(This step is optional)''.<br />
+
Enter nameservers and gateway address into textboxes ''(this step is optional)''.<br />
Afterwards, confirm the creation of the subnet through pressing '' 'Add Subnet' '' button.
+
Afterward, finalize the creation of the subnet by pressing the '' 'Confirm' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_11.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_11.png]]
 
|}
 
|}
  
 
===Available IP Subnets And Child Subnets===
 
===Available IP Subnets And Child Subnets===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Once you have added some IP subnets you can preview some details on them and manage the IP addresses.
+
|style="padding: 10px 0px 15px 15px;"|Once you have added your IP subnets you can preview their details 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.
+
You will find a list of subnets in a tree view.<br/>If you add child subnets, you will be able to see them by clicking on the arrow sign next to the parent subnet.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_13.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_12.png]]
 
|}
 
|}
 
====Subnet====
 
====Subnet====
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|To view subnet's details press on its address as shown on the following screen.
+
|style="padding: 10px 0px 20px 15px;"|Click on the parent subnet or child subnet to see its configuration. Available actions change accordingly.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_14.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_13.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|In '' 'Subnet'' ' field, you can find information about the address, mask, size, nameservers, gateway and many others.
+
|style="padding: 0px 0px 15px 15px;"|Information about the address, mask, size, nameservers, gateway, and others can be found here.<br/>You can change the gateway and nameservers by clicking the '' 'Edit' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_15.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_14.png]]
 
|}
 
|}
'''Actions'''
+
 
 +
====Actions====
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|The most important functions of your IP Manager For WHMCS include some actions that can be done on subnets.<br />
+
|style="padding: 10px 0px 10px 15px;"|The most important functions of IP Manager For WHMCS include actions that can be done on subnets.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|
+
|style="padding: 0px 0px 15px 15px;"|
*'''Delete''' - use it to remove the subnet together with any IP address in it (if there are such already).
+
*'''Split Subnet''' - divide the subnet into smaller subnets according to the chosen mask. Keep in mind that the subnet may include already assigned IP addresses.<br/>If you split such a subnet, the assigned IP addresses might be transferred to another subnet.
*'''Split''' - select split to divide the subnet into equal subnets according to the chosen mask. Keep in mind that the subnet may already include some assigned IP addresses.
+
*'''Merge Subnet''' - use this option to join the previously split subnet. Note, that you can merge only parallel subnets.<br/>Additionally, you must remember that merge action removes IP addresses from external servers.
*:If you split such a subnet, the assigned IPs might be transferred to another subnet.
+
*'''Create Child Subnet''' - this option allows for the creation of subnets within a  '' 'parent' '' subnet.<br/>Such child subnet may again be split/merged, and have its child subnets.
*'''Merge''' - use this option if you want to join previously split subnet. Note that you can merge only parallel subnets.<br/>  
+
*'''Delete''' - use it to remove the subnet together with any IP address in it.
*:Additionally, you must remember that merge action removes IP addresses from external servers.
+
*'''Create Child Subnet''' - this option allows to create subnet within a  '' 'parent' '' subnet.
+
*:Such s child subnet may again be split/merged, have its own child subnets.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_17.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_15.png]]
 
|}
 
|}
  
 
====Excluded IP Addresses====
 
====Excluded IP Addresses====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|List of excluded IP addresses. You can remove some addresses from the list or add new ones. <br/>
+
|style="padding: 10px 0px 20px 15px;"|List of excluded IP addresses. You can remove 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.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_18.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_16.png]]
 
|}
 
|}
 
====Custom Fields====
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|IP Manager allows you to add custom fields per subnet.<br />
+
|style="padding: 0px 0px 15px 15px;"|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.<br/>Note that range exclusion currently works for IPv4 only. Separate the addresses by a comma (",") or put each in a new line.<br/>
To add a new custom field, press '' 'Create New Custom Field'. '' Afterwards, fill out the form with custom field name and value. <br/>
+
'''''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.''
Again, this option should be used if you do not specify default custom fields or if you want to add some additional ones. Be careful not to double custom fields here.  
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_19.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_16.1.png]]
 
|}
 
|}
  
 
====Assigned Client/Service====
 
====Assigned Client/Service====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|If you wish to assign an IP subnet to a client or specific service, our module makes it available to you.<br />
+
|style="padding: 10px 0px 15px 15px;"|Easily assign subnets to clients or specific services with our module.<br />Select clients and services using our auto-complete textbox.<br />
You can achieve that through using auto-complete textbox to choose the client and/or service.
+
'''Note:''''' IP addresses will be added to all products ordered by the client and to all addons included in the products.''  
Again, remember to '' 'Save Changes'. ''<br />
+
''Notes:<br/>
+
IP addresses will be added to all products ordered by client.<br/>
+
IP addresses will be added to all addons included in products.''  
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_20.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_18.png]]
 
|}
 
|}
 
{|
 
{|
Line 363: Line 356:
 
|}
 
|}
  
===IP Addresses List===
+
====Custom Fields====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|The easiest possible way of creating IP addresses within the created subnet.<br/>
+
|style="padding: 10px 0px 15px 15px;"|IP Manager allows you to add custom fields to subnets and IP addresses.<br />
Simply select the number of IP addresses you want to create and press '' 'Add IP Address' '' button. New address in the subnet will be generated.  
+
To add a new custom field, press '' 'Edit'.'' Afterward, input the custom fields one per line in the following format: <code>customFieldName: customFieldValue</code>. <br/>
 +
This option should be used if you do not specify [[#Default_Custom_Fields_-_Subnets|default custom fields]] or want to add additional ones. Be careful not to double custom fields here.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_21.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_17.png]]
 
|}
 
|}
 +
 +
====Create IP Address====
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|You may also add an IP address manually. To do so, press '' 'Add Custom IP' '' button.
+
|style="padding: 10px 0px 15px 15px;"|Creating IP addresses within the created subnet is straightforward.<br/>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.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_21_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_19.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Type in the IP address you wish to be created.
+
|style="padding: 0px 0px 20px 15px;"|You may also add an IP address manually. To do so, press the '' 'Add Custom IP Addresses' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_21_2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_20.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Once the addresses are generated, you can proceed to their assignment.<br/>
+
|style="padding: 0px 0px 15px 15px;"|Type in the IP address you wish to create. You can add a single custom IP address or a range of IP addresses.<br/>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.
Use action or mass actions buttons to do so.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_22.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_21.png]]
 
|}
 
|}
====Assign Single IP Address====
 
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|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,<br/> using 3rd party integration module or custom assignment.
+
|style="padding: 0px 0px 15px 15px;"|Once the addresses are generated, you can proceed to their assignment.<br/>
 +
Use action or mass actions buttons to do so.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_23.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_22.png]]
 
|}
 
|}
 +
 +
====Assign IP Address====
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Choose the method you wish to use and save the changes.
+
|style="padding: 10px 0px 15px 15px;"|You can assign the chosen IP address to a service or reserve it.<br/>
 +
Pick a service to assign the IP address to, and decide if you want to enable third-party integration.<br/> Alternatively, switch to '' 'Custom Assignment' '' to reserve an IP address without linking it to any service in the database.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_24.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_23.png]]
 
|}
 
|}
 +
 +
==Configurations and Automatic IP Assignment==
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|As you can see, IP address is assigned to the selected previously service (related to chosen domain).<br> You may always unassign this IP from this service and again assign it to another one, delete the IP address, create custom field for this single address.
+
|style="padding: 10px 0px 15px 15px;"|The main reason this module has been created was to automate IP address assignments.<br />
 +
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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_25.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_26.png]]
 
|}
 
|}
 
===Tree View===
 
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|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.
+
|style="padding: 0px 0px 15px 15px;"|Type in your configuration name and choose the '' 'Assignment Type'.''
 +
*'''IP Addresses Assignment''' - products, servers, addons, and configurable options will receive singular IP addresses.
 +
*'''Subnet Assignment''' - whole separate subnets will be assigned to products, servers, addons, and configurable options.
 +
 
 +
Press textboxes corresponding to the options you wish to add, and select them from dropdown menus:
 +
*Products
 +
*Servers
 +
*Addons
 +
*Configurable Options<br/>
 +
Click on the '' 'Confirm' '' button when finished.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_26.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_42.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"| You can see here a list of all subnets and child subnets in your IP Manager. Subnets marked with red already have some child subnets created, press any to show the list of child subnets.<br/> Accordingly available actions change.  
+
|style="padding: 0px 0px 20px 15px;"|Now you have to assign at least one subnet to the configuration. Use the '' 'Edit' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_27.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_43.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"| Any subnet can have child subnets created (with IP reservation rules taken into consideration) and custom fields assigned.
+
|style="padding: 0px 0px 15px 15px;"|Open the '' 'Subnets' '' tab, click on the '' 'Create Subnet Assignment' '' button and choose a subnet from a dropdown menu.<br />
 +
Keep in mind that you can assign multiple subnets to a single configuration.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_28.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_44.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"| Child subnets, however, can again have their child subnets created, can be split, merged or deleted.
+
|style="padding: 0px 0px 15px 15px;"|See the list of subnets assigned to your configuration, you can use the action buttons to:
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.
+
*Manage additional Information: nameservers, gateway.
 +
*Remove the subnet from the list.
 
|}
 
|}
 
==Settings==
 
===Show Settings===
 
====Module Settings====
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|Below, you can find description of each option.
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_45.png]]
*'''Assignment Process Settings'''
+
*#For any configuration you provide into this field, '' 'Dedicated IP' '' field will be omitted.
+
*#If checked, additional IP addresses will be stored in a custom field or '' 'Assigned IPs' '' field.
+
*#If checked, in case of a server provisioning failure, relation will be saved.
+
*#Automatically process the IP address when downgrading the configurable option.
+
*#Module ignores error message from an external server and continues the action.
+
*'''IP Logs Settings'''
+
*#IP addresses without product or user will not be displayed in '' 'IP Logs' '' page.
+
*'''IP Reservation Settings'''
+
*#If you check this checkbox, you will allow to add IP reservation rules.
+
*'''Email Reminder Settings'''
+
*#If you check this checkbox, you will receive an email with notification about IP subnets running out of IP addresses.
+
*#Enables you to define percentage value which, when exceeded by any subnet, results in a notification being sent.
+
 
|}
 
|}
 +
===IP Addresses Quantity===
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_31.png]]
+
|style="padding: 10px 0px 15px 15px;"|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.<br />
 +
The process is the same for each item. After creating a configuration, proceed to, for example the '' 'Products' '' tab and click on '' 'Edit'.''
 
|}
 
|}
 
====IP Addresses Cleaner====
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|IP Addresses Cleaner allows you to restore/remove IP addresses form WHMCS/IP Manager/both depending on chosen settings.
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_47.png]]
*'''IP Addresses Cleaner Settings'''
+
*#IP address are added to hosting if relation exists.
+
*#IP address' relation are removed if IP address is not assigned to any hosting.
+
*#If IP address does not exist in any subnet, it is removed from hosting.
+
*#Create IP address' relation if it does not exist.
+
*#If IP address does not exist in any subnet, it is removed from relations.
+
*#Set IP address as unassigned if its relation does not exist.
+
'''Important:''' After making any changes in those settings, press '' 'Update Settings'. ''<br />
+
Otherwise, settings will not be saved and the Cleaner will run using old ones.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_32.png]]
+
|style="padding: 0px 0px 15px 15px;"|Change the quantity of each type of IP address as needed and '' 'Confirm' '' the change.<br />
 +
The new settings will be visible on the list.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|IP Addresses Cleaner allows you to automatically find and fix broken IP addresses assignment.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_48.png]]
For example, when you manually remove a product with IP addresses assigned or remove an IP subnet.<br />
+
To start IP Addresses Cleaner, press '' 'Perform Cron Cleanup' ''.<br />
+
Actions issued by the cleaner are listed in a popup as shown on the following screen.
+
 
|}
 
|}
 +
 +
==Utilities==
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM24_6.png]]
+
|style="padding: 10px 0px 30px 15px;"|IP Manager For WHMCS features numerous tools and utilities to help you manage your subnets with ease and efficiency.
 
|}
 
|}
 
+
===General Settings===
===IP Reservation===
+
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|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.<br/>
+
|style="padding: 10px 0px 30px 15px;"|Settings regarding the functionality of the module can be found here.<br/> The '' 'IP Addresses Cleaner' '', a tool that automatically finds and fixes broken IP address assignments, can be configured here as well.<br/>
'' 'IP Reservation' '' rules can be configured under '' 'Settings' '' section.
+
See the sections below for more details.
 
|}
 
|}
 +
====Module Settings====
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_34.png]]
+
|style="padding: 10px 0px 15px 15px;"|The settings of the module that can be configured are as follows:
 +
*'''Omit "Dedicated IP" Field for:''' - The configurations you include in the field will '''not''' have the '' 'Dedicated IP' '' field present in the Client Area, instead assigned IP addresses or custom fields will be displayed.
 +
*'''Switch to 'IP Addresses' Custom Field''' - Additional IP addresses can be stored in either the 'IP Addresses' custom field or 'Assigned IPs' field.
 +
*'''Record All IP Addresses in History''' - When enabled, relations will be saved even in case of a server provisioning failure.
 +
*'''Exclude Non-existent Entries from Logs''' - IP addresses without products or users will not be displayed in the 'Logs'.
 +
*'''Handle IP Address During Downgrades''' - Automatically process the IP address when downgrading the configurable option.
 +
*'''IP Address Reservation''' - If this option is enabled, the IP reservation rules will be used.
 +
*'''IP Address Processing by Integration Module''' - The module ignores error messages from an external server and continues the action.
 +
*'''IP Addresses Management in Client Area''' - Allows the clients to manage their assigned IP addresses in the Client Area.
 +
*'''Subnet IP Address Shortage Notification''' - Enable to receive email notifications when a subnet is about to run out of available IP addresses.
 +
*'''Exceeded Percentage Notifications''' - Email notifications will be sent after a subnet exceeds the percentage of available IP addresses defined here.
 +
After making any changes in those settings, press 'Save Settings'.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Use the rules consciously because they will be then taken into consideration while assigning any IP from any subnet in your IP Manager.<br/>
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_29.png]]
Like it is stated in the guide visible on the screen you must stick to some standards while personalizing your assignment process.<br/>
+
Press '' 'Add New Rule'. ''
+
 
|}
 
|}
 +
 +
====IP Addresses Cleaner====
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_35.png]]
+
|style="padding: 10px 0px 15px 15px;"|IP Addresses Cleaner allows you to restore/remove IP addresses from WHMCS/IP Manager/both depending on chosen settings.
 +
 
 +
*'''Add IP Addresses to Hosting'''- IP addresses are added to hosting if a relation exists.
 +
*'''Remove Non-existent IP Addresses (Hosting) from History'''- IP address relations are removed if an IP address is not assigned to any hosting.
 +
*'''Remove Non-existent IP Addresses from Hosting''' - If an IP address does not exist in any subnet, it is removed from hosting.
 +
*'''Add Module IP Addresses to History'''- Create IP address' relation if it does not already exist.
 +
*'''Remove Non-existent IP Addresses from History''' - If the IP address does not exist in any subnet, it is removed from relations.
 +
*'''Enable Non-existent in History IP Addresses''' - Set the IP address as unassigned if its relation does not exist.
 +
After making changes in those settings, press '' 'Save Settings'. ''<br />
 +
Otherwise, settings will not be saved and the cleaner will run using the old configuration.
 
|}
 
|}
====New Rules====
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|To add a new rule, type in the required value in the '' 'Rule' '' field and describe it in the text box nearby.<br/>
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_30.png]]
To illustrate:<br/>
+
Enter '''n''' in the '' 'Rule' '' textarea. Then the first IP address from a subnet will be always excluded. It will be reserved and it will not be assigned to any client or service.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_36.png]]
+
|style="padding: 0px 0px 30px 15px;"|'' 'IP Addresses Cleaner' '' allows you to automatically find and fix broken IP address assignments.<br />
 +
For example, when you manually remove a product with IP addresses assigned or remove an IP subnet.<br />
 +
To start IP Addresses Cleaner, and trigger the selected options, execute the following command:
 +
php -q /yourWHMCS/modules/addons/IpManager3/cron/cron.php clean
 
|}
 
|}
 +
 +
===Export===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|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 <br/>customized rules will substitute the need to fill out the '' 'Excluded IP Addresses' '' area.
+
|style="padding: 10px 0px 15px 15px;"|You can export your subnets with IP addresses to CSV, XML, and JSON files.<br />
 +
To export, go to the '' 'Export' '' tab, and choose the subnet to export and output format.<br />
 +
Now you can generate and download the file.<br />
 +
'''''Note:''' Your '' 'storage' '' folder located in 'your_whmcs/modules/addons/ipmanager2' should have chmod set to '''755'''.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_37.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_61.png]]
 
|}
 
|}
  
===Default Custom Fields - Subnets===
+
===Import===
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|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.
+
|style="padding: 10px 0px 15px 15px;"|In the '' 'Import' '' tab you can find tools to synchronize IP addresses from your WHMCS as well as import them from a file.<br />
 +
'''Synchronization'''<br />
 +
Synchronization will confirm relations in your system with relations in IP Manager subnets.
 +
*If the IP address is used by a product, but is marked as unassigned inside of IP Manager subnet - the record inside of a subnet will be updated.
 +
*If the IP address is used by a product, but does not exist in any IP Manager subnet - a new subnet will be created.
 +
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.<br/>If you wish, you can synchronize only specified services by putting their IDs separated by a coma as an argument.
 +
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.
 +
<br /><br />
 +
'''File Upload'''<br />
 +
To import IP addresses from a file, click on the '' 'Upload File' '' button, include the file and '' 'Confirm'.''<br/>
 +
The file has to be of either .csv; .xml or .json format.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_42.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_62.png]]
 
|}
 
|}
 +
 +
===Third Party Integration===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|All you need to do is enter the name of your custom field, its value and save changes.
+
|style="padding: 10px 0px 5px 15px;"|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.<br />
 +
'''''Note 1:''' Some of these integration submodules require free IP subnets (cPanel) or IP addresses (Plesk) on servers to be set up.''<br />
 +
'''''Note 2:''' IP Manager can integrate multiple IP addresses with a single product.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_43.png]]
+
|style="padding: 0px 0px 15px 15px;"| Activation of all integration modules looks similar, there is only a difference in cPanel and cPanel Extended integration submodules.<br />
 +
Start by pressing the'' 'Status' ''toggle button next to the module you want to activate and press the '' 'Edit' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Surely, you can create plenty of such custom fields and edit/remove the already existing.
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_51.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_44.png]]
+
|style="padding: 0px 0px 15px 15px;"|Assign configurations that will use the integration.<br />
 +
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.<br/>If you only included configurations with the'' 'IP Addresses' '' assignment type, you can ignore this option, it will not affect anything.
 
|}
 
|}
 
===Default Custom Fields - IPs===
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|Section '' 'Default Custom Fields - IPs' '' allows adding default custom fields per IP address within selected subnet. <br/>Press '' 'Add New Default Field' '' to begin.  
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_52.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_44_1.png]]
+
|style="padding: 0px 0px 15px 15px;"| cPanel and cPanel Extended additionally allow you to choose the method of the integration.<br />
 +
* Creates a DNS zone for each IP address assigned to a product.
 +
* The first IP address assigned to a product is set up as a site-dedicated IP address.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|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.<br/> Then, type in the custom field name and value.
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_53.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_44_2.png]]
+
|style="padding: 0px 0px 20px 15px;"|You can easily check the number of configurations assigned to each 3rd party integration.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You can create plenty of such custom fields and then edit/remove the already existing ones.<br/> ''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!''
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_54.png]]
 
|}
 
|}
 +
 +
====Integration With Proxmox VE VPS/Cloud VPS For WHMCS====
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_44_3.png]]
+
|style="padding: 10px 0px 30px 15px;"|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.<br/>
 +
'' '''Note:''' This integration works for '''LXC''' and '''KVM''' virtualization types.''
 +
<br/><br/>
 +
The process of establishing the integration for ''Proxmox VE VPS For WHMCS'' module consists of 3 steps:<br />
 +
1. Create the subnet of IP addresses that will be used for the product.<br />
 +
2. Create the configuration and assign a previously created subnet to it. '''No additional action is required after this step.'''<br />
 +
'' '''Important:''' Assigning anything other than the subnet to the configuration in IP Manager For WHMCS may bring unexpected results in your WHMCS environment.''<br />
 +
3. When Proxmox starts creating a virtual machine, it retrieves the assigned IP address to the service and assigns it directly to the virtual machine.<br/>
 +
<br/>
 +
In the case of ''Proxmox VE Cloud VPS For WHMCS'' module, the IP addresses assigned to the service will be assigned to virtual machines in the order they were created on the server, <br/>i.e. the first VM to retrieve the IP addresses is the one whose creation process ends first.
 
|}
 
|}
  
==IP Assignment Mechanism==
+
====Integration With SolusVM Extended VPS For WHMCS====
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|It is crucial to understand mechanism of automatic IP addresses assignment. In this section we will clarify it for you.<br />
+
|style="padding: 10px 0px 30px 15px;"|Integration with ''SolusVM Extended VPS For WHMCS'' is a more complex process.<br />
'' 'IP Quantity' '' field defines the quantity of IP addresses added to the ordered product by triggering a specific relation.<br />
+
''IP Manager For WHMCS'' cannot inject the first IP address to VPS, due to the way SolusVM API works.<br />
Two and more relations from one configuration can be triggered for the same product (therefore, multiple quantity of IP addresses can be assigned).<br />
+
After the creation of a VPS, IP Manager is able to add additional IP addresses.<br />
Additionally, if you set up two configurations with the same relation, IP addresses from both configurations will be added.<br />
+
Therefore, if you use this integration, we advise setting up IP Manager [[#Import|synchronization]] as a cron job.
Therefore, if you set up these two configurations in IP Manager:
+
*'''Configuration 1''':  Addon A (IP Quantity = 2), Product C (IP Quantity = 1)
+
*'''Configuration 2''':  Addon A (IP Quantity = 2), Addon B (IP Quantity = 2), Product D (IP Quantity = 3)
+
Orders listed below will trigger different relations:
+
*'''Order 1''': Product C with addon A: 5 IP addresses assigned
+
*'''Order 2''': Product C with addon B: 3 IP addresses assigned
+
*'''Order 3''': Product D with addon A: 7 IP addresses assigned
+
*'''Order 4''': Product F with addon A: 4 IP addresses assigned
+
 
|}
 
|}
===Automatic IP Assignment===
+
 
 +
====Creation of Integration Submodule====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|The main reason, why this module has been created, was to automate IP addresses assignment.<br />
+
|style="padding: 10px 0px 15px 15px;"|You can create your own integration, all you need is knowledge of the PHP programming language.<br />
Here we will show you how to set up its configuration. In order to start, go to '' 'Configuration' '' → '' 'Create Configuration'. ''<br />
+
1. First, create a new folder in'' 'your_whmcs/modules/addons/IpManager3/app/Modules/ '. ''
Type your configuration name, press textboxes corresponding to options you wish to add and select them from dropdown menus:
+
*Products
+
*Addons
+
*Servers
+
*Config Options<br/>
+
Afterwards, press '' 'Create New Configuration' '' button. On the screen below you can see sample configuration with two products selected.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_45.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_56.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Now you have to assign at least one subnet to configuration. Use '' 'Assigned Subnets' '' button.<br/>
+
|style="padding: 0px 0px 15px 15px;"|2. Create a new .php file inside the new catalog and start editing it.<br />
 +
''Note: File name has to end with 'Integration', for example, 'NewSubmoduleIntegration.php'.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_46.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_57.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Choose a subnet from a dropdown menu and press '' 'Assign Subnet' '' button.<br />
+
|style="padding: 0px 0px 15px 15px;"|3. Paste in the following code:
Keep in mind that you can assign multiple subnets to a single configuration.
+
<pre><?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)
 +
    {
 +
    }
 +
 
 +
 
 +
}
 +
</pre>
 +
*The class name should be the same as the file name.
 +
*'' 'getName' '' defines the submodule name visible in IP Manager.
 +
*'' 'getDescription' '' defines the submodule description displayed in IP Manager.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_47.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM19.4.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|See the list of subnets assigned to your configuration.
+
|style="padding: 0px 0px 10px 15px;"|4. Include your integration code in the rest of the structure
*Press Subnet address to see its details
+
*Manage additional Information: nameservers, gateway
+
*Check usage
+
*Remove subnet from the list
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_47_1.png]]
+
|style="padding: 0px 0px 20px 15px;"|5. You can see your newly added integration in the '' 'Third Party Integration' '' section of the '' 'Utilities'.''
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|On pressing subnet address you will be moved to its details where you can manage it.<br/>
+
 
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_47_2.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_60.png]]
 
|}
 
|}
  
===Advanced Configuration===
+
===IP Addresses Reservation===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Let's say, that you want to set multiple IP assignment to specific product, it is available with our module!<br />
+
|style="padding: 10px 0px 15px 15px;"|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.<br/>'' 'IP Addresses Reservation' '' rules can be configured under the '' 'Utilities' '' section.<br/>Use the rules consciously because they will be then taken into consideration while assigning all IP addresses from all subnets in the module.<br/>  
Here we will show you how to set up multiple IP addresses assignment to configurable option '' 'Extra IP Addresses'. ''<br />
+
Click on the'' 'Create Rule' ''button to formulate a new rule.
Create a new configuration as while setting up a standard configuration.<br />
+
Once it is  done press '' 'Configurable Options' '' as shown on the screen below.  
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_48.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_32.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Afterwards, mark checkboxes next to configurable options you want to assign IP addresses to.<br />
+
|style="padding: 0px 0px 15px 15px;"|You need to follow the formulas described in the guide while personalizing your assignment process.<br/>To add a new rule, type in the required value in the '' 'Rule' '' field and describe it in the'' 'Rule Name' ''field.<br/>
Enter quantity of IP addresses which will be assigned to each configurable option and press '' 'Save Changes'. ''
+
To illustrate:<br/>
 +
If you enter '''n''' in the'' 'Rule' ''field, then the first IP address from a subnet will always be excluded. It will be reserved and it will not be assigned to any client or service.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_49.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_34.png]]
|}
+
 
+
====Usage Statistics====
+
{|
+
|style="padding: 10px 0px 20px 15px;"|In each configuration you can find a graph, which shows the statistics of IP addresses assignment.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_50.png]]
+
|style="padding: 0px 0px 30px 15px;"|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 <br/>customized rules will substitute the need to fill out the '' 'Excluded IP Addresses' '' area.
 
|}
 
|}
  
==3rd Party Integration==
+
===Default Custom Fields - Subnets===
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|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.<br />
+
|style="padding: 10px 0px 20px 15px;"|In this section, you are allowed to add and configure custom fields that will be assigned to subnets by default.<br/>Press the'' 'Add Default Custom Fields - Subnets' ''button to begin.  
''Note 1: Some of these integration submodules require free IP subnets (cPanel) or IP addresses (Plesk) on servers to be set up.''<br />
+
''Note 2: IP Manager can integrate multiple IP addresses with a single product.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_50_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_36.png]]
 
|}
 
|}
===Enabling 3rd Party Integration===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"| Activation of all integration modules looks similar, there is only a difference in cPanel and cPanel Extended integration submodules.<br />
+
|style="padding: 0px 0px 20px 15px;"|All you need to do is enter the name of your custom field, and its value and save changes.
Start by pressing '' 'Activate' '' button next to the module you want to activate.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_51.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_37.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"| Press '' 'Configure' '' button and assign configurations to it.<br />
+
|style="padding: 0px 0px 20px 15px;"|You can create a lot of such custom fields and edit/remove them when the need arises.
Confirm through clicking '' 'Save Changes'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_52.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_38.png]]
 
|}
 
|}
 +
 +
===Default Custom Fields - IP Addresses===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"| cPanel and cPanel Extended additionally allow you to choose the method of the integration.<br />
+
|style="padding: 10px 0px 20px 15px;"|The '' 'Default Custom Fields - IP Addresses' '' section allows you to add default custom fields per IP address within the selected subnet.<br/>Press the'' 'Add Default Custom Field - IP Addresses' ''button to begin.  
* Creates a DNS zone for each IP address assigned to a product.
+
* The first IP address assigned to a product is set up as a site dedicated IP address.  
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_53.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_39.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"| As you can see on the following screen, you can easily check the quantity of configurations assigned to each 3rd party integration.
+
|style="padding: 0px 0px 15px 15px;"|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.<br/> Then, type in the custom field name and value.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_54.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_40.png]]
 
|}
 
|}
 
===Integration With Proxmox VPS/Cloud For WHMCS===
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|Integration with ''Proxmox VPS For WHMCS'' and ''Proxmox Cloud For WHMCS'' is the only one to be set up both on the side of ''IP Manager For WHMCS'' and the integrated module.<br/>
+
|style="padding: 0px 0px 15px 15px;"|You can create a lot of such custom fields and then edit/remove them as needed.<br/>
'' '''Note:''' This integration works properly for '''LXC''' and '''KVM''' virtualization types. '''OpenVZ''' is no logner supported.''
+
'''''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.''
<br/><br/>
+
The process of establishing the integration for ''Proxmox VPS For WHMCS'' module consists of 4 steps:<br />
+
1. Create the subnet of IP addresses which will be used for a product.<br />
+
2. Create the configuration and assign a previously created subnet to it. '''No additional action is required after this step.'''<br />
+
'' '''Important:''' Assigning anything other than the subnet to the configuration in IP Manager For WHMCS may bring unexpected results in your WHMCS environment.''<br />
+
*'''LXC:'''<br/>3. When Proxmox starts creating a LXC virtual machine, it retrieves the assigned IP address to the service and assign it directly to the VM.<br/>
+
 
+
*'''KVM:'''<br/>3. When Proxmox starts creating a KVM virtual machine, it retrieves the assigned IP address to the service and connects to the DHCP server by adding the ''IP:MAC'' entry to the configuration.<br/>4. Finally, the created VM checks whether a DHCP server is running and requests specific IP address to be assigned to it.<br />'' '''Note:''' The success of this step depends on the proper DHCP configuration and is beyond the control of IP Manager module.''<br/>
+
 
+
In the case of ''Proxmox Cloud For WHMCS'' module, the IP addresses assigned to the service will be assigned to VMs in the order they were created on the server, <br/>i.e. the first VM to retrieve the IP addresses is the one whose creation process ends first.
+
 
|}
 
|}
 
===Integration With SolusVM Extended VPS For WHMCS===
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|Integration with ''SolusVM Extended VPS For WHMCS'' is tricky.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_41.png]]
''IP Manager For WHMCS'' cannot inject the first IP address to VPS, due to the way SolusVM API works.<br />
+
After creation of VPS, IP Manager is able to add additional IP addresses.<br />
+
Therefore, if you are using this integration, we advise setting up IP Manager synchronization as a cron job.
+
 
|}
 
|}
  
===Test Integration Module===
+
==[https://www.docs.modulesgarden.com/Translations_Tool Translations]==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|This module logs information about IP processing for '' 'Autorelease' '' type products.<br />
+
|style="padding: 10px 0px 15px 15px;"|Customizing language files is now extremely easy with the '' "Translations" '' tool that is now available directly in the addon.<br.> Its user-friendly design makes managing various language file tweaks a smooth and efficient process. <br/>
Your order should look similar to the one on the screen below.<br />
+
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 [https://www.docs.modulesgarden.com/Translations_Tool here].
''Note: You need to set up '' 'Autorelease' '' type server, otherwise logs will not show up.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM19.1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_79.png]]
 
|}
 
|}
  
===Creation of Integration Submodule===
+
==Logs==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|You can create your own integration, all you need is knowledge of PHP programming language.<br />
+
|style="padding: 10px 0px 20px 15px;"|The '' 'Logs' '' page stores the history of actions ordered on each of the IP addresses.<br/>
You can do it through using '' 'Autorelease' '' submodule file.<br />
+
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.
1. To start, make a copy of '' 'AutoreleaseIntegration.php' '' located in '' 'your_whmcs/modules/addons/ipmanager2/app/modules'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM19.2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_90.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|2. Rename copy to your new submodule name.<br />
+
|style="padding: 0px 0px 15px 15px;"|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.
''Note: File name has to end with 'Integration', for example 'NewSubmoduleIntegration.php'.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM19.3.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_91.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|3. Edit the file, start by entering basic settings.
+
|style="padding: 0px 0px 20px 15px;"|In the settings you can specify which log types should be recorded, and whether they should be deleted automatically after a specific time.
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 ).
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM19.4.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_92.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|4. Now, it is time to implement integration part, you will need integrated module documentation to do it.
+
|style="padding: 0px 0px 20px 15px;"|While exporting you will pick a time frame and the log types to export.
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.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM19.5.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_93.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|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'. ''
+
|style="padding: 0px 0px 20px 15px;"|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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_56.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_94.png]]
 
|}
 
|}
  
==Export==
+
==Dashboard==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|You can export your subnets with IP addresses to CSV and XML files.<br />
+
|style="padding: 10px 0px 15px 15px;"|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.<br/>  
To export, go to '' 'Export' '' tab, choose subnet to export and output format.<br />
+
The'' 'Latest Assigned IP Addresses' ''widget displays the most recently assigned IP addresses along with the related product, client, and date.
Now you can '' 'Generate' '' the file. Download of the file will start shortly.<br />
+
''Note: Your '' 'storage' '' folder located in 'your_whmcs/modules/addons/ipmanager2' should have chmod set to '''755'''.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_62.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_81.png]]
 
|}
 
|}
  
==Import==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|In '' 'Import' '' tab you can find tools to synchronize IP addresses from your WHMCS as well as import them from a file.<br />
+
|style="padding: 0px 0px 20px 15px;"|The'' 'Latest Logs' ''widget shows the most recent log entries including the id, related item, log message, log type, and date.<br/>You can manage the logs through actions and mass actions without the need of going into the'' 'Logs' ''tab.
'''Synchronization'''<br />
+
Synchronization will confirm relations in your system with relations in IP Manager subnets.
+
*IP address is used by a product, but inside of IP Manager subnet it is marked as unassigned - record inside of a subnet will be updated.
+
*IP address is used by a product, but does not exist in any IP Manager subnet - a new subnet will be created.
+
There are three available cron commands:<br />
+
1. This cron command synchronizes all products (it will require confirmation).<br />
+
2. This cron command synchronizes all products (it will not require any confirmation).<br />
+
3. This cron command synchronizes only products which IDs have been provided as arguments separated by comma.<br />
+
'''Import'''<br />
+
To import IP addresses from a file, select it, choose its format and press '' 'Import'.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_63.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_82.png]]
 
|}
 
|}
  
==IP Logs==
+
==IP Address Management in Products==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'' 'Logs' '' page stores the history of actions ordered on each IP address.
+
|style="padding: 10px 0px 30px 15px;"|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. <br/> Check what option the module offers for product admin and end-users.  
 
|}
 
|}
{|
 
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_64.png]]
 
|}
 
 
  
==Integration Code==
+
===Admin Area===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''Integration described below is not obligatory.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|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.<br />
Module allows your customers to view IP addresses assigned to their product and order additional ones.<br />
+
To start, select one of the products ordered by your client and press '' 'Manage IP Addresses' '' next to the '' 'Dedicated IP' '' field.
To enable it, follow these simple steps:
+
 
|}
 
|}
====Integration in WHMCS V6 and V7====
 
 
{|
 
{|
|style="padding: 10px 0px 20px 25px;"|[[File:IPM2_65.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_68.png]]
 
|}
 
|}
<!--
 
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Correctly placed code is presented on the following screen.  
+
|style="padding: 0px 0px 15px 15px;"|A new window will pop up, allowing you to manage the assignment of IP addresses.<br/>
|}
+
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.<br/>Please note that only free and not yet assigned IP addresses will be available for selection from the dropdown menu.<br/>
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_66.png]]
+
|}
+
-->
+
{|
+
|style="padding: 0px 0px 20px 15px;"|In the client area it should look like on the screen below.
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_67.png]]
+
|}
+
  
====Integration in WHMCS V5====
+
If any other IP addresses are already assigned to that product, you can replace them by toggling '' 'Override' ''.<br/>Otherwise, the newly selected IP addresses will be added to those already assigned.<br/>
{|
+
 
|style="padding: 10px 0px 20px 25px;"|[[File:IPM2_68.png]]
+
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.<br/>This is to ensure that the synchronization works properly. If you decide to leave this option disabled, the newly added IP addresses will be assigned only in WHMCS itself.
 
|}
 
|}
<!--
 
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Correctly placed code is presented on the following screen.  
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_69.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_69.png]]
+
|style="padding: 0px 0px 15px 15px;"|You can see assigned IP addresses in the '' 'Manage Service IP Addresses' ''tab.<br/>
 +
3rd party submodule integration status is also displayed for each assigned IP address.<br/>
 +
Additionally, you can '' ' Unassign' '' any IP address from WHMCS, but it will not unassign this address automatically from the submodule. After its removal, it will also return to the IP subnet pool.<br/>
 +
If you want to unassign an IP address from both WHMCS and 3rd party integration submodule, press the '' 'Use Integration' '' button.<br/>
 +
'' '''Note:''' If you need a bit more advanced management of a single assignment of IP addresses, go to the '' 'Subnets' '' section of the IP Manager addon.<br/>
 
|}
 
|}
-->
 
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|In the client area it should look like on the screen below.
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPME3_70.png]]
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_70.png]]
+
|}
+
{|
+
|style="padding: 10px 0px 20px 15px;"|To allow your customers to buy a new IP address you need to set up a product addon for product and assign the addon to configuration in IP Manager.
+
|}
+
{|
+
|style="padding: 0px 0px 15px 15px;"|The above described integration works for all products without exception.<br/> 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. <br/><br />
+
<code>
+
{if $moduleclientarea}
+
  &lt;div class="moduleoutput"&gt;;{$moduleclientarea|replace:'modulebutton':'btn'}
+
  {if $pid == 26 || $module ==  'proxmoxCloud' || $module == 'proxmoxVPS'}
+
        {$IPM2_anager_integration}
+
  {/if}
+
  &lt;/div&gt;
+
{/if}
+
</code>
+
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|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 '' 'proxmoxCloud/proxmoxVPS' '' modules.<br/> Extend the IP Manager integration according to your needs. The above code is just an example which can undergo modifications.
+
 
|}
 
|}
  
==Client Area==
+
===Client Area===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Your clients can view and manage their IP addresses and subnets thanks to installed IP Manager For WHMCS module.<br />
+
|style="padding: 10px 0px 15px 15px;"|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 [[#Module_Settings|'' 'General Settings' .'']]<br />
To remove any IP address or subnet from a product, simply press '' 'Unassign' '' button.
+
To remove any IP address or subnet from a product, simply press the '' 'Unassign' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_71.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_71.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Your client can also order a new IP address.<br />
+
|style="padding: 0px 0px 15px 15px;"|Your client can also order a new IP address by pressing the '' 'Buy IP Address' '' button.<br />
Press '' 'Order Additional IP Addresses' '' as shown below.<br />
+
Your client will be moved to an order form containing previously configured addons.<br />
Your client will be moved to order form containing previously configured addons.
+
''' ''Note:''' You have to create and assign product addons to the product in configurations first, as described [[#Add_IP_Addresses_via_Addon|here]].''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_72.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_72.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|As soon as the addon is active, new IP address is granted.
+
|style="padding: 0px 0px 30px 15px;"|As soon as the addon activates, new IP address is granted.
 
|}
 
|}
  
==Add IP via Addon==
+
===Add IP Addresses via Addon===
 
{|
 
{|
 
|style="padding: 10px 0px 15px 15px;"|Setting up an addon allows your client to add an IP address to their product using integration.<br />
 
|style="padding: 10px 0px 15px 15px;"|Setting up an addon allows your client to add an IP address to their product using integration.<br />
Go to '' 'Setup' '' → '' 'Products/Services' '' → '' 'Product Addons' '' and press '' 'Add New Addon' ''.
+
Go to '' 'System Settings' '' → '' 'Products/Services' '' → '' 'Product Addons' '' and press '' 'Add New Addon' ''.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_74.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_73.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Afterwards, enter addon name, addon description and select applicable products.<br />
+
|style="padding: 0px 0px 15px 15px;"|Afterwards, enter the addon name, and addon description and price.<br />Select the applicable products.<br />
Set pricing for addon by choosing '' 'Billing Cycle' '' and typing price.<br />
+
Confirm through pressing the '' 'Save Changes' '' button.
Confirm through pressing '' 'Save Changes' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_75.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_74.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Now, go to '' 'Addons' '' → '' 'IP Manager' '' and use configuration created before or [http://www.docs.modulesgarden.com/IP_Manager_For_WHMCS#Automatic_IP_Assignment create a new one].<br />
+
|style="padding: 0px 0px 15px 15px;"|Now, go to '' 'Addons' '' → '' 'IP Manager' '' → '' 'Configurations' '' and edit configuration created before or [[#Configurations_and_Automatic_IP_Assignment|create a new one]].<br />
Remember to add a previously created addon as a configuration relation.<br />
+
Navigate to the '' 'Addons' '' tab, add the previously created addon as a configuration relation and define the number of IP addresses.<br />  
You can do it by pressing '' 'Addon' '' button as shown on the following screen.  
+
Afterward, click the '' 'Confirm' '' button. If you enabled integration for the client area, your client should be able to order new IP addresses.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_76.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPME3_75.png]]
 
|}
 
|}
 +
 +
=Tips=
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Tick checkbox next to addon and enter the quantity of IP addresses to be added.<br />
+
|style="padding: 10px 0px 10px 15px;"|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.
Afterwards, click '' 'Save Changes' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_77.png]]
+
|style="padding: 0px 0px 10px 15px;"|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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|If you enabled integration for the client area, your client should be able to order new IP addresses.
+
|style="padding: 0px 0px 10px 15px;"|3. IP Manager For WHMCS requires [http://php.net/manual/en/book.gmp.php GMP] or [http://php.net/manual/en/book.bc.php BCMath] installed on your server.
 
|}
 
|}
==Management of Custom Hooks==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Our module allows you to use custom hooks. All you have to do is create some functions using PHP programming language.<br />
+
|style="padding: 0px 0px 30px 15px;"|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 '''new_configuration.json''' file located in '''your_whmcs/modules/addons/ipmanager3/app/modules/api/Plesk/'''. <br/>Firstly, change the name of the file from '''new_configuration.json''' to '''configuration.json'''. Next, open the file and provide the proper name for the interface. <br/>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.
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)
+
 
|}
 
|}
 +
 +
=Update Instructions=
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|To find details about hooks read '' 'custom_hooks.php' '' file.<br />
+
|style="padding: 10px 0px 5px 15px;"|An essential guidance through the process of updating the module is offered '''[https://www.docs.modulesgarden.com/How_To_Update_WHMCS_Module here]'''.<br/>
You can find there all hooks, information about their time of run, returned values and parameters.<br />
+
Ensure successful completion of the module update by carefully following each step, thereby preventing data loss or any unforeseen issues.<br/> Additionally, you will find a current list of supplementary actions necessary for a smooth update process there.
For example, if you want to throw message to activity log after IP address assignment find hook '' 'after_ip_assign_hook($ip, $serviceid, $relation, $configid)' '' and type:
+
Logger::factory()->log('Custom hook was triggered');
+
It should look like on the screen below:
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM_59.png]]
+
|style="padding: 0px 0px 30px 15px;"|'''''Important:''' If you are updating the module to version 3.0.0, you '''must deactivate the current addon module and delete its files before performing the update.''' <br/>This will ensure all potential conflicts are avoided. Data migration during the beta is '''not yet supported'''. <br/>
 
|}
 
|}
  
==How To Update==
+
=Upgrade Guide=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|In order to upgrade your module, follow [[Modules_Update|Modules Update]] article.
+
|style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> 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.<br/>
|}
+
  
=Tips=
+
Opt for the [https://www.modulesgarden.com/products/whmcs/ip-manager#open-source-version Open Source version] of your IP Manager For WHMCS module to unlock these benefits.<br/> 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.<br/>
{|
+
 
|style="padding: 10px 0px 5px 15px;"|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.
+
Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module 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.  
|}
+
{|
+
|style="padding: 0px 0px 5px 15px;"|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.
+
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|3. IP Manager For WHMCS requires [http://php.net/manual/en/book.gmp.php GMP] or [http://php.net/manual/en/book.bc.php BCMath] installed on your server.
+
 
|}
 
|}
  
 
=Common Problems=
 
=Common Problems=
 
{|
 
{|
|style="padding: 10px 0px 10px 15px;"|'''1. When you have problems with connection, check whether your SELinux or firewall does not block ports.'''
+
|style="padding: 10px 0px 10px 15px;"|'''1. In case of connection problems, please check whether your SELinux or firewall does not block ports.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 15px;"|2. If you see something like this when moving to '' 'Addon' '' → '' 'IP Manager', '' remove content of '' 'template_c' '' folder.
+
|style="padding: 0px 0px 10px 15px;"|2. If you see an empty box when moving to '' 'Addon' '' → '' 'IP Manager', '' remove the content of the '' 'template_c' '' folder.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 25px;"|[[File:IPM_60.png]]
+
|style="padding: 0px 0px 5px 15px;"|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' ''.<br />If you still have that problem, set chmod '''777'''.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 15px;"|3. If you export 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' ''.<br />
+
|style="padding: 0px 0px 30px 15px;"|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.
If you still have that problem, set chmod '''777'''.  
+
 
|}
 
|}

Latest revision as of 10:48, 13 May 2024

Article update is ongoing on this page, watch out for broken links, unclear descriptions and images!
We are sorry for the inconvenience caused.

Contents

[edit] About IP Manager For WHMCS

IP Manager For WHMCS empowers you to effortlessly add and manage IP subnets and automatically assign IP addresses to your servers, products, add-ons, or configurable options.

With IP Manager, you can quickly assign IP addresses from a chosen IP pool to specific clients' products, effortlessly export IP subnets, and seamlessly integrate with third-party applications like cPanel.
Additionally, you can synchronize IP addresses used by products in your WHMCS with the module's IP subnets.
IP Manager also empowers your customers to manage their IP addresses directly from the WHMCS client area, providing them with greater control and convenience.
IP Manager streamlines IP address management, saving you time and effort while enhancing the customer experience.

  • 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 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
✔ 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
✔ Supports PHP 8.1
✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme"
✔ Supports WHMCS V8.10 Back To WHMCS V8.7
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version

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

Note: If you are still using any versions of IP Manager For WHMCS prior to v3.x, read about it here.

1. Log in to our client area and download the module.
IPME3.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.

IPME3 1.png
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/ipmanager2/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'.

IPME3 2.png
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'.

IPM4.png
5. Remove all files from the 'templates_c' folder located in your WHMCS root directory.
6. 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'.
Afterward, find 'IP Manager' and press the 'Activate' button.

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

IPME3 5.png
8. The last step is setting the 'storage' folder rights as recursively writable.

The catalog is located in 'you_whmcs/modules/addons/IpManager3'.

IPME3 6.png
9. You have just successfully installed IP Manager!

You can access your module in 'Addons' 'IP Manager'.

[edit] 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.
In this short guide, the possibilities of the module will be briefly described.

[edit] 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.
Read about rules reservation here.

[edit] Create Subnet

To begin, add a new IP address subnet by pressing the 'Add Subnet' button.
IPME3 8.png
First, select IP version: IPv4 or IPv6, then type in the subnet IP address and the correct bitmask.

Correct bitmask ranges:

  • IPv4 - 1 to 32
  • IPv6 - 1 to 128

Note: The first IP from the subnet should be compatible with CIDR notation.

IPME3 9.png
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.
Note: The beginning and end of an IP range should be separated by a hyphen. For example, 192.168.0.3-192.168.0.14.

IPME3 10.png

Enter nameservers and gateway address into textboxes (this step is optional).
Afterward, finalize the creation of the subnet by pressing the 'Confirm' button.

IPME3 11.png

[edit] 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.
If you add child subnets, you will be able to see them by clicking on the arrow sign next to the parent subnet.

IPME3 12.png

[edit] Subnet

Click on the parent subnet or child subnet to see its configuration. Available actions change accordingly.
IPME3 13.png
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.
IPME3 14.png

[edit] Actions

The most important functions of IP Manager For WHMCS include actions that can be done on subnets.
  • Split Subnet - divide the subnet into smaller subnets according to the chosen mask. Keep in mind that the subnet may include already assigned IP addresses.
    If you split such a subnet, the assigned IP addresses might be transferred to another subnet.
  • Merge Subnet - use this option to join the previously split subnet. Note, that you can merge only parallel subnets.
    Additionally, you must remember that merge action removes IP addresses from external servers.
  • Create Child Subnet - this option allows for the creation of subnets within a 'parent' subnet.
    Such child subnet may again be split/merged, and have its child subnets.
  • Delete - use it to remove the subnet together with any IP address in it.
IPME3 15.png

[edit] Excluded IP Addresses

List of excluded IP addresses. You can remove addresses from the list or add new ones.
IPME3 16.png
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.

IPME3 16.1.png

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

IPME3 18.png
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):

  • subnets assigned to a hosting
  • subnets assigned to a client
  • subnets assigned to configuration.

[edit] 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: customFieldName: customFieldValue.
This option should be used if you do not specify default custom fields or want to add additional ones. Be careful not to double custom fields here.

IPME3 17.png

[edit] 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.
IPME3 19.png
You may also add an IP address manually. To do so, press the 'Add Custom IP Addresses' button.
IPME3 20.png
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.
IPME3 21.png
Once the addresses are generated, you can proceed to their assignment.

Use action or mass actions buttons to do so.

IPME3 22.png

[edit] 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.
Alternatively, switch to 'Custom Assignment' to reserve an IP address without linking it to any service in the database.

IPME3 23.png

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

IPME3 26.png
Type in your configuration name and choose the 'Assignment Type'.
  • IP Addresses Assignment - products, servers, addons, and configurable options will receive singular IP addresses.
  • Subnet Assignment - whole separate subnets will be assigned to products, servers, addons, and configurable options.

Press textboxes corresponding to the options you wish to add, and select them from dropdown menus:

  • Products
  • Servers
  • Addons
  • Configurable Options

Click on the 'Confirm' button when finished.

IPME3 42.png
Now you have to assign at least one subnet to the configuration. Use the 'Edit' button.
IPME3 43.png
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.

IPME3 44.png
See the list of subnets assigned to your configuration, you can use the action buttons to:
  • Manage additional Information: nameservers, gateway.
  • Remove the subnet from the list.
IPME3 45.png

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

IPME3 47.png
Change the quantity of each type of IP address as needed and 'Confirm' the change.

The new settings will be visible on the list.

IPME3 48.png

[edit] Utilities

IP Manager For WHMCS features numerous tools and utilities to help you manage your subnets with ease and efficiency.

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

[edit] Module Settings

The settings of the module that can be configured are as follows:
  • Omit "Dedicated IP" Field for: - The configurations you include in the field will not have the 'Dedicated IP' field present in the Client Area, instead assigned IP addresses or custom fields will be displayed.
  • Switch to 'IP Addresses' Custom Field - Additional IP addresses can be stored in either the 'IP Addresses' custom field or 'Assigned IPs' field.
  • Record All IP Addresses in History - When enabled, relations will be saved even in case of a server provisioning failure.
  • Exclude Non-existent Entries from Logs - IP addresses without products or users will not be displayed in the 'Logs'.
  • Handle IP Address During Downgrades - Automatically process the IP address when downgrading the configurable option.
  • IP Address Reservation - If this option is enabled, the IP reservation rules will be used.
  • IP Address Processing by Integration Module - The module ignores error messages from an external server and continues the action.
  • IP Addresses Management in Client Area - Allows the clients to manage their assigned IP addresses in the Client Area.
  • Subnet IP Address Shortage Notification - Enable to receive email notifications when a subnet is about to run out of available IP addresses.
  • Exceeded Percentage Notifications - Email notifications will be sent after a subnet exceeds the percentage of available IP addresses defined here.

After making any changes in those settings, press 'Save Settings'.

IPME3 29.png

[edit] IP Addresses Cleaner

IP Addresses Cleaner allows you to restore/remove IP addresses from WHMCS/IP Manager/both depending on chosen settings.
  • Add IP Addresses to Hosting- IP addresses are added to hosting if a relation exists.
  • Remove Non-existent IP Addresses (Hosting) from History- IP address relations are removed if an IP address is not assigned to any hosting.
  • Remove Non-existent IP Addresses from Hosting - If an IP address does not exist in any subnet, it is removed from hosting.
  • Add Module IP Addresses to History- Create IP address' relation if it does not already exist.
  • Remove Non-existent IP Addresses from History - If the IP address does not exist in any subnet, it is removed from relations.
  • Enable Non-existent in History IP Addresses - Set the IP address as unassigned if its relation does not exist.

After making changes in those settings, press 'Save Settings'.
Otherwise, settings will not be saved and the cleaner will run using the old configuration.

IPME3 30.png
'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.
To start IP Addresses Cleaner, and trigger the selected options, execute the following command:

php -q /yourWHMCS/modules/addons/IpManager3/cron/cron.php clean

[edit] 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.
Now you can generate and download the file.
Note: Your 'storage' folder located in 'your_whmcs/modules/addons/ipmanager2' should have chmod set to 755.

IPME3 61.png

[edit] 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
Synchronization will confirm relations in your system with relations in IP Manager subnets.

  • If the IP address is used by a product, but is marked as unassigned inside of IP Manager subnet - the record inside of a subnet will be updated.
  • If the IP address is used by a product, but does not exist in any IP Manager subnet - a new subnet will be created.

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.
If you wish, you can synchronize only specified services by putting their IDs separated by a coma as an argument.

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.

File Upload
To import IP addresses from a file, click on the 'Upload File' button, include the file and 'Confirm'.
The file has to be of either .csv; .xml or .json format.

IPME3 62.png

[edit] 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.
Note 2: IP Manager can integrate multiple IP addresses with a single product.

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.

IPME3 51.png
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.
If you only included configurations with the 'IP Addresses' assignment type, you can ignore this option, it will not affect anything.

IPME3 52.png
cPanel and cPanel Extended additionally allow you to choose the method of the integration.
  • Creates a DNS zone for each IP address assigned to a product.
  • The first IP address assigned to a product is set up as a site-dedicated IP address.
IPME3 53.png
You can easily check the number of configurations assigned to each 3rd party integration.
IPME3 54.png

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

The process of establishing the integration for Proxmox VE VPS For WHMCS module consists of 3 steps:
1. Create the subnet of IP addresses that will be used for the product.
2. Create the configuration and assign a previously created subnet to it. No additional action is required after this step.
Important: Assigning anything other than the subnet to the configuration in IP Manager For WHMCS may bring unexpected results in your WHMCS environment.
3. When Proxmox starts creating a virtual machine, it retrieves the assigned IP address to the service and assigns it directly to the virtual machine.

In the case of Proxmox VE Cloud VPS For WHMCS module, the IP addresses assigned to the service will be assigned to virtual machines in the order they were created on the server,
i.e. the first VM to retrieve the IP addresses is the one whose creation process ends first.

[edit] 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.
After the creation of a VPS, IP Manager is able to add additional IP addresses.
Therefore, if you use this integration, we advise setting up IP Manager synchronization as a cron job.

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

IPME3 56.png
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'.

IPME3 57.png
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) 
    {
    }


}
  • The class name should be the same as the file name.
  • 'getName' defines the submodule name visible in IP Manager.
  • 'getDescription' defines the submodule description displayed in IP Manager.
IPM19.4.png
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'.
IPME3 60.png

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

IPME3 32.png
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:
If you enter n in the 'Rule' field, then the first IP address from a subnet will always be excluded. It will be reserved and it will not be assigned to any client or service.

IPME3 34.png
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.

[edit] 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.
IPME3 36.png
All you need to do is enter the name of your custom field, and its value and save changes.
IPME3 37.png
You can create a lot of such custom fields and edit/remove them when the need arises.
IPME3 38.png

[edit] 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.
IPME3 39.png
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.
IPME3 40.png
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.

IPME3 41.png

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

IPME3 79.png

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

IPME3 90.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.
IPME3 91.png
In the settings you can specify which log types should be recorded, and whether they should be deleted automatically after a specific time.
IPME3 92.png
While exporting you will pick a time frame and the log types to export.
IPME3 93.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.
IPME3 94.png

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

IPME3 81.png
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.
IPME3 82.png

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

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

IPME3 68.png
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.
Please note that only free and not yet assigned IP addresses will be available for selection from the dropdown menu.

If any other IP addresses are already assigned to that product, you can replace them by toggling 'Override' .
Otherwise, the newly selected IP addresses will be added to those already assigned.

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.
This is to ensure that the synchronization works properly. If you decide to leave this option disabled, the newly added IP addresses will be assigned only in WHMCS itself.

IPME3 69.png
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.
Additionally, you can ' Unassign' any IP address from WHMCS, but it will not unassign this address automatically from the submodule. After its removal, it will also return to the IP subnet pool.
If you want to unassign an IP address from both WHMCS and 3rd party integration submodule, press the 'Use Integration' button.
Note: If you need a bit more advanced management of a single assignment of IP addresses, go to the 'Subnets' section of the IP Manager addon.

IPME3 70.png

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

IPME3 71.png
Your client can also order a new IP address by pressing the 'Buy IP Address' button.

Your client will be moved to an order form containing previously configured addons.
Note: You have to create and assign product addons to the product in configurations first, as described here.

IPME3 72.png
As soon as the addon activates, new IP address is granted.

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

IPME3 73.png
Afterwards, enter the addon name, and addon description and price.
Select the applicable products.

Confirm through pressing the 'Save Changes' button.

IPME3 74.png
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.
Afterward, click the 'Confirm' button. If you enabled integration for the client area, your client should be able to order new IP addresses.

IPME3 75.png

[edit] 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 new_configuration.json file located in your_whmcs/modules/addons/ipmanager3/app/modules/api/Plesk/.
Firstly, change the name of the file from new_configuration.json to configuration.json. Next, open the file and provide the proper name for the interface.
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.

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

Important: If you are updating the module to version 3.0.0, you must deactivate the current addon module and delete its files before performing the update.
This will ensure all potential conflicts are avoided. Data migration during the beta is not yet supported.

[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 IP Manager 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. 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.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
IP Manager For WHMCS