Источники:
http://httpd.apache.org/docs/2.0/ru/vhosts/name-based.html
http://httpd.apache.org/docs/2.0/ru/vhosts/examples.html
Обычно для создания виртуальных хостов используеться конфигурационный файл /etc/apache2/httpd.conf. В нем создаеться конфиг в соответсвии с инструкциями с оф-сайта(см.выше)
В Дебиане же несколько другая ситуация, пака для конфигурации виртуальных хостов /etc/apache2/sites-available/
root@fox:/home/vitaliy# ls -l /etc/apache2/sites-available/
итого 16
-rw-r--r-- 1 root root 972 Ноя 29 01:14 default
-rw-r--r-- 1 root root 7469 Окт 9 22:02 default-ssl
-rw-r--r-- 1 root root 407 Ноя 29 00:58 vito
Влючаются же сайты при помощи символических ссылок в паке /etc/apache2/sites-enabled/ которые ссылаються на файлы в /etc/apache2/sites-available/
root@fox:/home/vitaliy# ls -l /etc/apache2/sites-enabled/
итого 0
lrwxrwxrwx 1 root root 26 Ноя 14 23:54 000-default -> ../sites-available/default
lrwxrwxrwx 1 root root 33 Ноя 29 00:48 vito -> /etc/apache2/sites-available/vito
В дебиане по умолчанию уже создан дефолтный виртуальный хост default. В случае когда клиент делает запрос и в поле хост указан хост которого нет на сервере то он будет перекинут на дефаулт виртуал хост.
root@fox:/home/vitaliy# less /etc/apache2/sites-available/default
#NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/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
</Directory>
</VirtualHost>
Если вы хотите добавить несколько виртуальных хостов создайте файлы к примеру vhost, vhost2, vhostn в папке /etc/apache2/sites-available/
root@fox:/home/vitaliy# nano /etc/apache2/sites-available/vhost1
<VirtualHost *:80>
DocumentRoot /home/vitaliy/workspace4
ServerName vhost1
ServerAlias vhost1 vhost1.mysite.net
<Directory /home/vitaliy/workspace4/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
# Other directives here
</VirtualHost>
Строки "Listen 80" и "NameVirtualHost *:80" необходимые для настроки виртуалных хостов в Дебиане находятся в /etc/apache2/ports.conf
root@fox:/home/vitaliy# less /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
ПРИМЕР:
# My Virtual Hosts Config File for Two Domains
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin webmaster@theos.in
DocumentRoot "/usr/local/docs/theos.in"
ServerName www.theos.in
ServerAlias theos.in
ErrorLog "/var/log/theos.in-error_log"
CustomLog "/var/log/theos.in-access_log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@nixcraft.com
DocumentRoot "/usr/local/docs/nixcraft.com"
ServerName www.nixcraft.com
ServerAlias nixcraft.com
ErrorLog "/var/log/nixcraft.com-error_log"
CustomLog "/var/log/nixcraft.com-access_log" common
</VirtualHost>