DNS Manager For WHMCS

From ModulesGarden Wiki
Jump to: navigation, search


About DNS Manager For WHMCS

DNS Manager For WHMCS is fully featured addon module that allows your customers to manage their DNS zones.

A great choice of submodules together with options such as creating ready packages make DNS Manager for WHMCS perfectly adapt to your specific needs.
As an administrator you have full control over DNS zones and access to broad range of management options.

  • Admin Area Features:
✔ Define DNS Servers
✔ Define Packages
✔ View And Edit Existing Zones
✔ Migrate Zones Between Chosen Servers
✔ Import Zones From Chosen Server
✔ Define DNS Records Set
✔ Set Up Automated Tasks And Execution Time
✔ Select Default Client Area Template
✔ Toggle Administrator Notifications And Choose Who Send Them To
✔ Modify Notifications Email Templates
✔ Define Logs And Notifications Settings
✔ View Details And Notifications Related To Zones And Servers Load
✔ View Information About Automated Tasks
✔ View Scheduled Tasks Progress
✔ Display Usage Of DNS Servers
✔ View Email Notifications Statistics
✔ View Logs
  • Client Area Features:
✔ View List Of Owned Packages
✔ Add And Manage New Zones Within Package Limit
✔ Add And Manage Zones Records Within Records Limits
✔ Restore Zone From DNS Records Set
✔ View Zones Limit Per Package
✔ View DNS Records Limits Per Zone
  • Automation Features:
✔ Provision Packages
✔ Migrate Zones
✔ Import Zones
✔ Clear Unused Zones
✔ Clear Logs
  • Server Settings:
✔ Allow rDNS
✔ Allow Multiple PTR
✔ Use Cache To Optimize Loading Time
✔ Define Nameservers
  • Package Settings:
✔ Define Zones Limit Per Package
✔ Define Items (Products/Domains/Products Addons) Purchase Of Which Results In Receiving Package
✔ Define Servers Used By Package
✔ Define Allowed Record Types
✔ Define Total Records Limit
✔ Define Record Limits Per Type
✔ Define Automation Settings For Creating First Zone
✔ Assign Default DNS Records Set
✔ Allow Client To Restore Zone Using Chosen DNS Records Sets
✔ Toggle Client And Administrator Notifications
  • Supported DNS Servers:
✔ 4PSA
✔ AtomiaDNS
✔ cPanel & cPanel DNSOnly
✔ DirectAdmin
✔ DNS Made Easy
✔ DNS Pod
✔ DNS.com
✔ DynDNS
✔ EuroDNS
✔ Freenom
✔ Nettica
✔ OpenSRS
✔ Plesk
✔ PowerDNS & PowerDNS Hosted (Beta)
✔ Rackspace
✔ Rage4 DNS
✔ RRPProxy
✔ SimpleDNS
✔ Storm On Demand
✔ Zonomi
  • Supported DNS Record Types:
✔ A
✔ DS
✔ MB
✔ MD
✔ MF
✔ MG
✔ MR
✔ MX
✔ NS
✔ RP
✔ X25
  • General Info:
✔ IDN Zones Supported
✔ AJAX Loaded Pages In Admin Area
✔ Template Customization Support
✔ Multi-Language Support
✔ Supports WHMCS Templates Five and Six
✔ Supports WHMCS V5 and V6


In this short tutorial we will show you how to successfully install DNS Manager For WHMCS.

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

1. Log in to your client area and download DNS Manager For WHMCS.
DNS2 1.png
2. Upload and extract the module into the main WHMCS directory.
Files in your WHMCS directory should look like these.
DNS2 2.png
3. When you install DNS Manager for the first time you have to rename 'license_RENAME.php' file.

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

4. In order to configure your license key you have to edit a previously renamed 'license.php' file.

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

5. This steps is required only if you are using WHMCS V5.x.x

Open your currently used template: yourWHMCS → Templates → Default → header.tpl

Find line (usually it line no 66):

 <li class="divider"></li>

Insert this code snippet above that line:

<li><a href="index.php?m=DNSManager2">DNS Manager</a></li> 

Correctly inserted code should look like tehse:

Note! There is no integration required for WHMCS V6.x.x!
6. Now you have to activate the module in your WHMCS system.

Login to your WHMCS admin area. Click 'Setup' then choose 'Addon Modules'.
Afterwards find 'DNS Manager' and press 'Activate' button.

DNS2 3.png
7. In next step you need to permit access to this module. To do so click on 'Configure' button, choose 'Full Administrator' and press 'Save Changes'.
DNS2 4.png
9. Good job! You have just successfully installed DNS Manager For WHMCS! Now in your WHMCS system press 'Addons' then press 'DNS Manager'.

You should see a following screen.

DNS2 6.png

Configuration and Management

This section has been divided into two main parts to allow full and at the same time easy understanding of the whole module functionality.
In the first part 'Basic Configuration' an exemplary flow of basic configuration of servers, through creating packages and then zones management
from both the client and the administrator side has been presented.
In the second part, there are described additional settings and tools that can be used while working with DNS Manager For WHMCS.

Basic Configuration

In the first place we would like to show you the process of configuring your DNS manager on a simple example.
Follow the steps below to see how the process looks like in practice.

Proceed to 'Addons' → 'DNS Manager'. There are several sections, but the one that you should be interested in the most in the beginning is 'Servers', you will find it under 'Settings' tab.

DNS2 6 1.png

Servers Configuration

To start your work, add a new server.
DNS2 7.png
To add a new server you must fill our soma data to allow connection with it. As an example, we will try to connect with cPanel server.
Additionally, you may declare here whether you need rDNS, Multiple PTR or Cashe. Select the chosen options.
DNS2 8.png
Once you have chosen a server from the dropdown menu, 'Configuration' and 'Nameservers' tabs appear.
Enter your username, password, Hostname/IP and any other details needed to connect successfully.
Now, press 'Nameservers' and enter the nameservers that will be visible for your customers in their client area.

Before you save the changes remember to test the connection.

DNS2 9.png
Now, that you have a ready server on the list of servers you may manage it. Turn it on/off, edit or delete.
DNS2 10.png

Management of Packages

Packages - these are sets of products that will be sold and within which zones can be created by a client.
'Add' a new package to see how to configure it and what exactly you may specify there.
DNS2 11.png
In general section you must obviously name the newly created package and define the number of owned zones per item (limit of zones that a client may then create within this package).
Here, you can also decide if zones should be created automatically after defined actions.
These are:
  • New Item
  • Pending Transfer Domain
  • Pending Registration Domain
  • Domain with DNS Management
DNS2 12.png


Assign Domains, Products or/and Product Addons from available to the package.
DNS2 13.png


Assign the package to the previously added server.

Note! You may always assign the package to more than one server.

DNS2 14.png


In this part you may define which type of records you want to allow, declare their limit and choose record sets.
DNS2 15.png


In the last part you may configure which notification will be sent to clients and administrators.
Do not forget to 'Add' the newly configured package.
DNS2 16.png
Enable the newly created package to allow it to be used!
DNS2 17.png

DNS Management in Client Area

Now, that we already have the module configured you may see how clients will add and then manage their zones.
In client area find button 'DNS Management' it will redirect you to the management page.
DNS2 18.png
In here, clients may add new zones. To do so, simply type in the name of the zone and choose IP address from the available.
DNS2 19.png
DNS2 19 1.png
Allowed actions on a zone:
  • edit existing zone (1)
  • delete zone (2)
  • create zone on the server (3)
DNS2 20.png
Press 'Edit' to see details of the zone, you may edit the zone here and add new records if limits allow you.
DNS2 45.png
Enter new record's name, choose type from available etc.
DNS2 46.png

Zones Management

In administrator panel, there are visible all clients' zones. As an admin, you will see whose zone it is, its type,
on which server it is created and its status (created/deleted).
DNS2 21.png
Actions on zones from the admin area:
  • edit zone
  • synchronize
  • create
  • delete (zone is deleted both from WHMCS and from the server)
  • remove from WHMCS (zone is still available on the server)
DNS2 22.png

Additional Tools

DNS Records Sets

Create ready made sets of DNS records. You will find them in 'Settings' → 'DNS Records Sets'.
Press 'Add Set' to create a new one.
DNS2 23.png
Enter the newly created set name and then choose records from the dropdown menu, press '+'.
DNS2 24.png
Now, fill out the data as required.
DNS2 25.png
Created DNS records Sets can be then used while preparing ready packages, as it was described.
Ready made sets allow much faster and more personal configuration of packages.
DNS2 26.png

Global Settings

This section has been designed to allow quick and simple configuration of global settings from one place.
DNS2 27.png


Choose a default template that will be used in client area.

If you have more than one template then you may allow your clients switch between them.
Decide whether you wish to use ready-configured redirection to DNS Management page in client area.

DNS2 28.png


In this part, set which notification should be sent to clients and which to administrator. Select the ones that interest you.

Press 'Modify' and you will be quickly redirected to the email template page where you can adjust it to your needs.

DNS2 29.png
Use 'Exclude' button to specify domains, products and addons that zones assigned to them will NOT be included in notifications.
DNS2 30.png
Use 'Include' button to specify to which admin users notifications will be sent to.
DNS2 31.png

Logs And Notifications

In this part you may impose when log entries and notifications should be removed from the system database.
If you wish you may also check option 'Log Successful Actions' to store all entries in logs (DNS Manager → Settings → Logs).
DNS2 32.png

Cron Jobs

In order to manage your cron job tasks proceed to 'Tools' → 'Cron'.
Here, you will find four information boxes, each one responsible for management of separate cron task.
These are: migration, import, synchronization and cleaner.
DNS2 33.png
At the very top, there is an info box with general cron details, such as recommended time interval of cron execution (5 minutes is suggested),
the last execution time and run time period. (Keep it as frequent as possible!)
DNS2 34.png
Cron Migration - responsible for calling added tasks to migrate zones between servers. Choose interval and declare how many zones can be migrated during a single execution.
Cron Importer - responsible for calling added task to import zones from an external server to WHMCS. Choose interval and declare how many zones can be imported during a single execution.
Cron Synchronization - this cron job is responsible for regular synchronization of created zones. Choose interval and declare how many zones can be synchronized during a single execution.
Select 'Recheck Zones' to control already synchronized zones.
DNS2 35.png
Cron Cleaner - this option is a little bit more complex. Just like in case of other jobs, firstly choose interval and declare how many zones shall be cleared
during a single execution. Then you may specify conditions of clearing zones and records.

Zones are removed:

  • if no longer matches with any package
  • has not been modified for a specified period of time
  • its domain is not found in WHOIS Lookup
  • no records are included

PTR Records are removed:

  • if service is terminated or canceled
DNS2 36.png


Import - this is an additional tool that allows import of zones that exist on outside servers to WHMCS.
Move to Tools' → 'Import' in your admin panel. You will find here a list of Import assignments with information on which server they are imported from,
total number of already imported zones and the number of all zones, progress of import task.

To add a new import task press 'Add Import'. '

DNS2 37 1.png
Choose server that you want to import zones from.
DNS2 38.png
Now, when the new import task appeared on the list of awaiting imports, schedule the import.
DNS2 37 2.png
When schedule is confirmed, preview the list of imported zones to assign a client and a related product to the zone.

To do so, press the button as marked on the screen.

DNS2 37 3.png
A list of zones appears, select zones, choose clients and related products as it is marked on the screen.
Then press 'Import Zones' to import several zones at once or use action buttons for single import.
DNS2 37 4.png
If you do not schedule import tasks, regular cron execution will trigger the import.
Hoverer, you will still have to manually select zones that will be imported and assign clients and products as it is shown above.


'Migration' is another useful tool that you may use to manage zones efficiently. With this tool you may migrate zones between servers.

Keep in mind, that when you are migrating zones from one server to another they are not imported to your WHMCS in the meantime!
If you wish to update the list of migrated zones, you will have to import them to WHMCS from the final server after migration.

Remember that migrated zones are available on both servers now! Migration does not delete zones just copy them to the new server!

DNS2 40.png
To add migration task, press 'Add migration', specify from which server you wish to migrate zones, and the target server, as simple as that.

Note! Migration does not copy DNS Manager settings, to illustrate: if you are migrating zones that exist in DNS Manager their locations for example are not updated.

DNS2 41.png
Schedule the migration. Remember to confirm the action.
DNS2 41 1.png
Move to the list of zones to assign clients and products. Press button marked on the screen.
DNS2 41 2.png
Select zones and 'Migrate Zones' for mass migration or use action buttons next to singe zones.
DNS2 41 3.png


You will find a list of current tasks in 'Tools' → 'Tasks' section.
Among all tasks there are import tasks, migration and synchronization tasks.
DNS2 42.png
According to specifically set-up cron jobs all created tasks are regularly executed. Here, you can see current status of each task.
If it is queuing for the next cron run, is currently executed, aborted or complete. Check when they were executed for the last time (Last Execution) and when the task was added.
Available actions: call execution manually and remove the task.


Home page of DNS Manager which can be used to get a quick and clear preview on the crucial parts of the module: added servers with number of zones created on them,
summary of email messages sent to clients and finally the most important notifications.
DNS2 43.png

Custom cPanel Zone Templates

You can allow your customers to create zones without cPanel Default Records. To do so you need to create your own Zone Template in the WHM.

If you don't know how to create your own Zone Template you can follow this short guide made by cPanel: Edit Zone Templates Guide
To apply your newly created zone template simply log in to your WHMCS and go to 'Addons' 'Cpanel Extended Functions' 'Configuration'.
As a module choose 'Cpanel' and enter the name of your zone template in 'Template' field as shown on the screen below. Remember to save the changes.

DNS2 55.2.png

DNS Manager Logs

Logs help you keep track of all the activities carried out in DNS Manager. Find them here: 'Settings' → 'Logs'.
DNS2 60.png

DNS Manager Migrator

If you have been already using DNS Manager For WHMCS, you can migrate data from your current system to the latest version.
To do so follow the below steps:

1. Activate DNS Manager For WHMCS V2.x.x.
2. Run command in your browser or in console:


3. Follow the steps that you see on your screen now!
Note! It is advised to use your console to do the migration between the previous and the new versions of your DNS Manager in case you have a huge number of zones
(if more than 1000, it is highly recommended).

4. Once the script has run and the migration is complete you need to review the configuration of your servers to alter their naming and which is the most important enable migrated servers and packages.
Freshly migrated servers and packages are by default disabled.


1. Keep track of your 'pending' and in 'progress' 'Tasks' to set an optimum interval time for the tasks execution.

For example, set interval in the way that half of the time task is set to pending status.

Common Problems

1. When you have problems with connection, check whether your SELinux or firewall does not block ports.
2. jQuery 1.9 is required to work properly.
Personal tools

WHMCS Modules
cPanel Modules
Magento Extensions
Magento Themes
DNS Manager For WHMCS