В статье описывается простой вариант размещения на одном внешнем IP-адресе нескольких сайтов.

Более новая и полная версия статьи находится здесь.

Итак переходим к редактированию httpd.conf.

# Включаем использование основанных на именах виртуальных хостов на 80-ом порту
NameVirtualHost *:80
 
# ВАЖНО: Первая запись VirtualHost забирает на себя все запросы не подошедшие под
# ServerName или ServerAlias в  следующих записях, те является дефолтным сервером
# для группы.
 
# В первой записи совсем не обязательно задавать какие-либо параметры, они будут
# равносильны общим параметрам всего севера
<VirtualHost *:80>
    ServerAdmin admin@domain.com
    DocumentRoot /var/www/html
    ServerName Default
</VirtualHost>
 
# Описание для сайта site-one.ru
<VirtualHost *:80>
   ServerAdmin admin@site-one.ru
   DocumentRoot /sites/site-one.ru/htdocs
# Основное имя сайта
   ServerName site-one.ru
# Дополнительный список имен по которым можно будет обращаться к сайту
   ServerAlias site-td.ru
# Куда писать логи относящиеся к site-one.ru
   ErrorLog /sites/site-one.ru/logs/error_log
   CustomLog /sites/site-one.ru/logs/access_log common
</VirtualHost>
 
# Описание для сайта site-two.ru
<VirtualHost *:80>
    ServerAdmin admin@site-two.ru
    DocumentRoot /sites/site-two.ru/htdocs
    ServerName site-two.ru
    ErrorLog /sites/site-two.ru/logs/error_log
    CustomLog /sites/site-two.ru/logs/access_log common
</VirtualHost>

Итого у нас получились два сайта на одном сервере с одним внешним IP-адресом. При обращении по ссылкам http://site-one.ru и http://site-td.ru мы открываем сайт находящийся в директории /sites/site-one.ru/htdocs, при обращении по ссылке http://site-two.ru мы открываем сайт находящийся в директории /sites/site-two.ru/htdocs, при обращении к сайтам по любом другому имени или по IP-адресу мы переходим на дефолтный сайт в /var/www/html, в принципе его можно сделать пустым.

Также есть очень полезная функция Redirect, если при обращении по адресу http://site-three.ru нужно  переадресовать человека на сайт http://site-one.ru

# Переадресация с site-three.ru на site-one.ru
<VirtualHost *:80>
# Указываем директорию сайта на который будем переадресовывать
    DocumentRoot /sites/site-one.ru/htdocs
# Имя сайта с которого переадресовываем
    ServerName site-three.ru
# Куда переадресовывать
    Redirect / http://site-one.ru
</VirtualHost>

Комментарии закрыты.