Case Study - Global Reach, Local Touch: The Role of GeoDNS in eCommerce Expansion

WHMCS Documentation

Supported features

Create, delete and edit DNS Records Manage SOA Records Import DNS Recods
Yes Yes Yes
DNS Request statistics DNS servers update status overview and update requesting  
Yes Yes  

Installation 

To install the ClouDNS DNS Manager module you need to place the module folder in the servers directory of your WHMCS installation. Example:

/path/to/whmcs/modules/servers/
and to create a new table in your WHMCS database.
You can use the following command:

CREATE TABLE IF NOT EXISTS `mod_cloudns_zones` (
`id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
`serviceid` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`fo_checks` int(11) UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (`id`),
UNIQUE KEY `zone_name` (`name`)
) ENGINE=InnoDB;

Configuration

To configure the ClouDNS DNS Manager module you just need to open the file /path/to/whmcs/modules/servers/cloudns/cloudns_core/configuration.php and enter your ClouDNS API auth-id and auth-password on lines 9 and 10.

public static $_apiAuthId = 0; // your ClouDNS API ID
public static $_apiAuthPassword = 'XXXXXX'; // your ClouDNS API password

If you want all the products to use the same server names for NS records of zones by default you can add them in the below block in the same configuration file and uncomment it removing the "/*" and "*/" surrounding the server names.

public static $_DnsServers = array(
/* uncomment the below block if you have server names other
* than the default ClouDNS servers and want your customers
* to use them instead
*/

/*
'ns1.your-domain.com',
'ns2.your-domain.com',
*/
);

Note: If you want to set different server names per product you need to leave this block commented and add the server names from the module configuration in the admin panel of the particular Product/Service.

Product configuration

If you don't already have a Product to use the module with you can create one from Setup > Products/Services > Products/Services and click on the Create a new product link.
After the product is created go to the Module Settings tab and choose ClouDNS DNS Manager as Module name.

  • Zone limits
    Below the module name you will see a field called Zones. This should be the amount of DNS zones a customer of that Product will be limited to. Enter the amount of DNS zones this product will support for each customer and save the changes. Have in mind that your ClouDNS account is probably limited to a certain amount of DNS zones and the amount of zones of all your customers should be in that limit.
  • Default NS records
    At the right side of the Zones you will see the Servers. If you want this particular product to use different NS records than the global ones in the config you can specify them here.
  • DNS for registered domains
    For more information, please read the article "Registered domains mode".
  • Template DNS zone
    The fourth option is called Template zone. You can specify a zone name from all zones you have in your ClouDNS account and it will be used as a template when a new zone is added. The new zone will be added with exactly the same DNS records as the template zone. If you enter a non-existing DNS zone you will get an entry in the module log every time a customer of yours is creating a DNS zone.
  • DNS Failover checks
    The fifth one is called DNS Failover checks. Here you can specify how many DNS Failover checks are supported by this service. Each Failover check for each zone in this service is counted and whenever a new Failover check is activated it is checked, if the count is bellow the limit.

Suspension and termination of products

This module does not change the behavior of the suspension/termination of a product/service in WHMCS.

1. A product will be suspended automatically (if you enabled the WHMCS cron) if the product is not free e.g. the Recurring Amount is higher than 0, the Billing Cycle is not Free or One Time and the Next Due Date is at least 5 days ago.

2. When a product is suspended the DNS zones of the customer will be inactive and the DNS servers will return only NS records for them.

3. If a product is terminated the DNS zones of the customer will be deleted from the ClouDNS system and the DNS servers will return empty responses for them.

4. If you manually unsuspend (read below) a product the zones of the customer will begin working again if the product was suspended. If the product was terminated the zones will remain deleted.

5. Manual suspend/unsuspend/termination can be done via the corresponding buttons in the Module Commands section of the Product/Service's control panel. Manually doing one of this things will result in the same way as the automatic action.


Version differences

The module is tested with WHMCS versions 5, 6, 7, 7.5, 8.0.4, 8.6.1, and PHP 7.4 and 8.1 and should work with them without any problems. However some differences in the design are possible.


Last modified: 2023-03-07
Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more