Quote:
And if I don't add them via Virtualmin to get their own site, it just loads whatever site I first created.
To me that sounds like normal behavior, except one thing I'll mention shortly.
The Linode DNS Manager does not configure your virtual hosts for you; all it does is tell the world that anybody interested in yourdomain.com should look for it in your server. Now if anyone actually wants to connect to yourdomain.com, it's your server's job to decide which files to send to which visitor. Virtualmin helps you configure your server in the right way. You tell Virtualmin which domains/subdomains should be served from which directory. Virtualmin translates your directives to a format which the Apache web server understands. Apache then sends files from the right directory to the right visitor.
Which means that you must configure all of your domains/subdomains in
both the DNS Manager
and in Virtualmin. This is a big difference between shared hosting solutions such as cPanel and a VPS. cPanel sets up everything automatically so you only need to set up your domains/subdomains once. Here you must set them up at least in two different locations.
The important thing to remember is that subdomains don't automatically point to the main domain (or its subdirectory) like they do in cPanel. You must go to
Services - Configure Websites - Networking and Addresses, and list all your subdomains under "Alternative virtual server names". You even have to list yourdomain.com and
www.yourdomain.com separately. Otherwise they're treated as completely different domains.
Note: You might be able to setup wildcard subdomains (*.yourdomain.com) to catch all your nonexistent subdomains, but I've never used that option so I'm not sure if it'll work.
So it is only to be expected that, if you don't add a site to Virtualmin, it won't be served properly. Your server simply doesn't know which files to serve! So depending on how other things are configured, either the default page, or an error message, or some other site will be served. It seems that you've got the last of these three cases.
Now, here's the one problem I said I would mention. You've got the third of the three scenarios I just talked about, and this is not normal. Usually, when Apache can't decide where to serve a domain/subdomain, it'll serve a file from the default directory, not from a directory that belongs to another site. So you should check if the default directory is configured properly. Go to Webmin - Apache server, and look for a server named default in the "Virtual hosts" page. Note the "document root" directory associated with the default server. Is it the same as the document root of your first site? Or is the first site actually the default?
Quote:
do I need to run BIND9 on my server as well?
In my opinion you should avoid running your own DNS server unless you absolutely have to. First of all, Linode DNS Manager does the job very well. Second, you'll have to register 2 of your own nameservers with your domain registrar, and many of them will refuse to accept that unless you have 2 different IP addresses. Most importantly, it's just too much hassle to run your own DNS server (one more service to look after = one more headache), and something is probably going to go wrong especially since you're new to the VPS scene.
Hope this helps,
[/quote]