Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
This document outline the basic installation, configuration and the basic usage of the WHMCS DNS Suite Provider Module
Requirements
In order to use the module's functionality, you will need the following
- DirectAdmin hosting account with ability to create addon domains
- PHP INTL module enabled on your WHMCS server
The DirectAdmin hosting account should not be on the same hosting server you serve your regular hosting with.
Your WHMCS server must have outgoing port to the DirectAdmin account's server (default is 2222) open in order to connect to the DirectAdmin server.
Installation
Upload all the files in the modules folder to your WHMCS /modules/addons and the /modules/server directory.No template upload is needed
Language Uploads
The module includes English as the base language. If you wish to translate it to your enabled language in WHMCS. Make a copy of the english.php in /modules/addons/dnssuitednsprovideradmin/lang/ to your associated language. For example, french.php. The filename must match to the ones in the WHMCS/lang/french.php
Configuration
Module Activation
Log into your WHMCS admin backend and enable the module by going to Setup → Addon Modules → DNS Suite Management Provider Admin→ Activate
Image RemovedImage Added
Once activated, click on Configure and fill in the license key and make any settings adjustment.
Module Options
Option | Description | |
---|---|---|
Verification Mode | Check for domain ownership when a customer add a domain into the database | |
Verification Interval | The interval (in minutes) when a domain under verification is checked again during a cronrun | |
Allow Manual Domain Verification | Allow for the customer to manually trigger a verification in the client area | |
Re-verify Period | Trigger for a re-verification to see if the domain is still set to the allocated nameservers. Set 0 to disable | |
Disable Re-Verify Suspension | Enable this to disable the module to NOT suspend the domain on the DirectAdmin server if it fails re-verification | |
Disable Suspension Renaming | Enable this to disable the module from suspending the domains on the DirectAdmin server if the customer's service under WHMCS is being suspended | |
Unverified Termination Period | The allowable period a domain can go unverified before it is removed from the customer's service. Set 0 to disable. | |
Re-verification Termination Period | The allowable period a domain can be unverified (after it enters Re-verify period) before it is removed from the customer's service. Set 0 to disable. | |
Migration Task Retry Limit | The amount of retries for a migration task before the task is removed from the queue. | |
Migration Task Retry Interval | The interval (in minutes) before re-running a migration task. | |
Email Verify Template | This is the email template for when an email destination is added and an email with the Pin will be send to the email address for verification | |
Restrict Sub-accounts | When enabled, sub-accounts without the Manage Domains permission (Set under main account) will not be able to use the module | |
Enable email notification | Allow client customer to set to receive email notification on changes madeDNS, Email forwarding, Catch-all changes. | |
Email Verify Template | The email template of (Email Destination Verification) | |
Notification Email Template | The email template name to use when to send out the email notification | |
DirectAdmin URL | The hostname or IP without http://or https:// | |
DirectAdmin Custom Port | Enter your custom DirectAdmin port here, if using default 2222 then leave empty | |
DirectAdmin Login/Password/SSL Connection | This is the login credentials for you DirectAdmin Account | |
Web template file name (Professional edition only) | The ZIP package name of the web templates you want to extract files from onto new domains | |
Enable PHP for domain | Allow PHP files to be run on new domains. The DA account must have PHP function enabled. | |
send for notification | ||
Re-Verification Template | The email template to send to the client to notify their domain failed re-verification | |
Large DB exclusion | When this option is enabled, the Admin panel will no longer load the list of Active domains in the Drop Down search. You will have to fill in the domain manually. This is useful if you have a large domain database | |
Fetch from NS on load | When enabled Clients will load records from the DA Server regardless of the local cache | |
Fetch from NS on load (Admin) | When enabled Admin will load records from the DA Server regardless of the local cache | |
TTL on zone refresh | The order in the Domains menu for the DNS Manager link to appear | |
Default TTL | The amount of time (in seconds) before the local cache expiresDefault Nameserver 1-5 | The default nameserver for the DA server |
Default TTL | The default TTL for the records | |
Display under Domain Service menu | When enabled it will display the DNS Manager Hosting link under the WHMCS Navigation menu Domains 's Services Tab | |
Menu Showing Order | The order in the Domains Service menu for the DNS Manager Hosting link to appear | |
Display in Domain details side bar | When enabled, a new link Manage DNS Record, Email Forwarding & Redirect will appear on the side Manage bar of a domain details page | |
Create on Pre-Registrar (v1.13) | Create domain on DA server pre-registrar hook (Required for registry that need an active zone on the nameservers) | |
Create on Registration | Creates the domain on the DA server upon registration process | |
Create on Transfer | Creates the domain on the DA server upon transfer | |
DNS Editor | Enable the permission for client to Modify DNS Records | |
DNS Templates (Professional edition Only) | Enable clients to Restore DNS Templates from the system | |
User Custom DNS Templates (Professional edition Only) | Enable clients to create their custom DNS Template | |
User Custom DNS Template Limit | The number of user DNS template allow to create | |
Dynamic DNS Support (Professional edition Only) | Allow client to update DNS records via the API | |
Dynamic DNS API Use limit | The number of API call each IP can call per hour | |
Search Integration | This option will integrate the domain search into WHMCS intelligent search | |
Systemwide Dynamic DNS API | Enable systemwide Dynamic DNS support | |
Enable API Enable Brute Force Detection | Enabling this will block an IP if it is exceeding the per hour API limit | |
Bruteforce Timer | The amount of seconds to check in the bruteforce log before denying | |
Bruteforce Ban Timer | The amount of seconds to ban the IP address from accessing the API | |
Dynamic DNS API Brute Froce limit | Limit how many unsuccessful API call each IP can call per hour | |
URL Forwarder (Premimum/Pro Edition only) | Enable the ability for the client to manage web redirects | |
URL Forward Limit | Limit how many URL redirect can set per domain | |
Email Forwarder (Premium/Pro Edition only) | Enable the ability for the client to setup Email Forwarding | |
Email Forwarder Limit | Limit how many Email forwarder can set per domain | |
Destination Email Slots Limit | The number of email destination each domain can have for forwarding | Email Catch-all (Premimum/Pro Edition only) | Enable the ability for the client to setup Email CatchAll
Enable Web Template | This to be used with domain parking and masked redirection. | |
Masked Redirect Hash | The secret hash key you will need to set with the connector_settings.php |
Note | ||
---|---|---|
| ||
Before continuing, make sure the License is filled in properly. Otherwise, it will not function properly. |
Adding a Server
Similar to other WHMCS hosting provisioning modules, you will need to add a Server under WHMCS. To do this, go to WHMCS Setup → Products/Services → Servers.
Image Added
Now create a new server and under Module. Fill in the IP of your DirectAdmin server, select DNS Provisioning Module, fill in the DirectAdmin username/password.
Info | ||
---|---|---|
| ||
The DirectAdmin username just need to be a regular account with Addon domains capability. It does not need to be have Admin or Reseller privilege. |
Nameservers Setup
Image Added
For the Nameservers, you will need to fill in the nameservers that will be handling the DNS records for this particular DirectAdmin server. See the Advance DNS Cluster guide if you are using DirectAdmin Multi-Server function.
Setting up DNS Hosting Product
Once you have at least one server setup, you may proceed to create a DNS Hosting product. Head to Setup → Products/Services → Products/Services.
Proceed to create a new Product as you would normally, select DNS Provisioning Module
Image Added
Now proceed with the Module Settings, this is where you would configure this plan's parameters.
Image Added
Don't forget to set the Welcome Email, Pricing for this plan. Once ready, save it and you are ready to sell your first DNS Hosting.
Cronjob Setup
In order for the module to execute verification and migration functions, the cronjob must be setup to run the cron file.
Setup the following command,
Code Block | ||
---|---|---|
| ||
/usr/bin/wget -O /dev/null https://yourWHMCSURL/modules/servers/dnsprovider/dnsprovider_cron.php >/dev/null 2>&1 |
Change the yourWHMCSURL to your WHMCS URL. Set the cronjob to run every 5 minutes.
If you have a tons of domains using the module, it is advisable to change it to every 15 minutes or longer.
Note | ||
---|---|---|
| ||
You may want to setup a .htaccess file to block off unwanted IP address from hitting that dnsprovider_cron.php file. |
2nd Level TLDs
For some domains such as domain.co.uk, it may be seen as a subdomain by the module. In order to combat this, we have introduced a whitelist file. The file is located in servers\dnsprovider\include.
Open tlddomains.php and you will be able to add your custom 2nd level TLD onto the array.
Table of Contents | ||
---|---|---|
|