Настройка хостов в Linux под мультисатинг

Главные вкладки

Аватар пользователя WiseMan WiseMan 15 июля 2009 в 16:18

Коллеги, подскажите, как реализовать настройку хостов в Ubuntu для поддержки Wildcard, т.е. чтобы хост, например, mydrupal.ru откликался на все его как существующие так и "не существующие" поддомены.

В конфиге apache мне понятно как сделать, через *.mydrupal.ru

На боевых хостингах это реализовано как правило в виде подключаемой опции.

А вот как реализовать это у себя в локальной системе никак не догоню.

Как добавить такой "мультихост"?

Добавляю хосты и управляю сервером через Webmin.

Может какие настройки в системе не сделаны под работу как сервер?

Комментарии

Аватар пользователя botan botan 15 июля 2009 в 17:05

Это довольно интересный вопрос Smile Для этого нужно что бы в DNS было написано что-то типа xxx.mydrupal.ru есть IP xxx.xxx.xxx.xxx и уж когда будет запрос на этот IP, то веб сервер на этом IP посмотрит что у него написано *.mydrupal.ru и выдаст то, что вы хотите.

Теперь вопрос в другом .. вы mydrupal.ru прописали у себя в "/etc/hosts"? или каким образом у вас по этому домену открывается ваш локальный сервер? Если в хостс, то пишите руками все поддомены .. но есть другой вариант, поднимаете на своем сервере DNS сервер, и прописываете у себя в eth его как дополнительный DNS сервер .. а на DNS сервере прописываете все поддомены алисом к основной записи.

Аватар пользователя WiseMan WiseMan 15 июля 2009 в 20:33

"botan" wrote:
Теперь вопрос в другом .. вы mydrupal.ru прописали у себя в "/etc/hosts"?

Ага, именно так. У меня там несколько доменов направленных на один локальный ip-адрес. Вот я и подумал - может можно также все поддомены направить чтобы не указывать вручную каждый.

"Ilya1st" wrote:
как вариант - свой BIND поднять и зону с wildcard

Вот именно с BIND так не хочется завязываться. Я совсем не смыслю в его настройке и работе, тем более что мне нужно чисто для целей разработки на локальном уровне.

"Ilya1st" wrote:
есть совсем ленивый вариант. на одном из своих доменов сделать *.petya.firma.com и на 127.0.0.1

Smile прикольно, и все же хочется на локальном уровне решить вопрос. Так-то я могу и на одном из своих сайтов сделать, прямо на боевом сервере.

Аватар пользователя WiseMan WiseMan 17 июля 2009 в 16:01

Может таки найдется решение. Помогите, пжта.

Пусть даже это будет ссылка на руководство на английском. Очень надо.

Аватар пользователя axel axel 17 июля 2009 в 22:16

Я для таких целей на десктопах и на домашнем роутере использую софтину dnsmasq - она есть во многих дистрибутивах линукса. Это такой прокси для DNS - кеширует запросы к сторонним серверам и часть из них может подменять (он ещё и как DHCP-сервер умеет работать, но это к вопросу не относится).

В конфиге у него можно прописывать такие штуки:

address=/.example.com/127.0.0.1

- подразумевает все поддомены.

Конфиг у него несложный, особенно если не трогать всё лишнее закомментаренное, только указать нужно DNS-сервера провайдера, а в /etc/resolv.conf сослаться на nameserver 127.0.0.1, чтобы все запросы шли через dnsmasq.

Аватар пользователя WiseMan WiseMan 18 июля 2009 в 0:42

Сам dnsmasq у меня в ubuntu оказался установлен, в виде dnsmasq-base

"axel" wrote:
только указать нужно DNS-сервера провайдера, а в /etc/resolv.conf сослаться на nameserver 127.0.0.1, чтобы все запросы шли через dnsmasq.

Конфиг файл я для него создал, как написано в доках.
Адрес под хост прописал address=/.multi-site.dev/127.0.0.1 , но вот как прописать dns провайдера не понял. Так же как не понял как быть с /etc/resolv.conf , ведь он генерируется автоматически при подключении к инету. Подключаюсь через VPN.

У меня в /etc/resolv.conf сразу два ip прописано. Собственно буду пробовать, вот только разобраться бы с тем как прописать dns провайдера в конфиге dnsmasq

Кой что нашел по теме dnsmasq как лучшая замена BIND (на русском)

Понял что в моем случае, когда /etc/resolv.conf генерируется системой при подключении к инету, придется решать вопрос через написание bash-скрипта запуска dnsmasq

Или я что-то не понимаю Sad

Кто-нить подскажет?