Не могли бы вы объяснить мне, как я буду это делать, начиная с установки Apache?
Есть несколько способов сделать это? Мне нужен домен (например, http://intranet
) доступно при подключении к сети, без редактирования hosts
файл на каждом компьютере. Это возможно?
Я также хотел бы создать поддомены для своих локальных URL-адресов (например, http://site.intranet
); подскажите, как это сделать в Apache и как это настроить?
Придется ли мне переименовать свой компьютер в intranet
, или есть другой способ сопоставить домен без редактирования конфигурации каждого компьютера или рабочей группы (возможно, через настройки моего маршрутизатора)?
Я был бы очень признателен, если бы вы помогли мне лучше разобраться в моих возможностях и подскажете, как настроить сервер; Спасибо!
Технология, которая вам нужна, виртуальный хостинг на основе имени. Обычно вы настраиваете свой DNS-сервер с А или CNAME запишите это для каждого домена / поддомена, который вы хотите обслуживать, который указывает на адрес вашего сервера apache.
Затем вы используете виртуальный хостинг на основе имен для настройки виртуального хоста для каждого домена / поддомена.
Все зависит от DNS. Вы должны убедиться, что DNS-имя intranet
разрешается в IP-адрес. Я знаю, как это сделать, только одним способом: установить собственные службы DHCP и DNS для инфраструктуры. Bonjour-style тоже должен работать, но у меня нет опыта в этом.
Известные мне операционные системы поддерживают DNS-суффиксы, например .local
или example.corp
. Вы будете управлять DHCP-сервером в своей сети, верно? Предположим, он выдаст адреса вроде 192.168.13.128
, с 255.255.255.0
маску сети и, самое главное, он выдаст адрес DNS-сервера, который знает, как авторитетно отвечать через example.corp
зона, и он скажет клиентам DHCP, что их домен DNS example.corp
. Большинство операционных систем затем попытаются получить доступ http://intranet.example.corp
если вы напечатаете http://intranet
.
Вот как будут работать короткие имена. Вперед к виртуальному хостингу на основе имен, как сказал @Iain. Предположим, конфигурация вашего Apache говорит:
Listen *:80
NameVirtualHost *:80
Я предполагаю, что сервер Apache имеет 192.168.13.1/24
Айпи адрес. Я бы поставил A
записывать как s01.srv.example.corp.
указывая на 192.168.13.1
и CNAME
лайк intranet.example.corp.
указывая на s01.srv.example.corp.
и если вам нужны подсайты, я бы добавил site.intranet.example.corp.
а также, указывая на полную s01.srv
DNS-имя.
Вернемся к конфигурации Apache: вам нужно добавить такие виртуальные хосты:
# this matches the NameVirtualHost directive and
# loosely matches the Listen directive; it could also be:
# NameVirtualHost 192.168.13.1:80 and you'd change this below as well
<VirtualHost *:80>
# notice you'll need both of these;
# they must match what's in the browser Location bar
ServerName intranet.example.corp
ServerAlias intranet
# sorry for the Unix-style paths, I avoid Windows a bit
DocumentRoot /var/www/intranet.example.corp
</VirtualHost>
Я не против более подробно остановиться на этом, если вам понадобится помощь. Пожалуйста, не стесняйтесь спрашивать!
Взгляни на http://www.opennicproject.org они специализируются на настраиваемых TLD. У них есть много информации о настройке, и все их домены бесплатны. Мой любимый - .geek lol, затем .pirate: P
Вы также можете подать заявку на получение TLD прямо сейчас, если вы миллионер. Поскольку я не являюсь открытым для меня.