I am posting this in the hope that it will be helpful to other Linode users.
I began to subscribe to Linode in October using the Debian 3.1-stable distribution. I soon installed Apache 2.0 but didn't immediately put any content up. I registered two domain names with Godaddy, but the domains themselves didn't actually exist. Those names were simply "parked" on Godaddy's nameservers.
In December I had a multi-hour session with two of my Perl hacker buddies getting the web server running and getting DNS working. We created named virtual hosts corresponding to the two domain names registered with Godaddy. But we faced problems getting DNS to work for them. We found that we could not simply enter my linode domain name, nor could we enter the virtual hosts. And the Godaddy error messages were not particularly clear.
After blundering about for a while, my friend offered to list my domains on a DNS server that he was already operating. So we entered that server's name as the #1 nameserver in the list at Godaddy. But Godaddy requires at least 2 nameservers, so for the second server we listed another server that he had registered but which actually wasn't a functioning nameserver.
This "took", and for a month there was no problem. Then there came a day when he was moving his server from one physical location to another. The DNS server was off-line and, boom, my two domains could no longer be located on the Internet!
My friend had told me about the 'dig' utility for analyzing domain names and I used that to learn the names of the top-level nameservers overseeing the '.com' and '.net' domains. I hypothesized that if I entered one of those top-level servers as my #2 server at Godaddy, I would be covered.
That approach appeared to work for a week, but ultimately proved flawed. The #2 server wasn't really providing information about my two domains, and when the #1 server at my friend's house encountered problems, my two domains once again could no longer be located.
I began to look in threads in this forum and eventually decided to check out
http://www.everydns.net/. This has proved successful so far, so let me post the procedures:
1. Create a new account at everydns.net.
2. Go to your Godaddy account. Log in, select "Manage Domains," then select "Set Nameservers." Enter the 4 nameservers listed at everydns. You will be replacing the two Godaddy nameservers where your domain names are currently parked, then creating two additional nameservers. Save your results.
3. Return to everydns.net. Log in. Select "Add new domain (basic)" and follow the instructions. The new domain will appear in a list of your domains; click on it to edit. At this point you will see content like this (there may be some line-wrapping here):
Current Records:
Host Type Value MX TTL Delete
some.yourdomain.com A 64.158.219.4 3600 [delete]
www.some.yourdomain.com CNAME parked.everydns.net 3600 [delete]
4. What I did then -- which may not be the best or the only way to do this -- was to delete the entry for
www.some.yourdomain.com, then went to the "Add a record" frame immediately below and entered these (sample) values:
www.some.yourdomain.com
A
10.000.00.1
... and clicked on "Add Record". I then repeated the process for some.yourdomain.com.
5. I then held my breath for the next hour, waiting to see if the domain names would properly propagate. They did, so I repeated the process for my other registered domain names.
Of all the aspects of setting up a server I have faced since October, getting DNS to work was the most difficult. A lot of my confusion was due to the fact that I've been using the "Debian 3.1 Linux Bible" as my reference, and the type of DNS configuration described therein didn't actually match what happened when I downloaded the Debian package for BIND version 9. I'm not actually certain what, if anything, BIND on my server is actually doing. But at least my two domains are visible and are hosted on stable nameservers. everydns.net is shareware, and I'll definitely be making a contribution.
Jim Keenan