WAMP作为许许多多前后端开发,本地调试的一种流行集成套件,初学者往往在配置过程中就会遇到许多问题,其中就有localhost能够访问,但外网无法访问的情况,这篇文章就针对这个问题的一种问题排查,做简要的陈述与讨论。
开始教程前,先来看一看本机的运行环境,如果按照流程走出现其他异常,优先排查环境问题
WAMP 32位版 3.0.6
WIN7 x86 企业版
其他VC运行库全部安装,NET装了3.5以及4.0,还有一些运行库这里省略。
——我是华丽的分割线—————————————————————————————————————
wamp2.5版本根据网上的说法,是在线后其他计算机一样可以访问的。但是到了3.x.x就变成默认其他机子不能访问了。
那么正题开始。wamp默认安装完设置完,是只能在本机(localhost)进行登陆的,当除了本机的人进行登陆的时候,应该会提示forbidden。
接下来请看图。
这是正常安装完的样子,你以为是绿了就没事了,可是你不知道这样问题大着呢。
注意看这个文字,服务器离线,服务器都离线了还玩个**。所以我们要做的就是让服务器在线。
那么这个中间的过程,我就不多赘述。下面直接切入正题,告诉大家我是如何调通的。
网上大部分的教程都是针对这个文件的修改(httpd.conf):
这个其中包括了大量的对于诸如监听哪个端口,指定本机服务器IP是多少,以及对于访问的很多控制,理一理这个文件有助于你理解wamp的运行机制。
但经过本人多次参照网上教程进行多种修改后,基本上都是没用的,甚至有时候还会导致服务无法启动。所以这条路暂时不通【可以留言探讨】
另外至少我是发现了滑过六级的水平看懂那个说明是没有问题的。。所以说还是要学会看英文文档。
好了,不继续扯皮了。接下来要实现我们的目的,就要按照接下来的步骤进行操作~
1.调出wamp让其上线的按钮,按照下图操作。
在wamp那个托盘图标上点击右键,然后就能看到下图的菜单了,选择图中的选项。
你可以看到
嗯,菜单中出现了“切换到在线状态”的选项了。
2.修改”httpd-vhosts“文件
还是原来那张图,我们要修改的是蓝色高亮行下面的那个httpd-vhosts.conf(推荐用notepad++)进行编辑。
编辑成如图的状态。原来在中间是有一句require local,现在改成require all granted。
然后重新启动wamp的服务。还别急,别忘了要让服务器在线!左键点击wamp的托盘图标,点击“切换到在线状态”,要让wamp的小图标变成如下:
全部顺利无误后,应该外网就可以访问本机了。在另一台机器(最好和你的服务器机子在同一个网络下)浏览器内输入服务器电脑的IP地址即可。
PS:此时wamp服务器监听的是本机的80端口,所以其他机器在浏览器里输入能探查到的本机ip,就相当于是访问了这台电脑上的apache服务器。如果连forbidden提示都没有,可能是防火墙之类的拦截,再仔细检查一下其他的系统设置。
展示一下此时的效果:
那么到这一步,就是外网可以正常访问本服务器网站了。
3.还没完,根据需求继续设置php服务器外网访问
如果你在其他机器登陆到上面那个网址后,点击phpmyadmin,应该还是进不去的,同样会提示forbidden,这个也是因为访问权限的问题。
我们还要做如下修改
根据上图所示,打开phpmyadmin.conf设置文件,修改成下图红框中的内容:
经过如上设置之后,保存,再重启wamp,通过其他机子进行测试。点击网页中phpadmin的链接后,能够正常显示登陆界面,就说明是成功了。
至此,你的服务器已经能够被外网访问。