Apache:在本地计算机上设置虚拟服务器,以便局域网中的其他计算机进行访问

Apache:在本地计算机上设置虚拟服务器,以便局域网中的其他计算机进行访问

我在 XP 上运行 Apache 2.2。我想设置 Apache,以便拥有不同的测试站点(每个站点监听不同的端口),以供我内部(家庭网络)上的其他计算机访问。

我已设法设置不同的虚拟主机(全部使用端口 80),然后我使用主机文件提供服务器名称,例如:

127.0.0.1 本地主机 127.0.0.1 test.php.localhost 127.0.0.1 phpmyadmin.localhost

ETC

这在我的本地机器上运行良好,因为我可以访问http://phpmyadmin.localhost/(例如,在我的本地机器上。但是,当我转到另一台机器时,我无法输入http://phpmyadmin.localhost/我只能打字http://[服务器.ip.地址]在这种情况下,它会给我我的 httpd.conf 文件中列出的第一个网站。

我有两个(可能相关的)问题

  1. 我需要做什么才能访问http://phpmyadmin.localhost/从局域网中的另一台机器(这仅仅是修改每台机器上的主机文件的情况,还是更复杂?)
  2. 如何从我的网络中的一台机器访问特定网站(在我的本地服务器上),而不是自动分配到 httpd.conf 中列出的第一个网站?

答案1

我需要做什么才能http://phpmyadmin.localhost/从局域网中的另一台机器进行访问(这是否只是在每台机器上修改主机文件的情况,还是更复杂?)

本地主机在每台计算机的 hosts 文件中都有自己的条目 - 它指向特殊的环回 IP 地址127.0.0.1,或本地计算机。当127.0.0.1浏览器发出任何请求时,任何给定的计算机都会在本地(自身)查找,并且由于您已将所有主机条目指向,因此127.0.0.1您无法将此配置复制到其他计算机上,您必须使用主机的面向公众的 IP。

您应该在本地网络上托管 DNS 记录,或者更简单地更改每个客户端计算机的 hosts 文件C:\WINDOWS\system32\drivers\etc\hosts

192.168.1.72    phpmyadmin phpmyadmin.mymachine testing.somemachine

这将使所有请求http://phpmyadmin/直接指向 IP 地址192.168.1.72

如何从我的网络中的一台机器访问特定网站(在我的本地服务器上),而不是自动分配到 httpd.conf 中列出的第一个网站?

确保你已经配置了主机文件 - 如果你正在使用基于名称的虚拟主机您需要使用相关的服务器名称(即上面的 phpmyadmin)访问服务器,以便服务器可以在 vhost 配置中搜索该服务器/别名并加载适当的数据。

相关内容