DNS Manager For WHMCS
From ModulesGarden Wiki
(Difference between revisions)
|
|
Line 225: |
Line 225: |
| |} | | |} |
| {| | | {| |
− | |style="padding: 0px 0px 0px 15px;"|To provide a DNS management in client area simply use this address '' 'your_whmcs_url/clientarea.php?managedns' ''. Replace '' 'your_whmcs_url' '' with address of your whmcs directory. | + | |style="padding: 0px 0px 0px 15px;"|To provide a DNS management in the client area simply use this address '' 'your_whmcs_url/clientarea.php?managedns' ''. Replace '' 'your_whmcs_url' '' with address of your whmcs directory. |
| |} | | |} |
| {| | | {| |
Revision as of 10:52, 10 July 2013
ModulesGarden's DNS Manager For WHMCS is fully featured addon module that allows your customers to manage their DNS zones.
Owing to great choice of submodules and unprecedented functionality DNS Manager for WHMCS easily adapts to your specific needs.
As an administrator you have full control over DNS zones and also access to broad range of options.
|
- DNS Manager Supports The Following Modules:
✔ cPanel & cPanel DNSOnly
|
- DNS Manager Functionality:
✔ Multiservers Functionality
|
✔ Reverse DNS: cPanel, Storm On Demand, SimpleDNS, PowerDNS, Rage4DNS
|
✔ Adding Multiple IPs For Reverse DNS Zone
|
✔ Import Tool: cPanel, 4PSA, HostBill, PowerDNS
|
✔ Email Notifications For Admin
|
✔ Integration Codes + Default Template Examples
|
✔ Add/Edit/Delete Zone Records
|
✔ TWO CLIENT AREA TEMPLATES: 'One Page' and 'Subpages'
|
✔ Allow Users To Create Zones
|
✔ Zones Synchronization With Cron + Whitelist (Deactivate Domains With Wrong Nameservers)
|
✔ Filtering And Paging In Client Area
|
✔ Disable Records Functionality
|
✔ Removal Of Unused PTR Records (Cron Synchronization)
|
✔ Providing DNS Management Only Together With The Order Of Specific Domain/Product/Addon
|
✔ Default Records Configuration
|
✔ NameServers Configuration
|
✔ Zones List Management in Admin Area
|
✔ Balloon Descriptions Implemented To Facilitate Understanding of DNS Manager
|
✔ Supports WHMCS V4 and Later
|
Installation
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.
|
2. Upload and extract the module into the main WHMCS directory.
|
Files in your WHMCS directory should look like this.
|
3. 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.
|
4. In next step you need to permit access to this module. To do so choose 'Full Administrator' and press 'Save Changes' .
|
5. When you install DNS Manager for the first time you have to rename 'license_RENAME.php' file.
|
File is located at 'modules/addons/dns_manager/license_RENAME.php.' Rename it from 'license_RENAME.php' to 'license.php' .
|
6. 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 at your client area → 'My Products' .
|
7. After correct configuration of your license key, you have to configure 'clientareahome.tpl' file located in your currently used templates directory.
|
The screen below shows how you should properly configure 'clientareahome.tpl' file.
|
Copy and paste the following code at the beginning of your 'clientareahome.tpl' file:
|
{php}
if(isset($_GET['managedns'])) {
require_once substr($this->template_dir, 0 , strpos($this->template_dir, '/templates'))."/templates/dns_templates/dns_controller.php";
}{/php}
{if !$dnsmanagement}
|
Now copy and paste the following code as the last line in the 'clientareahome.tpl' file:
|
For the purposes of presentation we will edit file in default template. Its localization is 'whmcs/templates/default/clientareahome.tpl' .
|
7*. If you are using WHMCS v4, you have to rename (ex. dns_hooks.php) and copy 'modules/addons/dns_manager/hooks.php' to the 'includes/hooks/' directory.
|
8. 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.
|
To provide a DNS management in the client area simply use this address 'your_whmcs_url/clientarea.php?managedns' . Replace 'your_whmcs_url' with address of your whmcs directory.
|
After you type the correct address you will see a screen as shown below. That's the proof that the entire installation process was successfully completed.
|
Configuration
Connection and Basic Configuration
At the beginning let's connect DNS Manager with your module. We will show you this process by connecting with cPanel.
|
In your WHMCS click on 'Addons' then choose 'DNS Manager' . Go to 'Configuration' → 'Connection' section.
|
Choose Cpanel from a dropdown menu. Enter your username, user password, Hostname/IP and press 'Test Connection' .
|
After the appearance of the green sentence 'Connect Succuessful' you can press 'Save' .
|
Here you can also allow to create DNS zones when already in cPanel as account.
|
Now press 'Name Servers' and enter the nameservers that will be visible for your customers in their client area.
|
Configuration of Processing
In configuration section press 'Processing' . You will see a following screen.
|
There are several configuration options. We will present you each one of them.
|
Firstly decide whether to use 'One Page' or 'Subpages' template and simply choose it from a dropdown menu.
|
You can allow DNS zones to create automatically with certain domains, products or products addons. You can also enable Reverse DNS here.
|
Beneath 'Automatically create zones:' mark for example 'With Product Addons' and select previously created addon/s. We chose 'Great Addon' .
|
That's it, press Save button. From now on DNS zones will be automatically created with product addon 'Great Addon' .
|
You can allow your customers to create their own DNS zones from client area for free. For this purpose tick 'Allow to create own zones' → 'Free for all registered customers' and press 'Save' .
|
Afterwards all your registered clients will be allowed to create their own DNS zones regardless of registered domains or chosen products.
|
There is also an option to allow your customers to create their own DNS zones with for example certain product.
|
Tick 'Allow to create own zones' → 'WithProducts' and select previously created product/s. We chose 'DNS Management Product' .
|
That's all, press Save button. Afterwards your customers will be allowed to create their own DNS zones only together with the order of this product.
|
Please note that while using 'Allow to create own zones' option client's product should have a Dedicated IP to allow create own zones.
If client's product doesn't have Dedicated IP then client will see a following screen and won't be allowed to create and new zone.
|
In order to add a Dedicated IP go to 'Clients Profile' → 'Products/Services' and enter the IP in the marked field. Afterwards press 'Save Changes' .
|
As you can see on the following screen our previously added IP appeared so we can proceed with adding our zone.
|
Management of Multiservers
Multiservers allows you to use many different servers not necessarily using the same module.
For example you can have 3 different servers to manage your DNS zones with cPanel, Rackspace and PowerDNS.
Using Multiservers in DNS Manager is very simple. To start, tick 'Multiservers functionality' in 'Configuration' section.
Choose the template, enter your new server name and press 'Add Server.'
|
Now you can customize your new server according to your needs.
|
Management of Records
'Disable Editing Records' as then name indicates allows you to disallow editing certain record types.
In order to use this feature simply tick record type you want to disable and press 'Save Changes' .
|
Management of DNS Zones In Client Area
Adding new DNS zone is very simple. First you need to provide a DNS management in client area.
|
For that purpose simply use this address 'your_whmcs_url/clientarea.php?managedns' and replace 'your_whmcs_url' with address of your whmcs directory.
|
Afterwards press 'Add Zone'
|
In next step enter your zone name, IP address and press 'Add Zone' .
|
If the operation was successful, you will see a following screen.
|
In order to check your new DNS zone details press Edit button.
|
You will see a screen similar to the one shown below. Here you can view and edit your zone's details.
|
Adding Default Records
DNS Manager allows you to add your own default records to each DNS zone. In order to add new default record press 'Default Records' and 'Add New Record' .
|
Afterwards choose your record type from a dropdown menu, enter address, proper TTL, value and press 'Save Changes' .
|
Now we will create new DNS zone to present you our new default record. Press the Edit button next to our new DNS zone.
|
Keep in mind that new default records will be added only to DNS zones created after adding a new record. Operation will not affect the already existing DNS zones.
|
On the following screen you see can new default record successfully added to our DNS zone.
|
Management of Reverse DNS
In order to enable Reverse DNS log in to your WHMCS. Press 'Addons' → 'DNS Manager' → 'Processing' and tick 'Enable Reverse DNS' .
Modules that currently support Reverse DNS are cPanel, StormOfDemand, SimpleDNS and Rage4DNS.
Note that multiple PTR are disabled by default when you enable Reverse DNS. You can enable that functionality through unselecting underlined field as shown on the following screen.
|
Now in your client area: 'your_whmcs_url/clientarea.php?managedns' click on 'Manage Reverse DNS' .
|
Afterwards enter zone name, IP address, value and press Add button once again.
|
Your DNS zone and record have been successfully created. Now you can also edit your DNS zones.
|
Management of Zones List
Zones List allows you to monitor and manage your DNS zones. You can synchronize, create or delete zones from here.
|
Let's for example synchronize one of our DNS zones with the WHMCS system. For that purpose simply press 'Synchronize' .
|
As shown on the screen below our synchronization was successful and our zone exists.
Zones List allows you also to manage each zone. For this purpose simply click 'Manage Zone' .
|
As you can see DNS Management for our zone appeared. Very convenient, isn't it?
|
Management of Import Tool
Import Tool lets you to quickly import your zones from chosen cPanel, HostBill, 4PSA or PowerDNS server.
As an example we will show you how to import your zones from cPanel server.
First in your main menu click 'Import Tool' . Then enter your server details and press 'Show Zones' .
|
If you would like to import zones from same cPanel server that you set in 'Connection' section, you can do this in a more convenient way.
In such a case you can avoid entering server details. To do so simply tick 'Use your current cPanel module connection settings:' as shown on the screen below.
|
As you can see entire list of zones has been successfully displayed. Let's import several zones.
For this purpose choose your zones and assign a client to each of them through using dropdown menu. Afterwards press 'Import Zones' .
|
The following message will appear as a confirmation of the successful accomplishment of the operation.
|
Now let's check your new zones in the Zones List. As you can see on the screen, they have been properly imported.
|
Management of Synchronization
Here you can set up automatical termination of unused zones and unused PTR records.
Unused zone is a zone which doesn't contain all the nameservers set up in 'Configuration' → ' Nameservers '.
For this purpose simply set up new Cron task provided by DNS Manager.
In 'Synchronization' section you can also whitelist your domains. To perform this action click at 'Select' button.
|
Whitelist is used to avoid of accidental deletion of domains.
|
Management of Email Notifications
With this functionality enabled you will receive emails each time the domain is created, modified or deleted.
To receive notifications click on 'Email Notifications' located in 'Configuration' and tick 'Enable Email Notification' as shown on the screen below.
|
Afterwards the 'Reported actions' section will show up. Choose notifications that suit you best and press 'Save Changes' .
|
Integration Codes
With these codes you can easily change templates of your client area. You will find them in 'Configuration' → 'Integration codes' section.
|
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.
|
DNS Manager Logs
Logs help you keep track of all the activities carried out in DNS Manager.
|
Tips
1. To provide a DNS management in client area simply use this address 'your_whmcs_url/clientarea.php?managedns' . Replace 'your_whmcs_url' with address of your whmcs directory.
|
2. When you set up processing to create zones with domains, the zones will be automatically created while ordering a new domain.
If you would like to add zone to your already exisiting domain you can do it manually.
|
3. We recommend to run Cron once per hour.
|
4. Cron checks up to 100 zones. If you have for example 200 zones, Cron will check zones from 1 to 100 first, then it will check zones from 101 to 200.
|
5. If the zone is inactive or missconfigured for longer than 24 hours, Cron will automatically delete it. Single Cron run removes up to 5 such zones.
|
6. 'Default IP' as the name suggests is default IP address of the zone. If you don't specify an IP address when you create a new zone, default IP will be used.
In case you don't provide default IP neither zone IP, you won't be able to create new zone.
|
7. 'Name' in PowerDNS module 'Connection' tab is the field called 'name' in the SOA record. This record is added when the zone is created.
You can define SOA record format in the configuration of the module. Available variables are {$domain} and {$ip} in fields: 'Name' , 'Primary' , 'Hostmaster' .
|
8. The screen below shows an example configuration of PowerDNS connection.
|
Common Problems
1. If after install, you will get an ionCube encoder problem (wrong version), please open a support ticket.
We will provide you with different version of the module encrypted with the older version of ionCube.
|
2. If after successful installation in your client area you receive following or similar error:
Fatal error: main() [function.require]: Failed opening required '/var/www/html/client/templates/dns_templates//lang/english.php' (include_path='.:/usr/share/pear:/usr/share/php') in /var/www/html/client/templates/dns_templates/dns_controller.php on line 0
That means that you have forgotten to configure and save processing of your addon. Tutorial on how to configure processing you can find here
This was fixed in DNS Manager 1.6
|
3. Access denied error on Test Connection it's a bug which might appear with dns only servers OR banned IP in cphulk.
If you are sure that details are correct, please ignore this error and try to create/terminate the zones to see whether the connection is working.
|
4. If you see a blank page right after installation process please make sure that you configured and saved processing options.
|
5. 4PSA platform is very specific therefore it can cause some problems with DNS Manager. You may encounter problem with file priviliges.
When connecting 4PSA module requires to download .wsdl file to 'include/dns_modules/4psa/tmp/wsdl' . It might appear that after connecting, the DNS Manager won't work properly.
To fix it you can create this directory on your own and set chmod 777 privileges. Afterwards try to connect and check whether the directory was created.
If directory has been created and you still have problems, you will need to edit a following files:
- includes/dns_modules/4psa/tmp/wsdl/xxx.xxx.xxx.xxx_port/soap/schema/1.5/Client/Client.wsdl
- includes/dns_modules/4psa/tmp/wsdl/xxx.xxx.xxx.xxx_port/soap/schema/1.5/DNSZone/DNSZone.wsdl
- includes/dns_modules/4psa/tmp/wsdl/xxx.xxx.xxx.xxx_port/soap/schema/1.5/System/System.wsdl
Afterwards please change the content of the files below:
FROM:
<soap:address location="https://some_hostname:port/soap/client_agent.php"/>
TO:
<soap:address location="https://YOUR_IP:port/soap/client_agent.php"/>
|
6. If you get an error: 'Unable to create zone:Sorry, you must enter an IP.' , please make sure that your default IP or zone IP is not missing.
|
7. If while adding ReverseDNS you get an error: 'Sorry, you must enter an ip. Please try again.' , please make sure that your 'Default IP' field in module 'Connection' settings is not empty.
|
8. If you have problems with connection make sure that port 2086 is open (for no SSL connections) or port 2087 is open (for SSL connections).
|
9. When you have problems with connection, check whether your SELinux or firewall is not blocking ports.
|