CoCCA IDN EPP Module For WHMCs

From CoCCA Registry Services (NZ) Limited

Revision as of 16:30, 30 May 2017 by Cocca (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

CoCCA IDN EPP Module For WHMCs

CoCCAepp IDN registrar module Download

CoCCA maintain a CoCCAepp IDN module for WHMCS, This Module is fully support IDN and ASCII, so you can register domain names containing international (non-ASCII) characters directly and no need to convert the domain name into "punycode" our Module will do that for you, in addition you can create unicode contacts (non-ASCII), the module will detect the contact type so it will send the appropriate EPP command to SRS, but you need to ask your registry if zone support the unicode contacts or not. you can download CoCCAepp Module as the following:


   #CoCCAepp Module for WHMCS 30 May 2017
   Md5 |  efd6b76bbf1d1ad70daf293aff121426
   Download Last CoCCAepp Module as ZIP directly from here. 
   In Linux shell: #wget https://wiki.cocca.org.nz/mediawiki/images/d/idn/CoCCA-EPP-Module-IDN.zip 

The Operations Supported by this Module :


  Register Domains (non-ASCII and ASCII)
  Renew Domains if pendingDelete send restore EPP command  (non-ASCII and ASCII).
  Manage domain transfers - Request, Approve , Cancel , Reject
  Modify contact details (non-ASCII and ASCII).
  Manage Domain Nameservers (non-ASCII and ASCII).
  Create child Nameservers (non-ASCII and ASCII).
  Request for a domain deletion (non-ASCII and ASCII).
  Domain Synchronization (non-ASCII and ASCII).

Environment Requirements


  - Centos 7 since centos 7 support writing Read/Write UTF8 text files.
  - Allow IDN Domains in WHMCs (See next sections).

Install CoCCAepp IDN registrar module

when you download it, then unzip it, you will find file contain all required instructions to install this Module including:


1. Copy the folder 'whoisquery' into the WHMCS installation directory


2. Copy the folder 'COCCAepp' to 'YOUR_PATH_TO_WHMCS/modules/registrars/'


3. In WHMCS's control panel top lime, click on "Setup".


4. Click then on "Products / Services" => "Domain Registrars"


5. Enable COCCA module and then configure it.


6. Configure WHOIS lookup based on port 43 in WHMCS: For WHMCS 6.x:

1. Go to the file 'YOUR_PATH_TO_WHMCS/includes/whoisservers.php'
2. Apend the following at the last line
 .tld|whois.nic.tld|No Object Found
 Replace .tld with the extensions that you will be using the script for, and nic.tld with your tld whois server.

For WHMCS 7.x: In WHMCS 7.x The WHOIS Server definitions can be found in /resources/domains/dist.whois.json, we need to check if our TLD is already exists in dist.whois.json, if exists we need to be ensure the whois format is right as the following:

 {
 "extensions": ".IDNtld",
 "uri": "socket://whois.nic.IDntld",
 "available": "No Object Found"
 }

if your TLD does not exists in dist.whois.json we should create new file /resources/domains/whois.json to add our TLD with same previous format:

 {
 "extensions": ".IDNtld",
 "uri": "socket://whois.nic.IDNtld",
 "available": "No Object Found"
 }

Please Replace .IDNtld with the extensions that you will be using the script for, and replace whois.nic.IDNtld with your tld whois server. if your TLD is an IDN TLD you need to add it in dist.whois.json in non-ASCII format , for example :



7. It's suggested, although not required, to keep the module log enabled in Utilities -> Log -> Log Module, even for production use, to facilitate the diagnosis of problems reported by customers. By doing so, it won't be necessary to ask the customer to redo a transaction for an issue to be diagnosed.


Enable Internationalized Domain Names (IDN) support

To be able to register domains in non-ascii format you need to enable Internationalized Domain Names (IDN) support in WHMCS form General Settings then Domains, need to tick the box of " enable Internationalized Domain Names (IDN) support" as the following:




Please note if you do not enable Internationalized Domain Names (IDN) support then you will not be able to register IDN domains and you will get the following error:




Enable Domain Sync between WHMCS and Registry

The important issues in WHMCS is enable Domain Sync between WHMCS and Registry SRS, to ensure the Status and the Expiry Date of domains names are same. and the date in WHMCS is always correct, to avoid any failure when renew or update domains. To use this feature (form Admin UI in WHMCs go to Setup --- > General Settings -----> Domains ) tick the option in WHMCS as the following figure:


File:enable_domain_sync.jpg


Then configure the following cron job on your server:

php -q /path/to/home/public_html/whmcspath/crons/domainsync.php


Configuring the EPP domain check availability

To use the EPP domain check Query to check the domain availability as specified in RFC 4931, Just follow those steps:


For WHMCS 6.x:


 1. Go to the file 'YOUR_PATH_TO_WHMCS/includes/whoisservers.php'
 2. Apend the following at the last line
  .gtld|http://example.com/whoisquery/query.php?domain=|HTTPREQUEST-Available
  Replace .gtld with the extensions that you will be using the script for and example.com with your whmcs installation URL.

For WHMCS 7.x:


In WHMCS 7.x The WHOIS Server definitions can be found in /resources/domains/dist.whois.json, we need to check if our TLD is already exists in dist.whois.json, if exists we need to be ensure the whois format is right as the following:


  {
  "extensions": ".IDNtld",
  "uri": "http://example.com/whoisquery/query.php?domain=",
  "available": "Available"
  }

if your TLD does not exists in dist.whois.json we should create new file /resources/domains/whois.json to add our TLD with same previous format:


  {
  "extensions": ".IDNtld",
  "uri": "http://example.com/whoisquery/query.php?domain=",
  "available": "Available"
  }

Please Replace .IDNtld with the extensions that you will be using the script for, and replace example.com with your whmcs installation URL, see the following example:


Configure WHMCS with CoCCAepp Module

you can configure CoCCAepp via WHMCS GUI, just Click on Setup then "Products / Services" => "Domain Registrars", Then you need to active the CoCCAepp module, Then configure it, by provide your Registrar Username and Password, EPP server Hostname, enable TLS and the certificate PATH, then you will get the following image:



Common issues with Installing CoCCA Module


1- The CoCCA Registry require a encrypted connection to connect the EPP port 700, The connection needs to be encrypted to be parsed, You can connect a socket to EPP without TLS, in this case you won’t get any response though.


you should first ask your Registry administrator to enable the EPP login for your registrar login, by default the registrar EPP login will be disabled, the enable EPP login easy and can be done through CoCCA Registry GUI as the following:


File:enable_epp.jpg


2- If you need to allow end users to use the unicode contacts you need also to check with your Registry administrator or TLD admin if the zone policy allow the unicode contacts.


3- The most common issues when the users install the CoCCAepp module, they get the blank page or timeout when they try to register a domain, this caused because the use does not enable the TLS in CoCCAepp module or does not provide the configuration with the right .pem certificate. to fix this issues, you can append the certificate and the private key into one file, and place it somewhere in the website root.Then configure this path into the COCCAepp module.


You can create a self signed certificate and use it with CoCCAepp module configuration as the following:


Generate a Private Key and a CSR:


   openssl req -newkey rsa:2048 -nodes -keyout domain.key -out domain.csr

Generate a Self-Signed Certificate from an Existing Private Key:


   openssl req -key domain.key -new -x509 -days 365 -out domain.crt

The certificate example would be as follows:



BEGIN RSA PRIVATE KEY-----

MIIEowIBAAKCAQEAurnssJJ6kMxrN2WaCDhkIKpi8k1EXUs2fmNmw7ZivD+dgfXS Wt6XP1Rlxcib7i9whXFfRi8/LcRmEpzmXVg2gO5wWk5iz3u2wRv/CE7cnYrJG/ns FoNJIJ73/RGzx4saYxVr7BanT8To2gWTsmDv1zB+73yF4f/dt2OuazBg7NWtTMDp ............................ ...........................


END RSA PRIVATE KEY-----
BEGIN CERTIFICATE-----

MIIEQDCCAyigAwIBAgIQeifDmDI85WTJMncPgsZcGTANBgkqhkiG9w0BAQUFADBe MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMVGhhd3RlLCBJbmMuMR0wGwYDVQQLExRE ............... ............... upmilY6/qEhI+z9mv9KP1Mba7owmOXMrF0qpbmB/GqLiLlMt


END CERTIFICATE-----
Personal tools