配置对 XAMPP 的外部访问
Posted
技术标签:
【中文标题】配置对 XAMPP 的外部访问【英文标题】:Configuring external access to XAMPP 【发布时间】:2012-06-09 18:26:28 【问题描述】:我使用 XAMPP 开发 wordpress 主题,我想使用 ManageWP 来管理/克隆网站到生产服务器。我已经按照我能找到的关于此事的所有教程进行操作,但无法设法从外部访问我的本地主机!
This related SE answer 看起来很简单!
-
将 Web 服务器配置为侦听您的外部网络接口(Apache 通常配置为默认仅侦听 localhost)。
在您计算机的防火墙中为入站连接打开端口 80。
如果您希望局域网外的人访问您的服务器,请在您的路由器/网关中启用端口转发,以便将端口 80 转发到您的计算机。
如果您在网络中使用 DHCP,请将 DHCP 服务器配置为每次都为您的计算机提供相同的地址(例如,通过 MAC 地址)。
我很确定最后三个步骤正确,(没有防火墙,端口 80 TCP&UDP > 80,由 MAC 地址分配的服务器 IP)但我不知道如何做第一个(我已经尝试通过将 ServerName 设置为我的外部 IP 地址来在 httpd.conf 中玩耍,但这只是一个疯狂的随机失败:)
虽然端口转发处于活动状态,但当我在本地网络上时,我可以在以下位置看到网站:##.###.64.188/mysite.dev(我的外部 IP),但如果我通过我的 3g 移动连接进行连接我明白了:
Not Found
The requested URL http://<snip> was not found on this server
Apache Server at ##.###.64.188 Port 3128
这似乎表明我就在附近的某个地方!但不知道从这里去哪里......
有什么建议吗? TIA,蒂姆
跑步:
XAMPP v1.7.3 Mac OSX 10.7.4【问题讨论】:
检查您的服务器的访问日志以查看该 404 错误是来自您的服务器还是来自其他地方。您的 3g 链接可能会转到完全不同的地方。 感谢@MarcB - 谁知道我在打什么!我从本地网络访问##.###.64.188/mysite.dev时发现正常访问记录,但是从我的3g链接没有访问记录...回到绘图板.. 【参考方案1】:这里的简单答案:我的 ISP Optus 阻止了端口 80 上的传入连接。所以,我添加了:
listen 8080
到httpd.conf并相应调整我的端口转发,现在我可以正常连接了!
对于后面的人,我还在我的 ~/Sites 和 httpd.conf 中的 /phpmyadmin 条目中设置了 http auth 指令,以提高安全性。
为了让 WP 网站和链接正常工作,我正在动态设置 WP_SITEURL:
// wp-config.php
$host = $_SERVER['SERVER_NAME'];
if($host == 'subdomain.mysite.com')
$url = 'http://subdomain.mysite.com:8080';
else
$url = 'http://mysite.dev';
define('WP_HOME', $url);
define('WP_SITEURL', $url);
然后,在我正在配置的站点的虚拟主机中,我设置了<VirtualHost *:8080>
.. 工作得很好!任务完成。
(编辑:我不再安装 XAMPP,并且忘记了它的目录结构,但是虚拟主机的定义类似于 apache2 默认值:extra/httpd-vhosts.conf,它包含在 httpd.conf 的末尾)
PS manageWP 需要被列入白名单以允许通过 http 基本身份验证的连接。
非常感谢 Garth 和 River 在 FB 上接听了我的电话...
【讨论】:
这里完全相同的问题并更改为 :8080 修复了它。感谢您发布您的解决方案。 你能解释一下把 VirtualHost *:8080 部分放在哪里吗?以上是关于配置对 XAMPP 的外部访问的主要内容,如果未能解决你的问题,请参考以下文章