So last week I decided to fiddle around with my domain aditto.info but ended up deleting a lot of important entries in the settings page. The whole issue was to point www.aditto.info to the domain hosted on byethost.com and blog.aditto.info to this blog which is hosted on wordpress.com.
So the most important thing a domain name needs, is a domain name server (DNS), or a name server (NS). A name server essentially contains address (A) records that map the domain name to an IP address. That is, a NS contains an A record which says domain.com is actually IP 192.x.x.x and so on. When you type in domain.com in your web browser, the browser tries to find the IP address via the A record, which it seeks on the NS of the domain!
If you buy a domain registration from a vendor, the NS setting would be at default, that would be pointing to the NS of the same vendor. If you decide to just buy the domain from this vendor and host your website on some other vendor’s server, then you need to change your NS records. The new NS records should now point to the vendor where you have hosted your website.
So lets say, you purchase domain.com from vendor1, the default NS entries would be ns1.vendor1.com, ns2.vendor1.com or dns1.vendor1.com, dns2.vendor2.com
If you have chosen to host your website with host1, you need to change the NS entries to ns1.host1.com, ns2.host1.com etc.
So what was my problem? I wanted my wordpress blog (hosted at http://www.wordpress.com) to be pointed from a sub-domain blog.aditto.info! The best ways to point a sub domain to a website are by using A record or CNAME record. While A record points to an IP address, CNAME record points to an A record which might be on some other server! So all I had to do was insert a CNAME record for blog.aditto.info to point to aditto.wordpress.com, and then pay/enable subdomain mapping in wordpress.com settings.
I did that. However, blog.aditto.info would not point to aditto.wordpress.com. I tried my luck by changing all kinds of settings for 3 days but it just wont work.
Here is the catch: Any A, CNAME, MX, etc. records for a domain name (aditto.info in this case) must be made in the settings of the name server assigned to it. If you have purchased the domain from vendor1 and hosted your website on vendor1, then your name servers would be ns1.vendor1.com as written above. However, if you have hosted with host1 and changed your name servers to ns1.host1.com, then the A, CNAME, MX settings must be changed in the settings control panel of HOST1 and not VENDOR1.
So I logged in to byethost control panel and added those CNAME entries for ns1.byet.org.
The important thing to note here is that any change in DNS entries takes considerable time (0 – 72 hours) for propagating throughout the world wide web. So lets say you make changes about 5 times in 5 hours and wish to check the domain, what you might see after the 5th change, could well be the effect of the first change. This is exactly what happened with me and I could not stabilise on any one DNS setting. The best option is to Google and find out correct ways to do what you are doing. Better way is to let some experienced person change your DNS settings for the first time. An even better way, is to make a change, and check using some web tools if your change has propagated.
Here are a few tools:
1. World wide propagation tracker: This is a very cool web tool that lets you track your DNS entries at about 10-12 locations all over the earth.
2. DIG service to lookup DNS information: This is another cool lookup tool, using which you can query any DNS entry on any DNS server around the world.
However, whatever you do, always remember to note down and archive all your working DNS settings (NS/A/CNAME/MX/SOA/TXT/etc). You may never know what you fiddled and what your previous DNS settings were. Some web companies do archives DNS settings of domains but you need to pay a lot of money to extract the same.
I hope this makes some sense to people who have faced similar issues.