Страница 1 из 1

Не могу создать динамические поддомены

Добавлено: 04 ноя 2015, 16:31
Matvik
На сайте тербуеться сделать простое перенаправление с адреса вида <name>.site.com (где <name> - любое допустимое название (берется из БД) на основной сайт. После этого уже в скрипте будет разбираться доменное имя.
В настройках алиасов прописал правило *.site.com => site.com.
Далее, в соответствии с руководством скопировал файл Apache-2.4_vhost.conf в папку с сайтом. Поправил в нем правило "ServerAlias" на *.site.com
Но, так ничего не работает, если набираю в браузере URL *.site.com (вместо звездочки любое слово), пишет, что страница не найдена. Хотя должно пернаправлять на сайт, не меняя URL. Что я не так делаю? Спасибо

Добавлено: 04 ноя 2015, 16:38
Максим
Matvik, уже 100 раз этот вопрос бы на форуме. Windows не поддерживает * в имени домена. Каждый поддомен нужно создать вручную, в вашем случае алиас. Алиасы можно вписывать самому, а не только выбирать из выпадающего списка.

Добавлено: 04 ноя 2015, 16:44
Matvik
Я понял, что нельзя просто алиасами в настройках OS этот вопрос решить. Но, насколько я понимаю, это как-то делаеться через настройки Апача. Или на Windows никак вообще невозможно решить данную проблему? Если б у меня было ограниченное количество поддоменов, вопрос так бы не стоял, но требуеться, чтоб на сайте у каждого юзера был свой поддомен, а список юзеров формируеться динамически, как Вы понимаете. Конечно, при разработке можно каждый раз добавлять конкретный поддомен в алиасы, но это очень неудобно. Кроме того, могут быть другие варианты использования поддоменов. МОжет есть возможность поставить на Windows другой DNS-сервер, в котором реализована такая возможность? Или все-таки как-то средствами Апача

Добавлено: 04 ноя 2015, 17:02
Максим
Matvik писал(а):Или на Windows никак вообще невозможно решить данную проблему?
Что не понятно в фразе Windows не поддерживает * в имени домена. По моему по русски написано. Это значит никак, вообще. Не поддерживает. Совсем. OFF.
Matvik писал(а):МОжет есть возможность поставить на Windows другой DNS-сервер
В Open Server есть модуль DNS сервера, вы можете его активировать и настроить Windows на его использование, тогда такие поддомены станут работать. Правда нужно будет в конфиг шаблона DNS домена добавить строку:
*         %ttl%  IN   A     %ip%

Добавлено: 04 ноя 2015, 17:11
Matvik
Я так понимаю, после активации Bind уже не будет работать автоопределение доменов OS? И я не могу найти руководство по его активации и настройке для Windows

Добавлено: 04 ноя 2015, 17:18
Максим
Matvik писал(а):Я так понимаю, после активации Bind уже не будет работать автоопределение доменов OS?
Ерунду какую-то выдумали. Автоопределение доменов и Bind никаким боком не имеют отношения друг к другу.
Matvik писал(а):И я не могу найти руководство по его активации и настройке для Windows
Вы не знаете как в Open Server активируются модули... Читали правила форума? Регистрация запрещена пока не изучите настройки и меню.

Добавлено: 04 ноя 2015, 18:01
Matvik
Да, извиняюсь - модуль активировал, в его конфиг после
ns1         %ttl%  IN   A     %ip%
вписал
* %ttl% IN A %ip%
, в алиасах прописал алиас со звездочкой, сервер перезпустил, и ничего не поменялось.
Кстати, в логах DNS зона cо звездочкой не отображается почему-то

Добавлено: 04 ноя 2015, 18:05
Максим
Matvik, и не должно было. Windows дед мороз за вас настраивать не будет. Вам нужно чтобы было хоть одно сетевое подключение и там в его свойствах прописать свой DNS 127.0.0.1 или другой (на который вы Open Server повесили) и второй например 8.8.8.8 от гугла.

Добавлено: 04 ноя 2015, 18:30
Matvik
Все, большое спасибо, заработало! Напишу руководство для таких же плавающих в админских делах, как я:

Для настройки динамических доменов Вам необходимо:
1) Прописать алиас вида *.site.local, где "site.local" - основной домен Вашего локального сайта, на который должны перенаправляться запросы из поддоменов.
2) Включить в модулях Open Server (там, где выбираються версии http-сервера, MySQL и т. д.) DNS-сервер Bind.
3) В файле конфигурации DNS-сервера (\userdata\config\Bind-9.10_zone.conf) добавить после строчки
ns1         %ttl%  IN   A     %ip%
строку
* %ttl% IN A %ip%
.
4) Перейти в настройки своего сетевого подключения, Свойства - IP версии 4 (TCP/IPv4) - Свойства, "Использовать следующие адреса DNS-серверов", основной - ваш локальный IP, на котором OS (в большинстве случаев 127.0.0.1), альтернативный - публичный DNS (например гугловский 8.8.8.8)

Можно добавить в руководство пользователя, не для всех это достаточно очевидно