22.10. Многодоменный хостинг в Apache

Проблема
Один сервер Apache должен обслуживать несколько доменов с общим IP-адре сом. Вы уже зарегистрировали все доменные имена, и для каждого домена на строена информация DNS.
Решение
Воспользуйтесь директивой Apache VirtuaLHost, обеспечивающей поддержку вирту альных хостов. Следующий файл httpd.conf настроен на обслуживание двух доменов:
NameVirtualHost *:80
<VirtualHost *.80>
ServerName www.tuxcomputing.com
ServerAlias tuxcomputing.com *.tuxcomputing.com
DocumentRoot /var/www/tuxcomputing
ServerAdmi n admi n@tuxcomputi ng.com
</VirtualHost>
<VirtualHost *.80>
ServerName www.bratgrr1.com
ServerAlias bratgrrl.com *.bratgrrl.com
DocumentRoot /var/www/bratgrrl
ServerAdmin adminPbratgrrl.com
</VirtualHost>
Для каждого домена создается отдельный корневой каталог, в котором хра нятся файлы сайта. Это позволит вам легко создавать субдомены (скажем, webmail.
bratgrrl.com и wacko.games.tuxcomputing.com). Однако не стоит надеяться, что
все заработает само собой — для всех доменов и субдоменов придется создать за писи DNS типа А.
ПРИМЕЧАНИЕ
После того как вы начнете использовать виртуальные хосты, для каждого домена необходимо
создать директиву VirtualHost. Директивы VirtualHost замещают глобальные директивы из httpd.conf.
В них могут использоваться почти все директивы httpd.conf, что позволяет настроить каждый
виртуальный хост так, как вы сочтете нужным.
Комментарий
Определение виртуальных хостов является самым простым механизмом обслу живания нескольких доменов одним сервером Apache. Настройка записей А для
большого количества субдоменов может быть делом утомительным, и все же это
лучше, чем использовать доменные групповые обозначения (wildcards), при ко торых на ваши серверы будет поступать весь трафик, включающий доменное имя.
Например:
randomstuff.bratgrrl .com
real 1 у.wei rd.randomstuff.bratgrrl.com
Спамеры злоупотребляют доменными групповыми обозначениями, так что
будьте осторожны и настраивайте в записях DNS только точные доменные имена.
В директивах VirtualHost доменные групповые обозначения приемлемы, потому
что трафик будет поступать только по именам, явно определенным в DNS.
См. также
http://localhost/manual/vhosts/name-based.html.