This is a short How-To about setting up multiple domain names, or sub-domains on Debian Squeeze using Apache 2.2
The following is the actual configurations of a working server with 2 subdomains on it.
It throws an error that does not stop it from working.
#=======snippet from apache2.conf
# Include generic snippets of statements
Include conf.d/
#=======Contents of conf.d directory=======================
wolf@SERVER-01:/etc/apache2/conf.d$ ls
charset localized-error-pages other-vhosts-access-log security virtual.conf
#=======Configuration of virtual.conf=======================
wolf@SERVER-01:/etc/apache2/conf.d$ cat virtual.conf
# running virtual hosts
#
NameVirtualHost *
#======Contents of the sites-available directory============
wolf@SERVER-01:/etc/apache2/sites-available$ ls
default default-ssl legacy
#======Configuration for dev.example.net====================
wolf@SERVER-01:/etc/apache2/sites-available$ cat default
ServerAdmin wolf.halton@ lyrasis.org
ServerName dev.example.net
ServerAlias www.dev.example.net
DocumentRoot /var/www/http/
Options FollowSymLinks
AllowOverride All
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
#========Configuration for legacy.example.net======================
wolf@SERVER-01:/etc/apache2/sites-available$ cat legacy
# This is the settings file for the legacy.example.net site
ServerAdmin wolf.halton@ lyrasis.org
ServerName www.legacy.example.net
ServerAlias legacy.example.net
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /var/www/legacy/htdocs/
# CGI Directory
ScriptAlias /cgi-bin/ /var/www/legacy/cgi-bin/
Options +ExecCGI
# Logfiles
ErrorLog /var/www/legacy/logs/error.log
CustomLog /var/www/legacy/logs/access.log combined