如何在我的本地网络上正确设置我的网络服务器?


2

我有一个内部网(在网络内)网站,但它有点痛苦。首先,这是一个家庭网络,如果这有助于任何人。我有一台运行带有PHP的Apache Web服务器的计算机,我想在本地网络上指向3个URL。我取得了一些成功,但并不总是可靠的。对于DNS和DHCP,我有一个Thompson Speedtouch ST546 v6 DSL路由器。

编辑:我需要它用于Intranet网站,而不仅仅是文件托管,因为我对CMS做了很多。


改写为清楚:我有三个子域的计算机局域网指向IP地址10.0.0.2上abp.bhc.comwiki.bhc.com以及server.bhc.com,伴随着Web服务器的个人DNS名称。我使用SpeedTouch作为DNS,并完全控制它。经过一小时后它通常会起作用。

我的问题是,每次我需要另一个域时,是否有一个比手动添加域更优雅的解决方案。但它通常似乎有用。

这是我目前的VH文件:

NameVirtualHost 10.0.0.2

<VirtualHost 10.0.0.2>
ServerName abp.bhc.com
DocumentRoot "htdocs/abp"
</VirtualHost>
<VirtualHost 10.0.0.2>
ServerName server.bhc.com
DocumentRoot "htdocs/server"
</VirtualHost>
<VirtualHost 10.0.0.2>
ServerName wiki.bhc.com
DocumentRoot "htdocs/wiki"
Alias /wiki htdocs/wiki/wbhc/index.php
</VirtualHost>

呃,我想出了我眼前的问题。IP地址设置错误,因为我最近有一个新的LAN适配器。我关于是否有更好的解决方案的问题仍然存在。


什么类型的网址 - 您可以在内部网络上使用的网址,还是适用于全世界的公共网址?
Linker3000 2011年

1
@ArlenBeiler:目前还不清楚你的尝试是什么,确切的问题是什么。你运行什么操作系统?
Tamara Wijsman

就在本地网络上。
Arlen Beiler

@ArlenBeiler:它仍然令人困惑。你重写当前的配置还是你想要的东西?您能举例说明IP地址,以澄清域(应该)指向的内容吗?
Tamara Wijsman

“我的本地网络上有一个指向IP地址10.0.0.2的三个子域的计算机”,该计算机(服务器?)如何指向IP地址?通过DNS服务器,Hosts文件还是VH文件?你的其他计算机不会看到你只配置那台计算机,因为它们被设置为请求路由器提供DNS信息,这可能会将请求转发给你的ISP DNS ...
Tamara Wijsman

Answers:


1

有两种方法:

  1. 设置您自己的DNS并进行配置。
  2. 在要访问该站点的每个文件系统上添加hosts文件。

我假设您无法更改路由器上的DNS设置,也不想设置和配置Bind。要在hosts文件中添加条目,请打开文件(Linux上的/ etc / hosts,在Windows上为c:\ windows \ system32 \ drivers \ etc \ hosts),并添加以下行:

192.168.0.1  abp.bhc.com
192.168.0.1  wiki.bhc.com
192.168.0.1  server.bhc.com

好吧,我可以更改路由器上的DNS设置,但我不确定是否设置了BIND。我会接受这个,因为选项#1是最有帮助的。
Arlen Beiler

1

如果您没有内部DNS服务器,您可以将服务器中的ip-adress放在所有客户端的hosts文件中,服务器就像shf301所说的那样。apache必须配置虚拟主机,如下所示:

NameVirtualHost *:80
<VirtualHost *:80>
   ServerAdmin webmaster@dummy-host2.example.com
   DocumentRoot c:/www/wiki
   ServerName wiki.bhc.com
</VirtualHost>

<VirtualHost *:80>
  ServerAdmin webmaster@dummy-host2.example.com
  DocumentRoot c:/www/server
  ServerName server.bhc.com
</VirtualHost>

文档:apache虚拟主机


0

一个简单的解决方案,如果只需要为少数计算机工作就是使用这些计算机上的hosts文件:http//en.wikipedia.org/wiki/Hosts_%28file%29 无需为DNS而烦恼(虽然你的服务器需要一个固定的IP)。


1
这工作正常(或者是,也许这就是问题!)。
Arlen Beiler

你需要为你想要设置的每个名字设置一个ip,除非你不介意使用80以外的其他端口。
查克

我正在使用虚拟服务器。
Arlen Beiler

哎呀,kasterma,我刚刚意识到你的意思。我想我可以,但我正在寻找更优雅的解决方案。
Arlen Beiler

0

不幸的是,因为您的IP可能是动态的,它每隔几天就会发生变化,因此指向它的任何域都将变为无效的。解决此问题的唯一方法是注册某种动态DNS系统,这是计算机上的一个小程序每次更改时都会告诉DNS服务器您的新IP,从而使它们保持同步。除此之外,您可以从您的ISP购买静态IP,但这将是非常昂贵的。:(


他不需要内联网(=本地网络)主机。
Tamara Wijsman

哦,你说得对。我很傻,我误解了他的问题。谢谢。:)
DataWizard 2011年

0

纯粹猜测,您的服务器具有动态IP,您可能需要考虑使用静态IP。

此外,如果您的服务器全天候运行,让其他计算机上网的唯一方法是设置其主机文件或将其DNS设置为您的计算机并自己托管DNS。


1
我正在使用静态IP。
Arlen Beiler

@ArlenBeiler:答案的第二部分?
Tamara Wijsman

DNS在SpeedTouch上设置,通常可以使用。
Arlen Beiler

@ArlenBeiler:如果你想让我们给你一个合适的答案,你必须提供更多的细节,DNS是一个过于宽泛的主题,只是说它已经设定。由于您的SpeedTouch不是DNS服务器而是DNS转发器,我猜您刚刚配置了SpeedTouch以将DNS请求转发到您的ISP DNS,但是一些路由器允许将特定请求转发到内部域但是不清楚您的路由器是否那是...
Tamara Wijsman

SpeedTouch有自己的DNS服务器,我有点配置。
Arlen Beiler

0

您可以在该计算机上运行许多域(网站)。而不是子域只使用文件夹。在htdocs中创建一个名为say 2011的文件夹。然后创建另一个名为blog的文件夹。在那里安装博客软件。然后在地址栏上输入192.168.0.1/2011/blog。它会工作正常。


0

在nix服务器上设置BIND ..并为nix服务器提供静态IP。

如果可以,请更改路由器中的DNS服务器。

第一个DNS条目应该是nix服务器的静态IP。第二个条目应该是您的ISP的第一个IP地址..

如果由于某种原因您无法在路由器中进行编辑,则只需在网卡上静态设置DNS即可。

这使您无需在计算机或需要查看Intranet站点的计算机上调整主机文件。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.