Darb,
Sorry I've been out on the road a couple of days.
You have to put a servername entry in the virtualserver section or it doesn't know what server
it is listening on. I have 3 virtual servers on one of my boxes and they go something like this:
<virtualhost *:80>
servername
www.mydomain.com
documentroot /var/www/html/mydomain
serveradmin
postmaster@mydomain.com
errorlog logs/mydomain_error_log
</virtualhost>
#
<virtualhost *:80>
servername mail.mydomain.com
documentroot /var/www/webmail
serveradmin
postmaster@mydomain.com
errorlog logs/mydomain_webmail_error_log
</virtualhost>
#
<virtualhost *:80>
servername
www.theotherdomain.com
documentroot /var/www/html/theotherdomain
serveradmin
postmaster@theotherdomain.com
errorlog logs/theotherdomain_error_log
</virtualhost>
You get the idea. This is a very simple setup that doesn't require screwing with any of the other settings in apache. You just add virtual hosts to your heart's content and put each domain's files in it's own directory. also makes it simple to back up - just copy the /var/www directory entirely. In order to have your pages hit properly you simply edit the NS records on each domain to hit the IP address of your server.
Now alias subdirectories are a little more complicated. You have to add a <directory> section inside the virtualhost for each subdirectory and give access options for each directory. What I've had problems with and have posted on another thread is getting user accounts set up so that a user can ftp their files to the server and the web page is viewable by the
www. It's not really that complicated but I'm just learning the process. But what I've explained here is very cut and dried and I've reproduced it without fail more than once.