配置对XAMPP的外部访问

时间:2012-06-05 17:54:02

标签: apache xampp localhost

我使用XAMPP开发wordpress主题,我想使用ManageWP管理/克隆网站到生产服务器。我已经按照我可以找到的关于此事的每个教程,但无法设法获得对我本地主机的外部访问权!

This related SE answer似乎很简单!

  1. 将Web服务器配置为侦听外部网络接口(Apache通常配置为默认仅侦听localhost。)
  2. 在计算机的防火墙中为入站连接打开端口80。
  3. 如果您希望LAN外的人访问您的服务器,请在路由器/网关中启用端口转发,以便将端口80转发到您的计算机。
  4. 如果您在网络中使用DHCP,请将DHCP服务器配置为每次为您的计算机提供相同的地址(例如,通过MAC地址)。
  5. 我很确定我已经完成了最后三步,(没有防火墙,端口80 TCP& UDP> 80,服务器IP由MAC地址分配)但我不知道如何做第一步(我已经尝试通过将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

1 个答案:

答案 0 :(得分:5)

这里简单回答:我的ISP Optus阻止了端口80上的传入连接。所以,我添加了:

listen 8080

到httpd.conf并相应调整我的端口,现在我连接正常!

对于那些后来的人,我还在httpd.conf中的〜/ Sites和/ 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 basic auth。

的连接

非常感谢Garth和River在FB上接听我的电话......