[SOLVED] Apache name-based vhosts и DNS
Здравствуйте!
Возник следующий вопрос.
Вначале описание полигона:
Есть 2 виртуальные машины. На одной оффтопик, на другой - Gentoo.
На Gentoo крутится DNS (Bind) и DHCP, который оффтопику раздаёт адрес и адрес сервера имен.
Всё работает очень замечательно: оффтопик получает все адреса, успешно резолвит как внутренние имена, так и google.com, например.
Теперь задача:
Хочу попробовать настроить VirtualHosts на Apache.
НО! Когда читаю в инете всякие туториалы, примеры, и в т.ч. оффициальную инфу - всё понятно.
Но примеры основаны на том, что следует у пользователя и/или на сервере (куча примеров под оффторик!) в hosts-файл записать адреса виртуальных хостов, типа:
127.0.0.1 xyz.example.com 127.0.0.1 abc.example.com
и так далее.
Но логично предположить, что если в сети работает DNS-сервер - то лучше бы файлы hosts руками не трогать.
Так вот вопрос - правильно ли я понимаю суть?
1. Допустим, у меня Apache на хосте 192.168.1.1 держит два виртуальных хоста: example.com и example.net (это такое в одном примере прочитал).
Значит, мне следует для Bind-а сделать два файла зоны, и в каждый добавить что-то типа:
@ IN A 192.168.1.1 www IN CNAME @
Вообще, этот вопрос наиболее непонятен - можно ли, и православно ли хостить на 1 адресе два совершенно разных домена Как-то: example.com и example.net?
2. Допустим, Apache на хосте 192.168.1.1 держит виртуальные хосты в формате www.host1.example.net и www.host2.example.net.
Как мне следует поступить в этом случае? Что нужно добавить в файл зоны?
@ IN A 192.168.1.1 host1 IN CNAME @ host2 IN CNAME @
Правильно? Оффтопик тогда имена типа host1.example.net резолвит успешно, но как быть с www.host1.example.net?
Доки по апачу какбе намекают: "Name-based virtual hosting is usually simpler, since you need only configure your DNS server to map each hostname to the correct IP address and then configure the Apache HTTP Server to recognize the different hostnames".
Тогда да, вопрос, как оффтопик будет резолвить имена www.host1.example.net, если в dns-зонах есть только описание "host1 IN CNAME @" ? Нужно добавить "www.host1 IN CNAME @"?
Простите меня великодушно, причина бытовая: спрашиваю так, потому что сейчас не имею возможность проверить самому, а хотелось бы вечером в универе быстро сдать, или быстро решить проблему и сдать задачу.
Поэтому, если кому не трудно - просветите минимально, пожалуйста.
- Для комментирования войдите или зарегистрируйтесь
Для виртуальных хостов apache
До виртуальных хостов apache можно достучаться только через доменное имя, соответственно это имя должно быть где-то записано, и на машине с которой производится доступ (как и машины с самим апачем) должен резолвится. Как это будет сделано, дело десятое.
Решил :) Таким вот
Решил :) Таким вот образом:
Мой домен называется 'universe'. В апаче добавил виртуальный хост с
А в файл зоны Bind-а записал:
Ну, и всё поднялось, заморгало и заработало.
Но все же последняя запись в зоне режет глаза - так православно писать? имею ввиду
www.host1 IN CNAME @
?Т.е., запись
host1 IN CNAME @
означает, что имя host1.universe является псевдонимом для universe. Другими словами, хост host1 относится кдоменузоне universe. А записьwww.host1 IN CNAME @
означает, что www.host1.universe является псевдонимом для universe. Но, по смыслу? - www является хостом в зоне host1, которая в зоне universe? Или в данном случае управление зоной host1 не делегируется, и поэтому такое объявление вполне православно? Вот что хочу узнать.А так, кроме п.1 основного поста, вопрос решен)