Доброго времени суток, знатоки Apacha.
Столкнулся я с проблемой настройки виртуальных хостов в Апаче. После нескольких почти что бессонных ночей и N-разов переписывания конфига в голове все перемешалось. И ведь делаю как должно быть в теории, а на практике какой-то глюк выходит. Итак начнем по-порядку...
Задача: Разместить на одном ай-пи адресе два разных сайта, т.е. правильно настроить конфиг Апача.
Дано: Сервак под управлением FreeBSD 8.2 на нем установлен Apache 1.3.42 и все это находится в сети некоего учереждения. Также имееются два домена fksp.tup.km.ua и ksm.tup.km.ua, которые прописаны на одном из ДНС серверов учереждения отвечающих за поддержку доменной зоны tup.km.ua. За доменами закреплен реальный ай-пи адрес 212.111.198.42. Апач установленный на моем сервере крутится на статическом ай-пи адресе 172.50.11.220, который доступен только в сети учереждения. Одним словом оба ай-пи адреса завязаны между собой (доменные имена и ай-пи адреса реальные, кто хочет может зайти и убедиться в сути проблемы).
Суть проблемы: После настройки конфига апача и описания виртуальных хостов (каждому хосту был назначен свой DocumentRoot), при заходе на любой из адресов, а именно
http://fksp.tup.km.ua, http://ksm.tup.km.ua,
http://212.111.198.42, http://172.50.11.220 [если из локалки] отображается содержимое папки local вместо того чтобы открывать содержимое указаное в DocumentRoot каждого хоста.
Привожу основные параметры конфига моего Апача:
Цитата:
# ГЛОБАЛЬНЫЕ НАСТРОЙКИ
ServerRoot "/usr/local"
Listen 80
....
# КОНФИГУРАЦИЯ ГЛАВНОГО СЕРВЕРА
# Port 80 (опция закоментирована )
ServerName localhost
DocumentRoot "/data/webserver/www/local"
....
# ВИРТУАЛЬНЫЕ ХОСТЫ
NameVirtualHost *:80
# Опишем для начала виртуалхост по-умолчанию. Он будет использован, если какой-то умник
# пожелает обратиться к Вашему серверу по IP адресу или по имени которого несуществует.
<VirtualHost *:80>
ServerName localhost
</VirtualHost>
# Конфигурация сервера fksp.tup.km.ua
<VirtualHost *:80>
DocumentRoot /data/webserver/www/fksp/htdocs
ServerName fksp.tup.km.ua
ServerAdmin admin@tup.km.ua
CustomLog /data/webserver/www/fksp/log/access.log combined
ErrorLog /data/webserver/www/fksp/error/error.log
</VirtualHost>
# Конфигурация сервера ksm.tup.km.ua
<VirtualHost *:80>
DocumentRoot /data/webserver/www/ksm/htdocs
ServerName ksm.tup.km.ua
ServerAdmin admin@tup.km.ua
CustomLog /data/webserver/www/ksm/log/access.log combined
ErrorLog /data/webserver/www/ksm/error/error.log
</VirtualHost>
После такого описания при заходе на любой из указаных выше адресов отображается содержимое localhost
если убираю секцию
<VirtualHost *:80>
ServerName localhost
</VirtualHost>
тогда дефолтовым серваком становиться следующий хост, и по заходу на любой из адресов отображается уже содержимое указаное в DocumentRoot /data/webserver/www/fksp/htdocs хоста fksp.tup.km.ua и т.д..
Если из конфига вообще убрать описание вирт. хостов и менять в секции настроек главного сервера значение DocumentRoot на назначеные путя, все работает как надо.
Вообщем уже и незнаю что писать в секциях VirtualHost, пробовал многие комбинации описанные на этом форуме и на других и всеравно результат один все сайты показывают содержимое какого-то одного хоста, который в данный момент считается дефолтовым.
И ведь понимаю что запара где-то в мелочи, но увы не могу понять где именно. Может кто подскажет решение проблемы, ведь многие с этим сталкивались, буду очень благодарен.
ps. только не надо отсылать меня в поиск или читать Faq форума и апача, повторюсь я уже перечитал кучу различных форумов и тем, тут надо именно пальцем тыкнуть и сказать где я косячу.