如何在没有互联网连接的局域网中访问运行Apache服务器的站点

39

我在一台安装EasyPhp的Windows XP SP2计算机上运行服务器,我们称其为computer_1。计算机的IP地址是192.168.1.2。

现在我有另一台位于本地局域网中的计算机(computer_2),它的IP地址是192.168.1.3。

我想从computer_2访问computer_1上的网站。

computer_2可以ping通computer_1(ping 192.168.1.2正常工作)。

但是当我在computer_2的浏览器中输入http://192.168.1.2时,什么也没有发生。

我想从computer_2访问computer_1上的网站。


EasyPHP 运行在哪个端口?服务器上有防火墙吗? - Leonard Ehrenfried
4
由于您评论说下面的帖子已经解决了问题,请将那个答案标记为被采纳的答案。 - Troy Alford
11个回答

56

请确保在您的httpd.conf文件中:

Listen *:80

如果你正在使用VirtualHosts,那么将它们设置如下:

NameVirtualHost *
<VirtualHost *>
   ...
</VirtualHost>

@duckyflip.. 我的配置中没有找到 httpd.conf 文件。你能告诉我在哪里可以找到这个文件吗?我遇到了同样的问题。 - s_k_t
@s_k_t 注意新版Apache 2.4中的ports.conf文件。 - Marcel Böttcher
请问安装后在哪里找到虚拟主机?我已经检查了EasyPHP文件夹,但是没有找到。 - John Max
@s_k_t - 试着找apache2.conf文件。 - Andy Weinstein

32

打开Apache服务器的httpd.conf文件(首先备份) 查找以下内容:Listen

将该行更改为

Listen *:80

仍然在httpd.conf文件中,查找以下内容(或类似内容):

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    Deny from all
</Directory>

将此代码块更改为:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    #Deny from all
</Directory>

保存httpd.conf文件并重启apache。

打开服务器的80端口,以便所有人都可以访问您的服务器。

打开控制面板 >> 系统和安全 >> Windows防火墙,然后单击“高级设置”,然后从左侧面板中选择“入站规则”,然后单击“添加规则...”。从列表中选择“PORT”选项,然后在下一个屏幕中选择“TCP”协议,并在“特定本地端口”下输入端口号“80”,然后单击“下一步”按钮,选择“允许连接”,然后为此端口提供通用名称和描述,最后单击完成。

重新启动WAMP并访问您的局域网或广域网内的机器。


11

* 不要改变任何东西来聆听:保持原样。

1)打开 Apache 服务器的 httpd.conf 文件(先备份)。查找以下内容:

<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Allow from all
    #Deny from all
</Directory>

还有这个

<Directory "cgi-bin">
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

2)现在从任务栏开始:

点击wamp图标 > Apache > Apache模块 > apache_rewrite(启用此模块)

同时还要在同一任务栏图标中激活“上线”。

您需要允许来自Windows防火墙设置的端口请求。

(Windows 7)

进入控制面板 > Windows防火墙 > 高级设置(位于左侧边栏)

然后

右键单击入站规则-> 添加新规则-> 端口-> TCP(特定端口80-如果您的本地主机使用此端口)-> 允许连接-> 给出简档名称-> 确定

现在重新启动Apache服务器的所有服务,完成..


3
如果您更改了位于conf_files文件夹下的httpd.conf文件,请不要使用Windows记事本,您需要一个Unix文本编辑器,可以尝试使用TED pad。在对httpd.conf文件进行任何更改后,请保存它。 提示:如果您使用DOS / Windows编辑器,则最终会出现“Apache文件更改错误”的消息。所以请小心... Salam

2

要将WAMP站点运行到另一台计算机上,需要执行以下步骤:

  1. 首先关闭防火墙。
  2. 通过单击WAMP图标旁边的图标将其设置为联机状态。
  3. 最后在另一台计算机上运行浏览器,并键入http:\ IP地址或计算机名称,例如http:\ 192.168.1.100。

请注意,保留HTML标记。


建议改进,不要完全禁用防火墙,因为这是巨大的安全风险。 - Sandeep Gaadhe
@SandeepGaadhe 不一定是风险,例如可以有硬件防火墙保护整个网络。 - Sasino

1
您的防火墙不允许任何新连接在未经您同意的情况下共享信息。唯一需要做的就是向防火墙授予权限。
  1. 前往控制面板中的防火墙设置。

  2. 点击高级设置。

  3. 点击入站规则并添加新规则。

  4. 选择“规则类型”为端口。

  5. 允许所有程序使用此规则。

  6. 允许此规则适用于所有配置文件,即域、私有和公共。

  7. 给此规则命名。

就这样了。现在,同一网络上连接的其他PC和移动设备都可以访问本地站点。开始开发吧。


0
  1. 导航到 C:\wamp\alias。
  2. 创建一个名为项目名称的文件,例如 phpmyadmin.conf。
  3. 添加以下部分并更改:

    Options Indexes FollowSymLinks MultiViews AllowOverride all Order Deny,Allow Allow from all

将目录更改为您的目录路径,例如 c:\wamp\www\projectfolder。

  1. 确保您在 httpd.conf 中为所有目录都进行了相同的设置,例如:

    Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all

第二个目录:

<Directory "c:/wamp/www/">

#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.0/mod/core.html#options
# for more information.
#
    Options Indexes FollowSymLinks

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
    AllowOverride all

#
# Controls who can get stuff from this server.
#

#   onlineoffline tag - don't remove
    Order Deny,Allow
    Allow from all

</Directory>

<Directory "icons">
    Options Indexes MultiViews
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

0

请重新表达您的问题。您的第一句话没有意义。

回答您的问题:

http://ip.of.server/ 原则上应该可以工作。但是,根据配置(虚拟主机),只有使用正确的主机名才能起作用。

无论如何,如果您有一个网络,您应该正确配置DNS,否则可能会出现各种问题(例如此类问题)。


0
你可能还需要检查一下服务器配置 - 有时候开发类型的服务器默认只接受来自本地主机的连接。

这取决于“监听”设置(见上文)。 监听 127.0.0.l:80 -> 仅限本地主机 监听 *:80 -> 所有网络接口 - sleske

0
  1. 在电脑2上打开“Internet协议属性”部分。
  2. 在“首选DNS服务器”文本框中输入电脑1的IP地址(192.168.1.2),然后单击确定并关闭对话框。

现在尝试在电脑2上再次打开网站。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接