Personal tools
Namespaces

Variants
Actions

IP Manager For WHMCS

From ModulesGarden Wiki
(Difference between revisions)
Jump to: navigation, search
(Automatic IP Assignment)
(Upgrade Guide)
(145 intermediate revisions by 11 users not shown)
Line 2: Line 2:
 
<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 and unclear descriptions!<br/>
+
=About [https://www.modulesgarden.com/products/whmcs/ip-manager IP Manager For WHMCS]=
We are sorry for the inconvenience caused.</h4>
+
 
+
=About [http://www.modulesgarden.com/products/whmcs/ip_manager/features IP Manager For WHMCS]=
+
 
{|
 
{|
|style="padding: 10px 0px 5px 0px;"|'''IP Manager For WHMCS''' allows you to conveniently add and manage IP pools, and automatically assign IP addresses to your servers, products, addons or configurable options.<br />
+
|style="padding: 10px 0px 5px 0px;"|'''IP Manager For WHMCS''' will empower you to add and manage IP subnets, and also automatically assign IP addresses to your servers, products, addons or configurable options.<br />
With our module you will be also able to assign an IP pool to a specified client, integrate with 3rd party applications like cPanel, export IP pools or view clear graphs.<br />
+
You will easily assign addresses from a chosen IP pool to specified clients' products, export IP subnets, or even integrate with 3rd party applications like cPanel.<br />
You will also be able to synchronize IP addresses used by products in your WHMCS system with the module's IP blocks and pools.<br />
+
The module will additionally allow you to synchronize IP addresses used by products in your WHMCS with the module's IP subnets.<br />
What is more, IP Manager For WHMCS will allow your customers to easily manage their IP addresses from the WHMCS client area.
+
At the same time, your customers will be invited to manage their IP addresses straight from the WHMCS client area.
 
|}
 
|}
 
<!--a comment maybe? -->
 
<!--a comment maybe? -->
 
*'''Admin Area Features:'''
 
*'''Admin Area Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Create Multiple Configurations For Multiple Scenarios Of IP Addresses Assignment
+
|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
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Create Multiple Configurations For Multiple Scenarios Of IP Addresses Assignment
 
|}
 
|}
 
{|
 
{|
Line 21: Line 24:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Add IP Pools:
+
|style="padding: 0px 0px 0px 30px;"|✔ Define IP Addresses Reservation Rules - Reserve IP Addresses For Network, Gateway, Broadcast And More
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ CIDR Notation
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Default Custom Fields For:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ IP Addresses Range (IPv4 Only)
+
|style="padding: 0px 0px 0px 45px;"|✔ IP Subnets
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ IP Addresses List (IPv4 Only)
+
|style="padding: 0px 0px 0px 45px;"|✔ IP Addresses In Chosen Subnets/Pools
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Export IP Pools To XML And CSV Format
+
|style="padding: 0px 0px 0px 30px;"|✔ Export/Import IP Subnets/Pools - Supports XML And CSV Formats
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Import IP Pools From XML And CSV Files 
+
|style="padding: 0px 0px 0px 30px;"|✔ Omit Dedicated IP Address Fields For Chosen Configuration
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Toggle Custom Field Usage Instead Of 'Assigned IP' Field
 
|}
 
|}
 
{|
 
{|
Line 42: Line 48:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Exclude Selected IP Addresses From IP Pool During Its Creation
+
|style="padding: 0px 0px 0px 30px;"|✔ Receive Automatic Email Reminder Sent When Specified Usage Percentage Of Any IP Subnets Has Been Exceeded
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Integrate With 3rd Party Applications:
+
|style="padding: 0px 0px 0px 30px;"|✔ Define Configuration Of Integration Method (cPanel & cPanel Extended)
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ cPanel
+
|style="padding: 0px 0px 0px 30px;"|✔ Set Up IP Addresses Cleaner - Ensures That All Assigned IP Addresses Are In Use
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ [http://www.modulesgarden.com/products/whmcs/cpanel_extended/features cPanel Extended]
+
|style="padding: 0px 0px 0px 30px;"|✔ View IP Subnets Usage Statistics And Graphs
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Plesk
+
|style="padding: 0px 0px 10px 30px;"|✔ View Logs
 
|}
 
|}
 +
 +
*'''IP Subnet Features:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ Parallels Cloud Server
+
|style="padding: 10px 0px 0px 30px;"|✔ Add IP Subnet/Pool Using CIDR Notation
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ [http://www.modulesgarden.com/products/whmcs/solusvm_extended_vps/features SolusVM Extended VPS]
+
|style="padding: 0px 0px 0px 30px;"|✔ Exclude Selected IP Addresses From IP Subnet During Its Creation
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 45px;"|✔ [http://www.modulesgarden.com/products/whmcs/proxmox_vps/features Proxmox VPS]
+
|style="padding: 0px 0px 0px 30px;"|✔ View IP Addresses Of Subnets/Pools
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Create New Integration Modules
+
|style="padding: 0px 0px 0px 30px;"|✔ Split/Merge IP Subnet
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Assign/Unassign IP Addresses From IP Pool For Specified Client Service
+
|style="padding: 0px 0px 0px 30px;"|✔ View And Create Child Subnets
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Omit Dedicated IP Address Fields For Specific Configuration
+
|style="padding: 0px 0px 0px 30px;"|✔ Delete Single IP Address From Subnets/Pools
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Selected Custom Field Usage
+
|style="padding: 0px 0px 0px 30px;"|✔ Assign/Unassign IP Addresses To/For Service
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Configurable Options Of 'Dropdown' And 'Quantity' Types Support
+
|style="padding: 0px 0px 0px 30px;"|✔ Bulk Actions - Assign/Unassign/Delete IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Automatic Email Reminder Sent When Specified Usage Percentage Of Any IP Pool Has Been Exceeded
+
|style="padding: 0px 0px 0px 30px;"|✔ Lock IP Subnet To Client Or Clients Service
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Configuration Of Integration Method (cPanel & cPanel Extended)
+
|style="padding: 0px 0px 0px 30px;"|✔ Create Custom Fields For Subnets/Pools/IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ IP Pool Usage Statistics And Graphs
+
|style="padding: 0px 0px 0px 30px;"|✔ Generate Free IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ IP Addresses Cleaner - Ensures That All Assigned IP Addresses Are In Use
+
|style="padding: 0px 0px 0px 45px;"|✔ Sequentially
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Logs
+
|style="padding: 0px 0px 10px 45px;"|✔ Defined Manually
 
|}
 
|}
*'''IP Pool Features:'''
+
*'''Client Area Features:'''
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ Assign Pool To Client
+
|style="padding: 10px 0px 0px 30px;"|✔ View Assigned IP Addresses And Subnets
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Filter Data In IP Addresses List
+
|style="padding: 0px 0px 0px 30px;"|✔ Unassign IP Addresses
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ View IP Addresses Of Pool
+
|style="padding: 0px 0px 10px 30px;"|✔ Order Additional IP Addresses
 
|}
 
|}
 +
*'''3rd Party Integration Modules:'''
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Delete Single IP Address From Pool
+
|style="padding: 10px 0px 0px 30px;"|✔ cPanel
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Bulk Actions - Assign/Unassign/Delete IP Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/cpanel-extended cPanel Extended]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Create Custom Fields For Pool Or IP Address
+
|style="padding: 0px 0px 0px 30px;"|✔ DirectAdmin
 
|}
 
|}
*'''Client Area Features:'''
 
 
{|
 
{|
|style="padding: 10px 0px 0px 30px;"|✔ View Assigned IP Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/directadmin-extended DirectAdmin Extended]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Unassign IP Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ Plesk
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 10px 30px;"|✔ Order Additional IP Addresses
+
|style="padding: 0px 0px 0px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/plesk-extended Plesk Extended]
 +
|}
 +
{|
 +
|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-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 10px 30px;"|✔ [https://www.modulesgarden.com/products/whmcs/virtuozzo-hybrid-server Virtuozzo Hybrid Server]
 
|}
 
|}
 
*'''General Info:'''
 
*'''General Info:'''
Line 129: Line 149:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ IPv6 Pools Relying On IP Addresses Range And Assigned IP Addresses (Free IPv6 Addresses Are Not Stored In Database)
+
|style="padding: 0px 0px 0px 30px;"|✔ Supported All Types Of Configurable Options
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 0px 30px;"|✔ Block Assignment Of IP Addresses For IPv6 - Coming Soon!
+
|style="padding: 0px 0px 0px 30px;"|✔ IP Subnets Rely On IP Addresses Range And Assigned IP Addresses (Free IP Addresses Are Not Stored In Database)
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Create New 3rd Party Integration Modules
 
|}
 
|}
 
{|
 
{|
Line 138: Line 161:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 30px;"|✔ Supports WHMCS V5 and Later
+
|style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.1 Back To PHP 7.4
 
|}
 
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme"
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.9 Back To WHMCS V8.6
 +
|}
 +
{|
 +
|style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V12 Or Later
 +
|}
 +
{|
 +
|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=
 
=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: 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.
 
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 IP Manager For WHMCS.'''
+
|style="padding: 0px 0px 20px 15px;"|'''1. Log in to our client area and download the module.'''
 
|}
 
|}
 
{|
 
{|
Line 152: Line 188:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''2. Upload and extract the module into the main WHMCS directory.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you might find one or two packages that support different PHP versions.'''<br/>
Files in your WHMCS directory should look like this.
+
In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later.<br/> <!-- If you need a package for the previous versions of PHP, please [https://www.modulesgarden.com/support/ticket/general-support contact our support]. -->
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:PHP72_74.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''Previous updates of the module may contain two packages dedicated to various PHP versions.'''<br/>  
 +
The first one that supports PHP 5.6 up to PHP 7.1, and the second one addressed to PHP 7.2 up to PHP 7.4.<br/>
 +
'''''Note:''' Keep in mind that PHP versions 5.6 up to 7.1 are no longer officially supported and their security issues are not fixed or released any more. Find more info [http://php.net/supported-versions.php here].''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:PHP56_74.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 15px;"|<!-- '' '''Important''': This situation does not affect [https://www.modulesgarden.com/products/whmcs/ip-manager#open-source-version '''the open source version'''] of this module which can be applied to any PHP from version 5.6 and later.''<br/>'' --> '''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.'''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|'''Extract the package and upload its content into the main WHMCS directory.
 +
The content of the package to upload should look like this.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:gvhgy.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''3. When you install IP Manager for the first time, you have to rename '' 'license_RENAME.php' '' file.'''<br />
+
|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 />
 
File is located in '' 'modules/addons/ipmanager2/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
 
File is located in '' 'modules/addons/ipmanager2/license_RENAME.php'. '' Rename it from '' 'license_RENAME.php' '' to '' 'license.php'. ''
 
|}
 
|}
Line 166: Line 220:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''4. In order to configure your license key, you have to edit a previously renamed '' 'license.php' '' file.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''5. 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 173: Line 227:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|'''5. Remove all files from '' 'tempates_c' '' folder located in your WHMCS root directory.'''
+
|style="padding: 0px 0px 20px 15px;"|'''6. Remove all files from the '' 'templates_c' '' folder located in your WHMCS root directory.'''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''6. Now, you have to activate the module in your WHMCS system.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''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 />
 
Log in to your WHMCS admin area and go to '' 'Setup' '' → '' 'Addon Modules'. ''<br />
 
Afterwards, find '' 'IP Manager' '' and press '' 'Activate' '' button.
 
Afterwards, find '' 'IP Manager' '' and press '' 'Activate' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM5.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_5.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''7. In the next step you need to permit the access to the module.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''8. In the next step you need to permit the access to the module.'''<br />
 
Click on '' 'Configure' '' button, tick desired admin roles and press '' 'Save Changes'. ''
 
Click on '' 'Configure' '' button, tick desired admin roles and press '' 'Save Changes'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM6.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_6.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''8. The last step is setting chmod 755 to '' 'storage' '' folder.'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''9. The last step is setting the '' 'storage' '' folder rights as recursively writable.'''<br />
 
Folder is located in '' 'you_whmcs/modules/addons/ipmanager2'. ''
 
Folder is located in '' 'you_whmcs/modules/addons/ipmanager2'. ''
 
|}
 
|}
Line 198: Line 252:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|'''9. You have just successfully installed IP Manager!'''<br />
+
|style="padding: 0px 0px 15px 15px;"|'''10. You have just successfully installed IP Manager!'''<br />
You can access your module in '' 'Addons' '' → '' 'IP Manager'. ''
+
You can access your module in '' 'Addons' '' → '' 'IP Manager'. '' Additionally you can also add [[#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:IPM7.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_7.png]]
 
|}
 
|}
 +
 
=Configuration and Management=
 
=Configuration and Management=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|'''IP Manager For WHMCS allows you to manage dedicated IP addresses' pools, automatically assign them to clients/products/servers/addons/configurable options.<br />
+
|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 />
IP Manager supports both IPv4 and IPv6. '''<br />
+
The module enables clients to manage and order dedicated IP addresses, IPv4 or IPv6.<br />
Module enables clients to manage and order dedicated IP addresses.<br />
+
In this short guide the possibilities of the module will be briefly described.  
In this short guide we will present you the possibilities of our module.  
+
 
|}
 
|}
==IP Pools==
+
==Subnets==
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|To manage any IP pool via IP Manager you have to add it first.<br />
+
|style="padding: 10px 0px 30px 15px;"|To manage any subnet via IP Manager you have to add it first.<br />
There are four ways to do that. You can use CIDR notation, enter IP addresses range, provide a full list of IP addresses or create IP blocks for subnets.<br /> <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/>
''Note 1: IP addresses range and IP addresses list support IPv4 only.''<br />
+
Read about rules reservation [[#IP Reservation|here]].<br/>
''Note 2: IPv6 pools rely on IP addresses range. Additionally, only assigned IP addresses are stored in the database.''<br />
+
''Therefore free IPv6 addresses will not be visible in the IP pool overview.''<br/><br />
+
''Note 3: IP Block Assigned For Subnet feature is currently available for IPv6 only.''
+
 
|}
 
|}
===Create IP Pool===
+
===Create Subnet===
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|In order to add a new IP addresses pool, go to '' 'IP Pool' '' → '' 'Create IP Pool'. ''
+
|style="padding: 10px 0px 20px 15px;"|To begin, add a new IP addresses subnet, press the '' 'Create New Subnet' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM7_1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_8.png]]
 
|}
 
|}
====CIDR Notation====
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Select '' 'Classless Inter-Domain Routing (CIDR)'. ''<br />
+
|style="padding: 0px 0px 15px 15px;"|Use '' 'Classless Inter-Domain Routing (CIDR)' '' notation to add subnets.<br/>
Select IP version, type the first IP address from a pool and a netmask (in prefix notation).<br />
+
First of all, select IP version: IPv4 or IPv6, type the subnet IP address and a correct bitmask.<br/>
''Note: The first IP from the pool should be compatible with [http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing CIDR notation].''
+
Correct ranges:<br/>
 +
*IPv4 - 1 to 32
 +
*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].''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM8.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_9.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You can exclude any number of IP addresses from the pool.<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:' '' textbox, one IP address or IP range per line.<br />
+
To do so, enter them into '' 'Excluded IP Addresses:' '' textarea, one IP address or IP range per line.<br />
Additionally, you can exclude boundary IP addresses through marking '' 'Exclude Boundary' '' checkbox.<br />
+
If you want to set nameservers and gateway click on '' 'Toggle Advanced Settings'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM8_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_10.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Enter nameservers and gateway address into textboxes as shown on the screen below ''(This step is optional)''.<br />
+
|style="padding: 0px 0px 15px 15px;"|If you want to set nameservers and gateway click on '' 'Toggle Advanced Settings'. ''<br/>
Afterwards, confirm the creation of an IP pool through pressing '' 'Add Pool' '' button.
+
Enter nameservers and gateway address into textboxes as shown on the screen below ''(this step is optional)''.<br />
 +
Afterwards, confirm the creation of the subnet through pressing the '' 'Add Subnet' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM8_2.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_11.png]]
 
|}
 
|}
====IP Addresses Range====
+
 
 +
===Available IP Subnets And Child Subnets===
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Select '' 'IP Range'. ''<br />
+
|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.
Type the first and the last IP address of a pool you wish to add.
+
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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM8_3.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_13.png]]
 
|}
 
|}
 +
====Subnet====
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|You can exclude any number of IP addresses from the pool.<br />
+
|style="padding: 10px 0px 20px 15px;"|To view subnet's details press on its address as shown on the following screen.
To do so, enter them into '' 'Excluded IP Addresses:' '' textbox, one IP address or IP range per line.<br />
+
Additionally, you can exclude boundary IP addresses through marking '' 'Exclude Boundary' '' checkbox.<br />
+
You should also enter netmask which your IP pool fits in.<br />
+
If you want to set nameservers and gateway click on '' 'Toggle Advanced Settings'. ''<br />
+
Otherwise, press '' 'Add Pool' '' button and your IP pool will be created.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM8_4.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_14.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Fill out nameservers and gateway address as shown on the screen below ''(This step is optional)''.<br />
+
|style="padding: 0px 0px 15px 15px;"|In the '' 'Subnet'' ' field, you can find information about the address, mask, size, nameservers, gateway and many others.
Afterwards, confirm creation of an IP pool through pressing '' 'Add Pool' '' button.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM8_5.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_15.png]]
 
|}
 
|}
====List of IP Addresses====
+
'''Actions'''
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Select '' 'One or more single IP Addresses' ''.<br />
+
|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 />
Type in IP addresses you want to add, comma separated, after typing in the last IP address press '' 'Enter' '' button.<br />
+
Afterwards, confirm creation of IP pool through pressing '' 'Add Pool' '' button.<br />
+
''Note 1: This option supports only IPv4 addresses.''<br />
+
''Note 2: For each IP address added this way, one IP pool will be created.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM8_8.png]]
+
|style="padding: 0px 0px 20px 15px;"|
 +
*'''Delete''' - use it to remove the subnet together with any IP address in it (if there are such already).
 +
*'''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.
 +
*:If you split such a subnet, the assigned IPs might be transferred to another subnet.
 +
*'''Merge''' - use this option if you want to join 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.
 +
*'''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.
 
|}
 
|}
====IPv6 Block Assigned For Subnet====
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Provide a valid network block address, then select the number of subnets that will be created for the block.<br/>
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_17.png]]
Finally press ''Add Pool'' button.<br/>
+
|}
''Note 1: This option supports only IPv6 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/>
 +
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:IPM801.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_18.png]]
 
|}
 
|}
  
===Show IP Pools===
+
====Custom Fields====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|To manage previously created pools and blocks, proceed to '' 'IP Pool' '' → '' 'Show IP Pools'. ''<br />
+
|style="padding: 10px 0px 15px 15px;"|IP Manager allows you to add custom fields per subnet.<br />
As you can see on the following screen, you can find here a list of IP Pools and a list of IP Blocks.
+
To add a new custom field, press '' 'Create New Custom Field'. '' Afterwards, fill out the form with a custom field name and value. <br/>
 +
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:IPM8_6_1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_19.png]]
 
|}
 
|}
====Additional Information====
+
 
 +
====Assigned Client/Service====
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|You can edit IP pools additional information even after creation of the pool.<br />
+
|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 />
To do so, press the option you want to alter.
+
You can achieve that through using auto-complete textbox to choose the client and/or service.
 +
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:IPM8_6.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_20.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Afterwards, enter a new value and press save button as shown on the screen below.
+
|style="padding: 0px 0px 30px 15px;"|Keep in mind that a subnet that is assigned to a client is reserved for this client only.<br/>
 +
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.
 
|}
 
|}
 +
 +
===IP Addresses List===
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM8_7.png]]
+
|style="padding: 10px 0px 15px 15px;"|The easiest possible way of creating IP addresses within the created subnet.<br/>
 +
Simply select the number of IP addresses you want to create and press the '' 'Add IP Address' '' button. New address in the subnet will be generated.  
 
|}
 
|}
====Custom Fields====
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|IP Manager allows you to add custom fields per IP pool.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_21.png]]
To add a new custom field, press '' 'Create a New Custom Field'. ''<br />
+
Afterwards, fill out the form with custom field name and value.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM8_9.png]]
+
|style="padding: 0px 0px 20px 15px;"|You may also add an IP address manually. To do so, press the '' 'Add Custom IP' '' button.
 
|}
 
|}
====Assign To A Client====
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|If you wish to assign an IP pool to a client, our module makes it available to you.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_21_1.png]]
You can achieve that through using auto-complete textbox to choose the client and pressing '' 'Save Changes' '' button.<br />
+
''Note: IP addresses will be added to all products ordered by client.''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM9.png]]
+
|style="padding: 0px 0px 20px 15px;"|Type in the IP address you wish to be created.
 
|}
 
|}
====IP Pool Details====
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|To view IP pool details press on its address as shown on the following screen.
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_21_2.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM10.png]]
+
|style="padding: 0px 0px 20px 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 15px 15px;"|In IP pool view you can find information about current assignment of IP addresses in the pool and manually manage their assignment.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_22.png]]
We also added records' filters to facilitate the management of addresses.
+
 
|}
 
|}
 +
====Assign Single IP Address====
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM11.png]]
+
|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.
 
|}
 
|}
'''Bulk Actions'''
 
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Our module supports actions on multiple IP addresses.<br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_23.png]]
To issue such action, mark involved IP addresses and choose desired action from '' 'Action For Selected IP Addresses' '' dropdown menu.<br />
+
Afterwards, confirm your choice through pressing '' 'Save Changes'. ''
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM11_1.png]]
+
|style="padding: 0px 0px 20px 15px;"|Choose the method you wish to use and save the changes.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_24.png]]
*'''Delete From The Pool''' - as its name suggests, removes IP addresses from a pool.
+
*'''Unassign''' - removes IP addresses from products they were assigned to, IP addresses still remain in the pool.
+
*'''Unassign Using Submodules''' - works in the same way as '''Unassign''' does.
+
Additionally, it removes IP addresses from external servers.
+
*'''Assign''' - is the most interesting option, it allows you to:
+
**Choose a product which IP addresses should be assigned to.
+
**Define whether or not to use 3rd party integration module.
+
**Set them as assigned without assigning them to any product. You can also add a note to each involved IP address.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM11_2.png]]
+
|style="padding: 0px 0px 15px 15px;"|As you can see, the IP address is assigned to the previously selected 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 a custom field for this single address.
 
|}
 
|}
====Custom Fields For IP Addresses====
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Additionally, you can assign a custom field to IP address.<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_25.png]]
Some 3rd party integration submodules may need additional information provided along with IP address (like MAC address) this it the place to add them.<br />
+
To add custom field, press '' 'Add a New Custom Field' '' next to IP address you want to assign a custom field to.
+
 
|}
 
|}
 +
 +
===Tree View===
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM11_3.png]]
+
|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 20px 15px;"|Afterwards, fill in '' 'Custom Field Name' '' and '' 'Custom Field Value' '' and press '' 'Save Changes' ''.
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_26.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM11_4.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 in red already have some child subnets created, press any to show the list of child subnets.<br/> Accordingly available actions change.  
 
|}
 
|}
===IP Blocks List===
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|You will find here any information on the blocks including:<br/><br />
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_27.png]]
'''Pool details'''
+
*Maximum available subnets in the block
+
*Number of subnets that can be generated
+
*Number of already generated subnets
+
*Number of generated and ready to be assigned subnets
+
*Subnets CIDR
+
*Available address in the subnet<br/>
+
'''Additional Information'''
+
*Nameservers
+
*Gateway
+
*:Manage the block additional information just like it was described in case of IP pools management<br/>
+
'''Usage'''
+
*Percentage graph on generated subnets
+
*Percentage graph on subnets assignment<br/>
+
'''Actions'''
+
*Delete button<br/>
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM120.1.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.
 
|}
 
|}
====IP Block Details====
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|Press any block to see details and move to the list of the bloc's subnets.  
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_28.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM120.png]]
+
|style="padding: 0px 0px 30px 15px;"| Child subnets, however, can again have their child subnets created, can be split, merged or deleted. 
 +
You may also manually exclude some IP addresses from a child subnet, assign clients and services directly to it and finally manage single IP addresses in such subnet.
 
|}
 
|}
 +
 +
==Settings==
 +
===Show Settings===
 +
====Module Settings====
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|If you do not have any subnets yet, you can generate them here.<br/>Press ''Generate Subnet'' button.  
+
|style="padding: 10px 0px 20px 15px;"|Below, you can find description of each option.
 +
*'''Assignment Process Settings'''
 +
*#For any configuration you provide into this field, the '' '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 products or users 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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM121.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_31.png]]
 
|}
 
|}
 +
 +
====IP Addresses Cleaner====
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Enter the number of Subnets that will be generated and press '' 'Submit'. ''
+
|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.
 +
*'''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.<br/>
 +
 
 +
'''''Note:''' Please be aware that 'History' refers to the current "IP Logs" section.''
 +
 
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM122.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_32.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Now you can see the generated subnets for that block.<br/>
+
|style="padding: 0px 0px 15px 15px;"|IP Addresses Cleaner allows you to automatically find and fix broken IP addresses assignment.<br />
 +
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.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM123.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM24_6.png]]
 
|}
 
|}
 +
 +
===IP Reservation===
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Block subnets management:<br/><br />
+
|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/>
'''IP Block Details'''
+
'' 'IP Reservation' '' rules can be configured under the '' 'Settings' '' section.
#Block and its usage details
+
#Pool details
+
#Address range
+
#Services assigned
+
#Username
+
#Client Name
+
#Custom Fields
+
#*Press ''Create a New Custom Field'' to generate
+
#Available actions:
+
#*Assign To
+
#*Unassign
+
#*Delete<br/>
+
'''IP Addresses In Pool'''<br/>
+
#IP Address in the pool
+
#Full IP address
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM124.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_34.png]]
 
|}
 
|}
 +
{|
 +
|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/>
 +
As it is stated in the guide visible on the screen, you need to stick to some standards while personalizing your assignment process.<br/>
 +
Press '' 'Add New Rule'. ''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_35.png]]
 +
|}
 +
====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/>
 +
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 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: 0px 0px 30px 25px;"|[[File:IPM2_37.png]]
 +
|}
 +
 +
===Default Custom Fields - Subnets===
 +
{|
 +
|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: 0px 0px 20px 25px;"|[[File:IPM2_42.png]]
 +
|}
 +
{|
 +
|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: 0px 0px 20px 25px;"|[[File:IPM2_43.png]]
 +
|}
 +
{|
 +
|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 30px 25px;"|[[File:IPM2_44.png]]
 +
|}
 +
 +
===Default Custom Fields - IPs===
 +
{|
 +
|style="padding: 10px 0px 20px 15px;"|Section '' 'Default Custom Fields - IPs' '' allows adding default custom fields per IP address within the selected subnet. <br/>Press '' 'Add New Default Field' '' to begin.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_44_1.png]]
 +
|}
 +
{|
 +
|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:IPM2_44_2.png]]
 +
|}
 +
{|
 +
|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:IPM2_44_3.png]]
 +
|}
 +
 
==IP Assignment Mechanism==
 
==IP Assignment Mechanism==
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|It is crucial to understand mechanism of automatic IP addresses assignment. In this section we will clarify it to you.<br />
+
|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 />
 
'' 'IP Quantity' '' field defines the quantity of IP addresses added to the ordered product by triggering a specific relation.<br />
 
'' 'IP Quantity' '' field defines the quantity of IP addresses added to the ordered product by triggering a specific relation.<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 />
 
Two and more relations from one configuration can be triggered for the same product (therefore, multiple quantity of IP addresses can be assigned).<br />
Line 476: Line 593:
 
*'''Order 4''': Product F with addon A: 4 IP addresses assigned
 
*'''Order 4''': Product F with addon A: 4 IP addresses assigned
 
|}
 
|}
==Automatic IP Assignment==
+
===Automatic IP Assignment===
 
{|
 
{|
 
|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;"|The main reason, why this module has been created, was to automate IP addresses assignment.<br />
 
Here we will show you how to set up its configuration. In order to start, go to '' 'Configuration' '' → '' 'Create Configuration'. ''<br />
 
Here we will show you how to set up its configuration. In order to start, go to '' 'Configuration' '' → '' 'Create Configuration'. ''<br />
Type your configuration name, press textboxes corresponding to options you wish to add and select them from dropdown menus.<br />
+
Type your configuration name, press textboxes corresponding to options you wish to add and select them from dropdown menus:
Afterwards, press '' 'Create New Configuration' '' button. On the screen below you can see sample configuration with two products.
+
*Products
 +
*Addons
 +
*Servers
 +
*Config Options<br/>
 +
Afterwards, press the '' 'Create New Configuration' '' button. On the screen below you can see sample configuration with two products selected.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM12.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_45.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Now you have to assign at least one IP pool to configuration. You can do it through '' 'Assigned Pools' '' or '' 'Assigned Blocs' '' button.<br/>
+
|style="padding: 0px 0px 20px 15px;"|Now you have to assign at least one subnet to configuration. Use the '' 'Assigned Subnets' '' button.<br/>
'''''Note: It is possible to assign IPs using either pools or blocks! You are not allowed to assign both to one configuration.'''''<br/>
+
Let's start with Assigning pools.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM13.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_46.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|Next, choose an IP pool from a dropdown menu and press '' 'Add Pool' '' button.<br />
+
|style="padding: 0px 0px 15px 15px;"|Choose a subnet from a dropdown menu and press the '' 'Assign Subnet' '' button.<br />
Keep in mind that you can assign multiple pools to a single configuration.
+
Keep in mind that you can assign multiple subnets to a single configuration.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM14.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_47.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"|If you wish you can assign IP using blocks assignment. You can also assign blocks to the configuration. <br/>
+
|style="padding: 0px 0px 15px 15px;"|See the list of subnets assigned to your configuration.
To do so, press ''Assigned Blocks'' in the configuration.<br/>
+
*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:IPM127.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_47_1.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|Select block from the list of available and press ''Assign A Block'' button.
+
|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:IPM125.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_47_2.png]]
|}
+
{|
+
|style="padding: 0px 0px 20px 15px;"|Added block will appear on the list of below.<br/>
+
|}
+
{|
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM126.png]]
+
|}
+
{|
+
|style="padding: 0px 0px 30px 15px;"|Keep in mind that you can add more than one block to a single configuration.
+
 
|}
 
|}
  
==Advanced Configuration==
+
===Advanced Configuration===
 
{|
 
{|
 
|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;"|Let's say, that you want to set multiple IP assignment to specific product, it is available with our module!<br />
Here we will show you how to set up multiple IP addresses assignment to configurable option '' 'Extra IP Addresses' ''.<br />
+
Here we will show you how to set up multiple IP addresses assignment to configurable option '' 'Extra IP Addresses'. ''<br />
 
Create a new configuration as while setting up a standard configuration.<br />
 
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.  
 
Once it is  done press '' 'Configurable Options' '' as shown on the screen below.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM15.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_48.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;"|Afterwards, mark checkboxes next to configurable options you want to assign IP addresses to.<br />
Enter quantity of IP addresses which will be assigned to each configurable option and press '' 'Save Changes' ''.
+
Enter quantity of IP addresses which will be assigned to each configurable option and press '' 'Save Changes'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM16.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_49.png]]
 
|}
 
|}
==Usage Graph==
+
 
 +
====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: 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:IPM17.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_50.png]]
 
|}
 
|}
 +
 
==3rd Party Integration==
 
==3rd Party Integration==
 
{|
 
{|
 
|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 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 />
''Note 1: Some of these integration submodules require free IP pools (cPanel) or IP addresses (Plesk) on servers to be set up.''<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.''
 
''Note 2: IP Manager can integrate multiple IP addresses with a single product.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_50_1.png]]
 
|}
 
|}
 
===Enabling 3rd Party Integration===
 
===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: 10px 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 '' 'Activate' '' button next to a module you want to activate.
+
Start by pressing the '' 'Activate' '' button next to the module you want to activate.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM18.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_51.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 15px 15px;"| Press '' 'Configure' '' button and assign configurations to it.<br />
+
|style="padding: 0px 0px 15px 15px;"| Press the '' 'Configure' '' button and assign configurations to it.<br />
Confirm through clicking '' 'Save Changes' ''.
+
Confirm through clicking '' 'Save Changes'. ''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM19.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_52.png]]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"| cPanel and cPanel Extended additionally allow you to choose the method of the integration.<br />
 
|style="padding: 0px 0px 15px 15px;"| cPanel and cPanel Extended additionally allow you to choose the method of the integration.<br />
1. Creates a DNS zone for each IP address assigned to a product.<br />
+
* Creates a DNS zone for each IP address assigned to a product.
2. The first IP address assigned to a product is set up as a site dedicated IP address.  
+
* The first IP address assigned to a product is set up as a site dedicated IP address.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM19_1.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_53.png]]
 
|}
 
|}
 
{|
 
{|
Line 581: Line 700:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM19_2.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_54.png]]
 
|}
 
|}
===Integration With Proxmox VPS/Cloud For WHMCS===
+
 
 +
===Integration With Proxmox VE VPS/Cloud VPS For WHMCS===
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|Integration with Proxmox VPS For WHMCS & Proxmox Cloud For WHMCS are the only integrations which are set up on both IP Manager For WHMCS and integrated module sides.<br />
+
|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/>
Due to that, setting up the integration consists of 3 steps:<br />
+
'' '''Note:''' This integration works for '''LXC''' and '''KVM''' virtualization types.
1. Create IP addresses pool which will be used for product.<br />
+
<br/><br/>
2. Create configuration and assign a previously created pool to it. '''No additional action is required in this step.'''<br />
+
The process of establishing the integration for ''Proxmox VE VPS For WHMCS'' module consists of 4 steps:<br />
<!--3. Go to product → '' 'Module Settings' '' tab and assign a previously created configuration in '' 'IP Manager' '' section.<br /> --><br />
+
1. Create the subnet of IP addresses that will be used for a product.<br />
'''Important: Assigning anything beyond the IP pool to the configuration in IP Manager For WHMCS may cause unexpected effect in your WHMCS environment.'''
+
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 VM.<br/>
 +
<br/>
 +
In the case of ''Proxmox VE Cloud VPS 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===
 
===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: 10px 0px 30px 15px;"|Integration with ''SolusVM Extended VPS For WHMCS'' is tricky.<br />
IP Manager For WHMCS cannot inject the first IP address to VPS, due to the way SolusVM API works.<br />
+
''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 />
 
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.
+
Therefore, if you use this integration, we advise setting up IP Manager synchronization as a cron job.
 
|}
 
|}
 +
 
===Test Integration Module===
 
===Test Integration Module===
 
{|
 
{|
Line 608: Line 734:
 
|style="padding: 0px 0px 30px 25px;"|[[File:IPM19.1.png]]
 
|style="padding: 0px 0px 30px 25px;"|[[File:IPM19.1.png]]
 
|}
 
|}
 +
 
===Creation of Integration Submodule===
 
===Creation of Integration Submodule===
 
{|
 
{|
|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 15px 15px;"|You can create your own integration, all you need is knowledge of the PHP programming language.<br />
 
You can do it through using '' 'Autorelease' '' submodule file.<br />
 
You can do it through using '' 'Autorelease' '' submodule file.<br />
1. To begin, make copy of '' 'AutorelaseIntegration.php' '' located in '' 'your_whmcs/modules/addons/ipmanager2/app/modules'. ''
+
1. To start, make a copy of '' 'AutoreleaseIntegration.php' '' located in '' 'your_whmcs/modules/addons/ipmanager2/app/modules'. ''
 
|}
 
|}
 
{|
 
{|
Line 635: Line 762:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|4. Now, it is time to implement integration part, you will need integrated module documentation to do that.
+
|style="padding: 0px 0px 20px 15px;"|4. Now, it is time to implement an integration part, you will need integrated module documentation to do it.
 
  1. Configuration of 3rd party integration submodule.
 
  1. Configuration of 3rd party integration submodule.
 
  2. Code assigning IP address to module product goes here.
 
  2. Code assigning IP address to module product goes here.
Line 647: Line 774:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM19.6.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_56.png]]
 
|}
 
|}
 +
 
==Export==
 
==Export==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|You can export your IP pools to SCV and XML files.<br />
+
|style="padding: 10px 0px 15px 15px;"|You can export your subnets with IP addresses to CSV and XML files.<br />
To export, go to '' 'Export' '' tab, choose IP pool to export and file format.<br />
+
To export, go to the '' 'Export' '' tab, choose subnet to export and output format.<br />
Confirm through pressing '' 'Save Changes' '' button. Download of the file will start shortly.<br />
+
Now you can '' 'Generate' '' the file. File downloading will start shortly.<br />
 
''Note: Your '' 'storage' '' folder located in 'your_whmcs/modules/addons/ipmanager2' should have chmod set to '''755'''.''
 
''Note: Your '' 'storage' '' folder located in 'your_whmcs/modules/addons/ipmanager2' should have chmod set to '''755'''.''
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM25.3.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_62.png]]
 
|}
 
|}
 +
 
==Import==
 
==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: 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'''<br />
Synchronization will confirm relations in your system with relations in IP Manager pools.
+
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 pool is marked as unassigned - record inside of a pool will be updated.
+
*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 pool - a new pool will be created.
+
*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 />
 
There are three available cron commands:<br />
 
1. This cron command synchronizes all products (it will require confirmation).<br />
 
1. This cron command synchronizes all products (it will require confirmation).<br />
Line 674: Line 803:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM24_1.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_63.png]]
 
|}
 
|}
 +
 
==IP Logs==
 
==IP Logs==
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|'' 'Logs' '' page stores the history of actions ordered on each IP address.
+
|style="padding: 10px 0px 20px 15px;"|The '' 'Logs' '' page stores the history of actions ordered on each of IP addresses.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM24_5.png]]
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_64.png]]
 
|}
 
|}
==Settings==
+
 
 +
==Integration Code==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''Along with great power comes great responsibility.'''<br />
+
|style="padding: 10px 0px 15px 15px;"|'''Integration described below is not obligatory.'''<br />
IP Manager For WHMCS allows you to define its behavior, therefore make sure you configure settings that suit you needs.
+
Module allows your customers to view IP addresses assigned to their product and order additional ones.<br />
 +
To enable it, follow these simple steps:
 
|}
 
|}
 +
====Integration in WHMCS====
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM24_2.png]]
+
|style="padding: 10px 0px 20px 15px;"|'' '''Important!''' In this section, you will find the exemplary integration for the WHMCS 'Six' and 'Twenty-One' themes.''
 +
Please remember that the following code line numbers, as well as code fragments, may differ between distinct versions of WHMCS. <br/> You have to make sure by yourself that the integration best suits your WHMCS theme and version.<br/> The picture below is based on the WHMCS 'Six' theme.  
 
|}
 
|}
===Module Settings===
 
 
{|
 
{|
|style="padding: 10px 0px 20px 15px;"|Below, you can find description of each option.
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_65_1.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.
+
*'''Email Reminder Settings'''
+
*#If you check this checkbox, you will receive an email with notification about IP pools running out of IP addresses.
+
*#Enables you to define percentage value which, when exceeded by any IP pool, results in a notification being sent.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM24_3.png]]
+
|style="padding: 0px 0px 20px 15px;"|After the integration for the WHMCS 'Six' theme, the client area section should look like here:
 
|}
 
|}
===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:IPM2_65_2.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 IP pool, it is removed from hosting.
+
*#Create IP address' relation if it does not exist.
+
*#If IP address does not exist in any IP pool, 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:IPM24_4.png]]
+
|style="padding: 0px 0px 20px 15px;"|The integration for the WHMCS 'Twenty-One' theme is presented here:
 
|}
 
|}
 
{|
 
{|
|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:IPM2_66_1.png]]
For example, when you manually remove a product with IP addresses assigned or remove an IP pool.<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.
+
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 30px 25px;"|[[File:IPM24_6.png]]
+
|style="padding: 0px 0px 20px 15px;"|After the integration for the WHMCS 'Twenty-One' theme, the client area section should look like here:  
 
|}
 
|}
==Integration Code==
 
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|'''Integration described below is not obligatory.'''<br />
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM2_66_2.png]]
Module allows your customers to view IP addresses assigned to their product and order additional ones.<br />
+
To enable it, follow these simple steps:
+
 
|}
 
|}
 +
<!--
 +
====Integration in WHMCS V6 and V7====
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM_49.png]]
+
|style="padding: 10px 0px 20px 15px;"|'' '''Note:''' Please be aware that the following integration is an example for the  WHMCS default 'six' template, and the following code line numbers as well as code fragments may differ between distinct versions of WHMCS. <br/> You have to make sure by yourself that the integration best suits your WHMCS template and version.''
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_65.png]]
 
|}
 
|}
 
{|
 
{|
Line 747: Line 858:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM_50.png]]
+
|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 15px;"|The client area should look like on the screen below.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM_51.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_67.png]]
 
|}
 
|}
 +
====Integration in WHMCS V5====
 
{|
 
{|
|style="padding: 0px 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 a configuration in IP Manager.
+
|style="padding: 10px 0px 20px 25px;"|[[File:IPM2_68.png]]
 
|}
 
|}
 
{|
 
{|
|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 />
+
|style="padding: 0px 0px 20px 15px;"|Correctly placed code is presented on the following screen.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_69.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 15px;"|The client area should look like on the screen below.
 +
|}
 +
{|
 +
|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 20px 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>
 
<code>
 
  {if $moduleclientarea}
 
  {if $moduleclientarea}
 
   &lt;div class="moduleoutput"&gt;;{$moduleclientarea|replace:'modulebutton':'btn'}
 
   &lt;div class="moduleoutput"&gt;;{$moduleclientarea|replace:'modulebutton':'btn'}
   {if $pid == 26 || $module ==  'proxmoxCloud' || $module == 'proxmoxVPS'}
+
   {if $pid == 26 || $module ==  'yourModuleName_1' || $module == 'yourModuleName_2'}
         {$ipmanager_integration}
+
         {$IPM2_anager_integration}
 
   {/if}
 
   {/if}
 
   &lt;/div&gt;
 
   &lt;/div&gt;
Line 771: Line 899:
 
|}
 
|}
 
{|
 
{|
|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.  
+
|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 '' 'yourModuleName_1/ yourModuleName_2' '' modules.<br/> Extend the IP Manager integration according to your needs. The above code is just an example which can undergo modifications.  
 
|}
 
|}
 +
 +
==Admin Area==
 +
{|
 +
|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 />
 +
To start, select one of the products ordered by your client and press '' 'Manage IP Addresses' '' next to the '' 'Dedicated IP' '' field.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_78.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|A new window will pop up, allowing you to manage the assignment of IP addresses.<br/>
 +
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 assigned yet IP addresses will be available for selection from the dropdown menu.<br/>
 +
 +
If any other IP addresses are already assigned to that product, you can replace them by toggling '' 'Override Already Assigned IP Addresses' ''.<br/>Otherwise, the newly selected IP addresses will be added to those already assigned.<br/>
 +
 +
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 new added IP addresses will be assigned only in WHMCS itself.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_79.png]]
 +
|}
 +
{|
 +
|style="padding: 0px 0px 15px 15px;"|The third window in the bottom right corner allows you to manage the list of '' 'Already Assigned IP Addresses' ''.<br/>
 +
You can also preview there if any of the assigned IP addresses is also assigned using the 3rd party submodule integration.<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 '' 'Unassign In Submodule' '' button which appears only for IP addresses already assigned in the submodules.<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 30px 25px;"|[[File:IPM2_80.png]]
 +
|}
 +
 
==Client Area==
 
==Client Area==
 
{|
 
{|
|style="padding: 10px 0px 15px 15px;"|Your clients can view and manage their IP addresses owing to IP Manager For WHMCS.<br />
+
|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 />
To remove an IP address from a product, press '' 'Unassign'. ''
+
To remove any IP address or subnet from a product, simply press the '' 'Unassign' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM_52.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_71.png]]
 
|}
 
|}
 
{|
 
{|
Line 787: Line 946:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM_53.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_72.png]]
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 15px;"|As soon as the addon is active, new IP address is granted.
+
|style="padding: 0px 0px 30px 15px;"|As soon as the addon is active, new IP address is granted.
|}
+
{|
+
|style="padding: 0px 0px 30px 25px;"|[[File:IPM_54.png]]
+
 
|}
 
|}
 +
 
==Add IP via Addon==
 
==Add IP via Addon==
 
{|
 
{|
Line 801: Line 958:
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM_55.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_74.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 addon name, addon description and select applicable products.<br />
 
Set pricing for addon by choosing '' 'Billing Cycle' '' and typing price.<br />
 
Set pricing for addon by choosing '' 'Billing Cycle' '' and typing price.<br />
Confirm through pressing '' 'Save Changes' '' button.
+
Confirm through pressing the '' 'Save Changes' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM_56.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_75.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' '' and use configuration created before or [[#Automatic IP Assignment|create a new one]].<br />
Remember to add a previously created addon as a configuration relation.<br />
+
Remember to add the previously created addon as a configuration relation.<br />
You can do it by pressing '' 'Addon' '' button as shown on the following screen.  
+
You can do it by pressing the '' 'Addon' '' button as shown on the following screen.  
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM_57.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_76.png]]
 
|}
 
|}
 
{|
 
{|
 
|style="padding: 0px 0px 15px 15px;"|Tick checkbox next to addon and enter the quantity of IP addresses to be added.<br />
 
|style="padding: 0px 0px 15px 15px;"|Tick checkbox next to addon and enter the quantity of IP addresses to be added.<br />
Afterwards, click '' 'Save Changes' '' button.
+
Afterwards, click the '' 'Save Changes' '' button.
 
|}
 
|}
 
{|
 
{|
|style="padding: 0px 0px 20px 25px;"|[[File:IPM_58.png]]
+
|style="padding: 0px 0px 20px 25px;"|[[File:IPM2_77.png]]
 
|}
 
|}
 
{|
 
{|
 
|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 30px 15px;"|If you enabled integration for the client area, your client should be able to order new IP addresses.
 
|}
 
|}
 +
 
==Management of Custom Hooks==
 
==Management of Custom Hooks==
 
{|
 
{|
Line 850: Line 1,008:
 
|style="padding: 0px 0px 30px 25px;"|[[File:IPM_59.png]]
 
|style="padding: 0px 0px 30px 25px;"|[[File:IPM_59.png]]
 
|}
 
|}
==How To Update==
+
 
 +
=Tips=
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|In order to upgrade your module, follow [[Modules_Update|Modules Update]] article.
+
|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.
 
|}
 
|}
=Tips=
 
 
{|
 
{|
|style="padding: 10px 0px 30px 15px;"|1. If your client orders a product bonded to two configurations (e.g. by product type and configurable option), IP Manager will add IP addresses from both configurations.
+
|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 5px 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.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 5px 15px;"|4. If API returns the error '' 'Unknown network interface' '' when adding a new IP address for Plesk 12 Integration, then you need to modify the file '''new_configuration.json''' located in '''your_whmcs/modules/addons/ipmanager2/app/modules/api/Plesk/'''. <br/>
 +
Firstly, change the name of the mentioned file from '''new_configuration.json''' to '''configuration.json'''. Next, open the file and provide the proper name for the interface. <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.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 10px 15px;"|5. The module supports the "Lagom WHMCS Client Theme", if you want to use this theme in your client area you will have to insert a proper integration code in the dedicated template files. <br/> To easily copy the integration code, proceed to your addon → Integration Code section, and follow the described steps.
 +
|}
 +
{|
 +
|style="padding: 0px 0px 30px 25px;"|[[File:IPM_60_0.png]]
 +
|}
 +
 +
=Update Instructions=
 +
{|
 +
|style="padding: 10px 0px 30px 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/>
 +
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.
 +
|}
 +
=Upgrade Guide=
 +
{|
 +
|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/>
 +
 +
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/>
 +
 +
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.
 +
|}
 +
 
=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 something like this when moving to '' 'Addon' '' → '' 'IP Manager', '' remove a content of the '' 'template_c' '' folder.
 
|}
 
|}
 
{|
 
{|
Line 869: Line 1,056:
 
|}
 
|}
 
{|
 
{|
|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 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/ipmanager2' ''.<br />
 
If you still have that problem, set chmod '''777'''.  
 
If you still have that problem, set chmod '''777'''.  
 +
|}
 +
{|
 +
|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.
 
|}
 
|}

Revision as of 12:55, 19 April 2024

Contents

About IP Manager For WHMCS

IP Manager For WHMCS will empower you to add and manage IP subnets, and also automatically assign IP addresses to your servers, products, addons or configurable options.

You will easily assign addresses from a chosen IP pool to specified clients' products, export IP subnets, or even integrate with 3rd party applications like cPanel.
The module will additionally allow you to synchronize IP addresses used by products in your WHMCS with the module's IP subnets.
At the same time, your customers will be invited to manage their IP addresses straight from the WHMCS client area.

  • Admin Area Features:
✔ Show And Manage Multi-Level IP Subnets With IP Pools In Tree-View
✔ Assign/Unassign/Delete IP Addresses Directly From Products/Services View
✔ Create Multiple Configurations For Multiple Scenarios Of IP Addresses Assignment
✔ Create Multiple Relations In One Configuration For Products, Addons, Configurable Options & Servers
✔ Define IP Addresses Reservation Rules - Reserve IP Addresses For Network, Gateway, Broadcast And More
✔ Define Default Custom Fields For:
✔ IP Subnets
✔ IP Addresses In Chosen Subnets/Pools
✔ Export/Import IP Subnets/Pools - Supports XML And CSV Formats
✔ Omit Dedicated IP Address Fields For Chosen Configuration
✔ Toggle Custom Field Usage Instead Of 'Assigned IP' Field
✔ Synchronize IP Addresses Used By Products In WHMCS With IP Manager
✔ Receive Automatic Email Reminder Sent When Specified Usage Percentage Of Any IP Subnets Has Been Exceeded
✔ Define Configuration Of Integration Method (cPanel & cPanel Extended)
✔ Set Up IP Addresses Cleaner - Ensures That All Assigned IP Addresses Are In Use
✔ View IP Subnets Usage Statistics And Graphs
✔ View Logs
  • IP Subnet Features:
✔ Add IP Subnet/Pool Using CIDR Notation
✔ Exclude Selected IP Addresses From IP Subnet During Its Creation
✔ View IP Addresses Of Subnets/Pools
✔ Split/Merge IP Subnet
✔ View And Create Child Subnets
✔ Delete Single IP Address From Subnets/Pools
✔ Assign/Unassign IP Addresses To/For Service
✔ Bulk Actions - Assign/Unassign/Delete IP Addresses
✔ Lock IP Subnet To Client Or Clients Service
✔ Create Custom Fields For Subnets/Pools/IP Addresses
✔ Generate Free IP Addresses
✔ Sequentially
✔ Defined Manually
  • Client Area Features:
✔ View Assigned IP Addresses And Subnets
✔ Unassign IP Addresses
✔ Order Additional IP Addresses
  • 3rd Party Integration Modules:
✔ cPanel
cPanel Extended
✔ DirectAdmin
DirectAdmin Extended
✔ Plesk
Plesk Extended
Proxmox VE VPS
Proxmox VE Cloud VPS
SolusVM Extended VPS
Virtuozzo Hybrid Server
  • General Info:
✔ Supports IPv4 and IPv6
✔ Supported All Types Of Configurable Options
✔ IP Subnets Rely On IP Addresses Range And Assigned IP Addresses (Free IP Addresses Are Not Stored In Database)
✔ Create New 3rd Party Integration Modules
✔ Multi-Language Support
✔ Supports PHP 8.1 Back To PHP 7.4
✔ Supports WHMCS Themes "Six", "Twenty-One" And "Lagom WHMCS Client Theme"
✔ Supports WHMCS V8.9 Back To WHMCS V8.6
✔ Requires ionCube Loader V12 Or Later
✔ Easy Module Upgrade To Open Source Version

Installation

This tutorial will show you how to successfully install and configure IP Manager For WHMCS.

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

1. Log in to our client area and download the module.
IPM1.png
2. In the downloaded file you might find one or two packages that support different PHP versions.

In the most recent versions of the module, you will find only one package that supports PHP 7.2 and later.

PHP72 74.png
Previous updates of the module may contain two packages dedicated to various PHP versions.

The first one that supports PHP 5.6 up to PHP 7.1, and the second one addressed to PHP 7.2 up to PHP 7.4.
Note: Keep in mind that PHP versions 5.6 up to 7.1 are no longer officially supported and their security issues are not fixed or released any more. Find more info here.

PHP56 74.png
Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'.
Extract the package and upload its content into the main WHMCS directory.

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

Gvhgy.png
4. When you install IP Manager For WHMCS for the first time, you have to rename 'license_RENAME.php' file.

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

IPM3.png
5. In order to configure your license key, you have to edit the previously renamed 'license.php' file.

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

IPM4.png
6. Remove all files from the 'templates_c' folder located in your WHMCS root directory.
7. Now, you have to activate the module in your WHMCS system.

Log in to your WHMCS admin area and go to 'Setup' 'Addon Modules'.
Afterwards, find 'IP Manager' and press 'Activate' button.

IPM2 5.png
8. In the next step you need to permit the access to the module.

Click on 'Configure' button, tick desired admin roles and press 'Save Changes'.

IPM2 6.png
9. The last step is setting the 'storage' folder rights as recursively writable.

Folder is located in 'you_whmcs/modules/addons/ipmanager2'.

IPM6.1.png
10. You have just successfully installed IP Manager!

You can access your module in 'Addons' 'IP Manager'. Additionally you can also add Integration Code to allow your customers to view and manage IP addresses assigned to their products.

IPM2 7.png

Configuration and Management

IP Manager For WHMCS allows you to manage dedicated IP addresses' subnets, automatically assign them to clients/products/servers/addons/configurable options.

The module enables clients to manage and order dedicated IP addresses, IPv4 or IPv6.
In this short guide the possibilities of the module will be briefly described.

Subnets

To manage any subnet via IP Manager you have to add it first.

Remember that it is very important to configure any IP reservation rules before you create any subnets. If you add rules later on, they may not work properly!
Read about rules reservation here.

Create Subnet

To begin, add a new IP addresses subnet, press the 'Create New Subnet' button.
IPM2 8.png
Use 'Classless Inter-Domain Routing (CIDR)' notation to add subnets.

First of all, select IP version: IPv4 or IPv6, type the subnet IP address and a correct bitmask.
Correct ranges:

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

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

IPM2 9.png
You can exclude any number of IP addresses from the subnet.

To do so, enter them into 'Excluded IP Addresses:' textarea, one IP address or IP range per line.

IPM2 10.png
If you want to set nameservers and gateway click on 'Toggle Advanced Settings'.

Enter nameservers and gateway address into textboxes as shown on the screen below (this step is optional).
Afterwards, confirm the creation of the subnet through pressing the 'Add Subnet' button.

IPM2 11.png

Available IP Subnets And Child Subnets

Once you have added some IP subnets you can preview some details on them and manage the IP addresses.

As you can see on the following screen, you can find here a list of subnets in a tree view. Press any of added IP subnets to see its details.

IPM2 13.png

Subnet

To view subnet's details press on its address as shown on the following screen.
IPM2 14.png
In the 'Subnet ' field, you can find information about the address, mask, size, nameservers, gateway and many others.
IPM2 15.png

Actions

The most important functions of your IP Manager For WHMCS include some actions that can be done on subnets.
  • Delete - use it to remove the subnet together with any IP address in it (if there are such already).
  • 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.
    If you split such a subnet, the assigned IPs might be transferred to another subnet.
  • Merge - use this option if you want to join 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 to create subnet within a 'parent' subnet.
    Such s child subnet may again be split/merged, have its own child subnets.
IPM2 17.png

Excluded IP Addresses

List of excluded IP addresses. You can remove some addresses from the list or add new ones.

Important! If you have any IP reservation rules set up, then do not include single IP addresses here. This option should be used as an addition if you do not use rules.

IPM2 18.png

Custom Fields

IP Manager allows you to add custom fields per subnet.

To add a new custom field, press 'Create New Custom Field'. Afterwards, fill out the form with a custom field name and value.
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.

IPM2 19.png

Assigned Client/Service

If you wish to assign an IP subnet to a client or specific service, our module makes it available to you.

You can achieve that through using auto-complete textbox to choose the client and/or service. Again, remember to 'Save Changes'.
Notes:
IP addresses will be added to all products ordered by client.
IP addresses will be added to all addons included in products.

IPM2 20.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.

IP Addresses List

The easiest possible way of creating IP addresses within the created subnet.

Simply select the number of IP addresses you want to create and press the 'Add IP Address' button. New address in the subnet will be generated.

IPM2 21.png
You may also add an IP address manually. To do so, press the 'Add Custom IP' button.
IPM2 21 1.png
Type in the IP address you wish to be created.
IPM2 21 2.png
Once the addresses are generated, you can proceed to their assignment.

Use action or mass actions buttons to do so.

IPM2 22.png

Assign Single IP Address

You are now redirected to a page where you can assign this specific IP address to a service by entering a domain or a username,
using 3rd party integration module or custom assignment.
IPM2 23.png
Choose the method you wish to use and save the changes.
IPM2 24.png
As you can see, the IP address is assigned to the previously selected service (related to chosen domain).
You may always unassign this IP from this service and again assign it to another one, delete the IP address, create a custom field for this single address.
IPM2 25.png

Tree View

To clarify, a comfortable tree view of your created subnets and child-subnets is available. Let's take a look at it to summarize the divisions.
IPM2 26.png
You can see here a list of all subnets and child subnets in your IP Manager. Subnets marked in red already have some child subnets created, press any to show the list of child subnets.
Accordingly available actions change.
IPM2 27.png
Any subnet can have child subnets created (with IP reservation rules taken into consideration) and custom fields assigned.
IPM2 28.png
Child subnets, however, can again have their child subnets created, can be split, merged or deleted.

You may also manually exclude some IP addresses from a child subnet, assign clients and services directly to it and finally manage single IP addresses in such subnet.

Settings

Show Settings

Module Settings

Below, you can find description of each option.
  • Assignment Process Settings
    1. For any configuration you provide into this field, the 'Dedicated IP' field will be omitted.
    2. If checked, additional IP addresses will be stored in a custom field or 'Assigned IPs' field.
    3. If checked, in case of a server provisioning failure, relation will be saved.
    4. Automatically process the IP address when downgrading the configurable option.
    5. Module ignores error message from an external server and continues the action.
  • IP Logs Settings
    1. IP addresses without products or users will not be displayed in 'IP Logs' page.
  • IP Reservation Settings
    1. If you check this checkbox, you will allow to add IP reservation rules.
  • Email Reminder Settings
    1. If you check this checkbox, you will receive an email with notification about IP subnets running out of IP addresses.
    2. Enables you to define percentage value which, when exceeded by any subnet, results in a notification being sent.
IPM2 31.png

IP Addresses Cleaner

IP Addresses Cleaner allows you to restore/remove IP addresses form WHMCS/IP Manager/both depending on chosen settings.
  • IP Addresses Cleaner Settings
    1. IP address are added to hosting if relation exists.
    2. IP address' relation are removed if IP address is not assigned to any hosting.
    3. If IP address does not exist in any subnet, it is removed from hosting.
    4. Create IP address' relation if it does not exist.
    5. If IP address does not exist in any subnet, it is removed from relations.
    6. Set IP address as unassigned if its relation does not exist.

Important: After making any changes in those settings, press 'Update Settings'.
Otherwise, settings will not be saved and the Cleaner will run using old ones.

Note: Please be aware that 'History' refers to the current "IP Logs" section.

IPM2 32.png
IP Addresses Cleaner allows you to automatically find and fix broken IP addresses assignment.

For example, when you manually remove a product with IP addresses assigned or remove an IP subnet.
To start IP Addresses Cleaner, press 'Perform Cron Cleanup' .
Actions issued by the cleaner are listed in a popup as shown on the following screen.

IPM24 6.png

IP Reservation

You can automate the process of IP assignment by adding some rules that will be then executed while assigning IP addresses from a subnet to clients or services.

'IP Reservation' rules can be configured under the 'Settings' section.

IPM2 34.png
Use the rules consciously because they will be then taken into consideration while assigning any IP from any subnet in your IP Manager.

As it is stated in the guide visible on the screen, you need to stick to some standards while personalizing your assignment process.
Press 'Add New Rule'.

IPM2 35.png

New Rules

To add a new rule, type in the required value in the 'Rule' field and describe it in the text box nearby.

To illustrate:
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.

IPM2 36.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.
IPM2 37.png

Default Custom Fields - Subnets

In this section ('Settings' → 'Default Custom Fields - Subnets') you are allowed to add and configure some custom fields that will be assigned to subnets by default.
IPM2 42.png
All you need to do is enter the name of your custom field, its value and save changes.
IPM2 43.png
Surely, you can create plenty of such custom fields and edit/remove the already existing.
IPM2 44.png

Default Custom Fields - IPs

Section 'Default Custom Fields - IPs' allows adding default custom fields per IP address within the selected subnet.
Press 'Add New Default Field' to begin.
IPM2 44 1.png
Select subnet, the single IP addresses in which you wish to have the field assigned. You may point single subnet or select all existing subnets.
Then, type in the custom field name and value.
IPM2 44 2.png
You can create plenty of such custom fields and then edit/remove the already existing ones.
Keep in mind that if a custom field is assigned to all subnets, then action conducted on a custom field in a single subnet is triggered on all the other subnets!
IPM2 44 3.png

IP Assignment Mechanism

It is crucial to understand mechanism of automatic IP addresses assignment. In this section we will clarify it for you.

'IP Quantity' field defines the quantity of IP addresses added to the ordered product by triggering a specific relation.
Two and more relations from one configuration can be triggered for the same product (therefore, multiple quantity of IP addresses can be assigned).
Additionally, if you set up two configurations with the same relation, IP addresses from both configurations will be added.
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

The main reason, why this module has been created, was to automate IP addresses assignment.

Here we will show you how to set up its configuration. In order to start, go to 'Configuration' 'Create Configuration'.
Type your configuration name, press textboxes corresponding to options you wish to add and select them from dropdown menus:

  • Products
  • Addons
  • Servers
  • Config Options

Afterwards, press the 'Create New Configuration' button. On the screen below you can see sample configuration with two products selected.

IPM2 45.png
Now you have to assign at least one subnet to configuration. Use the 'Assigned Subnets' button.
IPM2 46.png
Choose a subnet from a dropdown menu and press the 'Assign Subnet' button.

Keep in mind that you can assign multiple subnets to a single configuration.

IPM2 47.png
See the list of subnets assigned to your configuration.
  • Press Subnet address to see its details
  • Manage additional Information: nameservers, gateway
  • Check usage
  • Remove subnet from the list
IPM2 47 1.png
On pressing subnet address you will be moved to its details where you can manage it.
IPM2 47 2.png

Advanced Configuration

Let's say, that you want to set multiple IP assignment to specific product, it is available with our module!

Here we will show you how to set up multiple IP addresses assignment to configurable option 'Extra IP Addresses'.
Create a new configuration as while setting up a standard configuration.
Once it is done press 'Configurable Options' as shown on the screen below.

IPM2 48.png
Afterwards, mark checkboxes next to configurable options you want to assign IP addresses to.

Enter quantity of IP addresses which will be assigned to each configurable option and press 'Save Changes'.

IPM2 49.png

Usage Statistics

In each configuration you can find a graph, which shows the statistics of IP addresses assignment.
IPM2 50.png

3rd Party Integration

In this tab you can set up 3rd party integration which allows you to manage IP through our module in your WHMCS and synchronize changes on 3rd party servers.

Note 1: Some of these integration submodules require free IP subnets (cPanel) or IP addresses (Plesk) on servers to be set up.
Note 2: IP Manager can integrate multiple IP addresses with a single product.

IPM2 50 1.png

Enabling 3rd Party Integration

Activation of all integration modules looks similar, there is only a difference in cPanel and cPanel Extended integration submodules.

Start by pressing the 'Activate' button next to the module you want to activate.

IPM2 51.png
Press the 'Configure' button and assign configurations to it.

Confirm through clicking 'Save Changes'.

IPM2 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.
IPM2 53.png
As you can see on the following screen, you can easily check the quantity of configurations assigned to each 3rd party integration.
IPM2 54.png

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 4 steps:
1. Create the subnet of IP addresses that will be used for a 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 VM.

In the case of Proxmox VE Cloud VPS For WHMCS module, the IP addresses assigned to the service will be assigned to VMs 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.

Integration With SolusVM Extended VPS For WHMCS

Integration with SolusVM Extended VPS For WHMCS is tricky.

IP Manager For WHMCS cannot inject the first IP address to VPS, due to the way SolusVM API works.
After creation of 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.

Test Integration Module

This module logs information about IP processing for 'Autorelease' type products.

Your order should look similar to the one on the screen below.
Note: You need to set up 'Autorelease' type server, otherwise logs will not show up.

IPM19.1.png

Creation of Integration Submodule

You can create your own integration, all you need is knowledge of the PHP programming language.

You can do it through using 'Autorelease' submodule file.
1. To start, make a copy of 'AutoreleaseIntegration.php' located in 'your_whmcs/modules/addons/ipmanager2/app/modules'.

IPM19.2.png
2. Rename copy to your new submodule name.

Note: File name has to end with 'Integration', for example 'NewSubmoduleIntegration.php'.

IPM19.3.png
3. Edit the file, start by entering basic settings.
1. Class name should be the same as the file name.
2. Submodule name visible in IP Manager.
3. Submodule description displayed in IP Manager.
4. Place here an integrating module name ( the best way is to copy a folder name of the module ).
IPM19.4.png
4. Now, it is time to implement an integration part, you will need integrated module documentation to do it.
1. Configuration of 3rd party integration submodule.
2. Code assigning IP address to module product goes here.
3. You can add a code to unassign IP address here.
IPM19.5.png
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'.
IPM2 56.png

Export

You can export your subnets with IP addresses to CSV and XML files.

To export, go to the 'Export' tab, choose subnet to export and output format.
Now you can 'Generate' the file. File downloading will start shortly.
Note: Your 'storage' folder located in 'your_whmcs/modules/addons/ipmanager2' should have chmod set to 755.

IPM2 62.png

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.

  • 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:
1. This cron command synchronizes all products (it will require confirmation).
2. This cron command synchronizes all products (it will not require any confirmation).
3. This cron command synchronizes only products which IDs have been provided as arguments separated by comma.
Import
To import IP addresses from a file, select it, choose its format and press 'Import'.

IPM2 63.png

IP Logs

The 'Logs' page stores the history of actions ordered on each of IP addresses.
IPM2 64.png

Integration Code

Integration described below is not obligatory.

Module allows your customers to view IP addresses assigned to their product and order additional ones.
To enable it, follow these simple steps:

Integration in WHMCS

Important! In this section, you will find the exemplary integration for the WHMCS 'Six' and 'Twenty-One' themes.

Please remember that the following code line numbers, as well as code fragments, may differ between distinct versions of WHMCS.
You have to make sure by yourself that the integration best suits your WHMCS theme and version.
The picture below is based on the WHMCS 'Six' theme.

IPM2 65 1.png
After the integration for the WHMCS 'Six' theme, the client area section should look like here:
IPM2 65 2.png
The integration for the WHMCS 'Twenty-One' theme is presented here:
IPM2 66 1.png
After the integration for the WHMCS 'Twenty-One' theme, the client area section should look like here:
IPM2 66 2.png
The above described integration works for all products without exception.
However, in case you wish to restrict the integration to limited number of products, please insert the below codes instead of the one suggested in the addon.

{if $moduleclientarea}
  <div class="moduleoutput">;{$moduleclientarea|replace:'modulebutton':'btn'}
  {if $pid == 26 || $module ==  'yourModuleName_1' || $module == 'yourModuleName_2'}
       {$IPM2_anager_integration}
  {/if}
  </div>
{/if}

Once such code is inserted in the template, IP Manager will be displayed for product with ID that equals 26 or if the product is based on 'yourModuleName_1/ yourModuleName_2' modules.
Extend the IP Manager integration according to your needs. The above code is just an example which can undergo modifications.

Admin Area

In the 'Products/Services' tab located in your client's profile view in the admin area you can manually assign and unassign IP addresses from the chosen products.

To start, select one of the products ordered by your client and press 'Manage IP Addresses' next to the 'Dedicated IP' field.

IPM2 78.png
A new window will pop up, allowing you to manage the assignment of IP addresses.

Select one of your IP pools from the 'Tree View' . In the window to the right you can select IP addresses from the chosen pool and assign them to your client's product.
Please note that only free and not assigned yet 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 Already Assigned IP Addresses' .
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 new added IP addresses will be assigned only in WHMCS itself.

IPM2 79.png
The third window in the bottom right corner allows you to manage the list of 'Already Assigned IP Addresses' .

You can also preview there if any of the assigned IP addresses is also assigned using the 3rd party submodule integration.
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 'Unassign In Submodule' button which appears only for IP addresses already assigned in the submodules.
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.

IPM2 80.png

Client Area

Your clients can view and manage their IP addresses and subnets thanks to installed IP Manager For WHMCS module.

To remove any IP address or subnet from a product, simply press the 'Unassign' button.

IPM2 71.png
Your client can also order a new IP address.

Press 'Order Additional IP Addresses' as shown below.
Your client will be moved to order form containing previously configured addons.

IPM2 72.png
As soon as the addon is active, new IP address is granted.

Add IP via Addon

Setting up an addon allows your client to add an IP address to their product using integration.

Go to 'Setup' 'Products/Services' 'Product Addons' and press 'Add New Addon' .

IPM2 74.png
Afterwards, enter addon name, addon description and select applicable products.

Set pricing for addon by choosing 'Billing Cycle' and typing price.
Confirm through pressing the 'Save Changes' button.

IPM2 75.png
Now, go to 'Addons' 'IP Manager' and use configuration created before or create a new one.

Remember to add the previously created addon as a configuration relation.
You can do it by pressing the 'Addon' button as shown on the following screen.

IPM2 76.png
Tick checkbox next to addon and enter the quantity of IP addresses to be added.

Afterwards, click the 'Save Changes' button.

IPM2 77.png
If you enabled integration for the client area, your client should be able to order new IP addresses.

Management of Custom Hooks

Our module allows you to use custom hooks. All you have to do is create some functions using PHP programming language.

Here you can see possible hooks:

before_ip_assign_hook($ip, $serviceid, $relation, $configid)
after_ip_assign_hook($ip, $serviceid, $relation, $configid)
before_ip_integrating_hook($ip, $service, $server)
after_ip_integrating_hook($ip, $service, $server)
before_ip_disintegrating_hook($ip, $service, $server)
after_ip_disintegrating_hook($ip, $service, $server)
To find details about hooks read 'custom_hooks.php' file.

You can find there all hooks, information about their time of run, returned values and parameters.
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:

IPM 59.png

Tips

1. If your client orders a product that is combined with two configurations (e.g. by product type and configurable option), IP Manager will add IP addresses from both configurations.
2. If you have used IPv6 block before the update to IP Manager 2.2.0, all of them will be migrated to corresponding subnets. Note that migration is done automatically for you.
3. IP Manager For WHMCS requires GMP or BCMath installed on your server.
4. If API returns the error 'Unknown network interface' when adding a new IP address for Plesk 12 Integration, then you need to modify the file new_configuration.json located in your_whmcs/modules/addons/ipmanager2/app/modules/api/Plesk/.

Firstly, change the name of the mentioned file from new_configuration.json to configuration.json. Next, open the file and provide the proper name for the interface.
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.

5. The module supports the "Lagom WHMCS Client Theme", if you want to use this theme in your client area you will have to insert a proper integration code in the dedicated template files.
To easily copy the integration code, proceed to your addon → Integration Code section, and follow the described steps.
IPM 60 0.png

Update Instructions

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

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

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.

Common Problems

1. In case of connection problems, please check whether your SELinux or firewall does not block ports.
2. If you see something like this when moving to 'Addon' 'IP Manager', remove a content of the 'template_c' folder.
IPM 60.png
3. If you export a file and it is empty, check your 'Storage' folder chmod, it should be set to 755. Folder is located in 'your_whmcs/modules/addons/ipmanager2' .

If you still have that problem, set chmod 777.

4. For integration with SolusVM Extended For WHMCS, one additional IP address is always assigned to the Solus virtual machine through the IP Manager For WHMCS module, exceeding the quantity specified in the SolusVM product configuration.
Navigation
WHMCS Modules
WHMCS Widgets
Translations
cPanel Modules
General
FAQ
Community
IP Manager For WHMCS