Sometimes hosting multiple domains with virtual host tag of web server creates problem with single ip. So it is safer to use virtual host by address instead of name. However, Apache web server does give the oppertunity to host multiple web sites on the same machine through virtual hosts in two ways
By name
By IP
For both the cases your name service has to run perfectly well. So first of all concentrate more on the name service, nslookup is the bets tool for checking it out. You can even run all your services like, Web, Name, Mail, FTP and blah blah on the same computer. But take utmost care to name service as this may create hazards in your network traffic. Use route command to see if all your networkable devices are connected to your computer properly.
If you are using "by name" option, then create a CNAME for your second site. This CNAME has to be defined in your zone files. You should use one ip address and have a name like yourserver.yourdomain.com
The CNAME will give another name to the same computer like mycomputer.yourdomain.com. So now the following two sites can be accessed at the same computer
http://yourserver.yourdomain.com
http://mycomputer.yourdomain.com
You can put two different document roots to the two sites and have logically two different sites hosted in the same computer at one ip. I am not sure if you can host a site of a different domain this way.
I am using Linux 6.2 and apache web server. I have hosted two different webs of totally two different domains. However, this hosting has been done by using "virtual hosting by ip". So I have used two ips for the same NIC of the same machine. Of course, I know this is not the right solution as the ips are going to exhaust soon and I have to host lot more. So "virtual hosting by name" could be the best solution.