In my ever-lengthening quest of getting my personal web site redone in Django and up, I have signed up for managed DNS through Tummy.com Sunday night (and had it ready when I woke up on Monday). The people at Tummy were nice enough to explain the whole DNS setup to me since I didn't think I needed a DNS setup if I pointed my DNS entry for my registered domain.
But of course I was wrong. =) The way I finally resolved it in my head was looking at all the dots in an address. Take ``www.drbrett.ca.`` (notice the trailing dot; that is an absolute web address since without it the web browser actually guesses you wanted that last dot). You have the root DNS servers for the Net that get queried for the IP to the 'ca' domain servers. The 'ca' domain servers are then asked for the name server for 'drbrett'. That name server then specifies where 'www' (or no subdomain) is located. I thought this last name lookup was not needed if I didn't plan on having subdomains, but I was wrong.
The next step in all of this is to get lighttpd (which is apparently called "lighty") up and going. I figured I would skip Apache since all I need is two redirects based on subdomains, a rewrite or two based on subdomain, and a way to have those rewritten domains to hit a Django FastCGI server, maybe a single CGI or something for some version control system, and serving of static files (including a special XHTML page for hitting drbrett.ca directly). In other words there is nothing there that is Apache-specific, so I am going to be kooky and not use Apache. =)