Hotfix release available: 2025-05-14b "Librarian". upgrade now! [56.2] (what's this?)
Hotfix release available: 2025-05-14a "Librarian". upgrade now! [56.1] (what's this?)
New release available: 2025-05-14 "Librarian". upgrade now! [56] (what's this?)
Hotfix release available: 2024-02-06b "Kaos". upgrade now! [55.2] (what's this?)
Hotfix release available: 2024-02-06a "Kaos". upgrade now! [55.1] (what's this?)
New release available: 2024-02-06 "Kaos". upgrade now! [55] (what's this?)
Hotfix release available: 2023-04-04b "Jack Jackrum". upgrade now! [54.2] (what's this?)
Hotfix release available: 2023-04-04a "Jack Jackrum". upgrade now! [54.1] (what's this?)
New release available: 2023-04-04 "Jack Jackrum". upgrade now! [54] (what's this?)
Hotfix release available: 2022-07-31b "Igor". upgrade now! [53.1] (what's this?)
Hotfix release available: 2022-07-31a "Igor". upgrade now! [53] (what's this?)
New release available: 2022-07-31 "Igor". upgrade now! [52.2] (what's this?)
New release candidate 2 available: rc2022-06-26 "Igor". upgrade now! [52.1] (what's this?)
New release candidate available: 2022-06-26 "Igor". upgrade now! [52] (what's this?)
Hotfix release available: 2020-07-29a "Hogfather". upgrade now! [51.4] (what's this?)
New release available: 2020-07-29 "Hogfather". upgrade now! [51.3] (what's this?)
New release candidate 3 available: 2020-06-09 "Hogfather". upgrade now! [51.2] (what's this?)
New release candidate 2 available: 2020-06-01 "Hogfather". upgrade now! [51.1] (what's this?)
New release candidate available: 2020-06-01 "Hogfather". upgrade now! [51] (what's this?)
Hotfix release available: 2018-04-22c "Greebo". upgrade now! [50.3] (what's this?)
Hotfix release available: 2018-04-22b "Greebo". upgrade now! [50.2] (what's this?)
byodomain-cname

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):

  • Assume our Saas Production IP is 1.2.3.4
  • Assume the customer needs to use learning.mydomain.com as their new site name (this is the name that the customer will enter for “Or use your own

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

  • Based on the above, earlier the customer needed to map domain “learning.mydomain.com” to IP “1.2.3.4” in their Internal and/or External DNS servers

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).

  • As of now, using one's own domain name WILL NOT work if we are using SSL (part or full) for our SaaS site (eg: if https://learning.mydomain.com is referenced in full or part on any specific page, like credit card transaction or login)

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.

byodomain-cname.txt · Last modified: 2018/08/31 16:16 (external edit)