如何在我的Wi-Finetworking上使用Windows计算机和Apache创build自定义TLD(针对Intranet)?

你可以请我解释一下如何做到这一点,从Apache的安装开始?

有多种方法可以做到这一点? 我想在连接到networking时可以使用域名(例如http://intranet ),而无需在每台计算机上编辑hosts文件。 那可能吗?

我也想为我的本地URL创build子域名(例如http://site.intranet ); 你能告诉我如何在Apache中做到这一点,以及如何configuration它?

我必须将我的计算机重命名为intranet ,还是有另一种方法来映射域,而无需编辑每台计算机的configuration或工作组(可能通过我的路由器的设置)?

如果能够帮助我更好地理解我的select,并且告诉我如何设置服务器,我将不胜感激。 谢谢!

这一切都取决于DNS。 您必须确保将DNS名称intranetparsing为IP地址。 我知道如何做到这一点:为基础设施安装我自己的DHCP和DNS服务。 Bonjour风格应该也可以,但是我没有这样的经验。

我知道的操作系统支持DNS后缀,如.localexample.corp 。 你将控制你的networking上的DHCP服务器,对吗? 让我们假设它会给出192.168.13.128这样的地址,带有一个255.255.255.0networking掩码,最重要的是,它会发出一个知道如何通过example.corp区域权威性地回答的DNS服务器的地址,它会对他们的DNS域是example.corp的DHCP客户端。 如果您键入http://intranet大多数操作系统将尝试访问http://intranet.example.corp

这就是短名称的工作原理。 起初,以名称为基础的虚拟主机,就像@伊恩说。 假设你的Apache的configuration是这样的:

 Listen *:80 NameVirtualHost *:80 

我假设Apache服务器有192.168.13.1/24 IP地址。 我会把一个像s01.srv.example.corp.一样Aloggings01.srv.example.corp. 指向192.168.13.1CNAMEintranet.example.corp. 指着s01.srv.example.corp. 如果你需要子网站,我会把site.intranet.example.corp. 指向完整的s01.srv DNS名称。

回到Apacheconfiguration:你需要添加这样的虚拟主机:

 # 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> 

如果你需要帮助,我不介意在这方面扩大。 请随时问!

您所使用的技术是基于名称的虚拟主机 。 您通常会为您的DNS服务器configuration一个A或CNAMElogging,对于您要提供的每个域/子域,指向您的apache服务器的地址。

然后使用基于名称的虚拟主机为每个域/子域configuration一个虚拟主机。

看看http://www.opennicproject.org他们专注于自定义顶级域名&#x3002; 他们有很多关于设置它们的信息,所有的域名都可以自由使用。 我最喜欢的是.geek lol then .pirate:P

如果您是百万富翁,您现在也可以申请顶级域名。 因为我不是对我开放的。