Table of Contents

Bring your own Domain

Instructions for customers bringing their own Domain name

New customers wishing to use their own domain name for the SaaS learning site need to map our production IP Address to the new domain name they wish to use. This assumes that the customer (or someone on their behalf) is in charge of the parent domain name. This is shown by the example below (it takes into account the SubdomainFu.tld_sizes for production⇒1):

domain name” under “Website Address” while creating new site from our SaaS main site)

services) depending on whether the customer will provide access to the internal and/or external users/clients. Instead of that to conserve IPv4 addresses and automate the process, CNAME records approach can be used. Since the tld_size for production is set to 1, the above format of domain name will be supported: sub-domain-size = 1 (mydomain), sitename(learning).

Steps to be taken for custom domain names

At a high level, below needs to happen:

Create new domain alias for the customer “customer<xxxx>.learnexa.com” in /etc/hosts in the prodapp01.
      To be verified -- *.learnexa.com at this point should be pointing to prodapp01.
Request customer to create a cname entry in their external or internal DNS to point to this domain alias provided by us.
For e.g. customer should create an entry in his DNS server as follows -
      Hostname - customer.domain.com
      TTL – 86400 
      Type – in CNAME
      Target -  customer<xxxx>.learnexa.com 
Create new web server instance
Create new site in Crossbow, provide customer with CNAME

Create new web server instance on front end server

cd /opt/apache2/sites
cp -r TEMPLATE xxyyzz  (where xxyyzz can be a new short name to match the new external domain name, for eg myoga for methodyoga.com)
cd xxyyzz/conf  (EDIT httpd.conf, replace TEMPL_IPADDRESS with the new INTERNAL IP Address, replace TEMPLATE with xxyyzz, replace BYOD.COM with actual new domain name)
cd ../bin (EDIT apachectl, replace TEMPLATE with xxyyzz)

Start Apache:

/opt/apache2/bin/httpd -f /opt/apache2/sites/xxyyzz/conf/httpd.conf
Add the above in /etc/rc.local

Alternatively, can use: /opt/apache2/sites/xxyyzz/bin/apachectl [start|stop|status|configtest]

* Lastly, create the new site from learnexa.com as admin, and provide the virtualhost entry(cname entry) to the customer to have them map it to the domain name.

To be verified

(1) When we have multiple app servers /front ends at which point do we segregate (this will be researched and added in the LB architecture document)
(2) Single DNS failover service + multiple LB configuration + multiple sites / servers where the actual configuration resides and replicated needs to be researched.