Настройка общих поддоменов за 5 минут
За последнюю неделю мне уже несколько раз приходилось рассказывать, как настраивать общие поддомены (известные как wildcard subdomains) в Apache и BIND/MaraDNS, поэтому решил написать статью, к которой можно будет отсылать интересующихся
Общие поддомены используются в силу множества причин: создание многопользовательских инсталляций блогов/форумов, где каждый пользователь получает домен вида username.domain.tld (в качестве примера можно привести известный WordPress µ), использование одной CMS для управления всеми поддоменами и т.п.
Для серверов на базе Apache процесс настройки общих поддоменов проходит в два этапа.
- Создание wildcard-записи DNS
Первый шаг состоит в создании wildcard-записи DNS. Для разных DNS-серверов это будет осуществляться по-разному (в смысле, принцип один и тот же, различия лишь в синтаксисе конфигурационного файла). Рассмотрим на примере BIND (так как BIND работает и под Linux/UNIX, и под Windows).
Создание wildcard-записи очень просто: всё, что нужно — это добавить A-запись, связывающую имя вида *.domain.tld с IP-aдресом сервера.
Рассмотрим на примере одного development-сервера:
$TTL 86400 $ORIGIN internetnetworkmarketer.org.ua. @ 1D IN SOA ns1.internetnetworkmarketer.org.ua. sjinks.internetnetworkmarketer.org.ua. ( 2008030500 ; serial 24H ; refresh 15 ; retry 90w ; expire 15 ; minimum ) IN NS ns1 IN NS ns.secondary.net.ua. IN NS ns2.trifle.net. IN MX 10 @ IN A 195.10.218.132 IN TXT "v=spf1 a mx:internetnetworkmarketer.org.ua -all" IN SPF "v=spf1 a mx:internetnetworkmarketer.org.ua -all" ns1 IN A 195.10.218.132 www IN A 195.10.218.132
Мы видим, что домен
internetnetworkmarketer.org.ua
"живёт" по адресу 195.10.218.132; там же находятся два его поддомена —ns1.internetnetworkmarketer.org.ua
иwww.internetnetworkmarketer.org.ua
(техническиwww.somesite.tld
является поддоменомsomesite.tld
; в общем случаеwww.somesite.tld
иsomesite.tld
могут быть совершенно разными сайтами).На сайт был поставлен WordPress µ, вследствие чего нужно было создать общий поддомен — чтобы каждый пользователь получал блог вида
username.internetnetworkmarketer.org.ua
.Добавление общего поддомена сводится к добавлению A-записи в конец файла зоны:
*.internetnetworkmarketer.org.ua. IN A 195.10.218.132
После чего нужно было перезапустить <a href="http://blog.sjinks.org.ua/tag/bind/" class="st_tag internal_tag" rel="tag nofollow" tit