局域网内部署外网访问应用实战

实况背景

前段时间给一家地产评估公司作了一个小型的工单管理系统,局方老板买了一台PC机打算当作服务器,服务器放在局域网里面。要求外网能够经过域名访问获得这台服务器。项目开发语言为php。php

本案例一样适用想要在本身家里的电脑上面搭建服务器并经过域名访问的童鞋。不局限于apache作服务器,使用java部署在tomcat或者使用IIS过程基本上差很少。java

关键字:wamp,动态DNS,ftp架设,phpmyadmin远程数据库管理mysql

关键问题:sql

  1. 局域网内如何配置路由器端口映射使得外网能够访问局域网内的电脑?
  2. 如何架设一个能够远程管理的环境,ftp以及数据库phpmyadmin管理?

虽然貌似搜一下不少相关内容,可是实际操做起来,仍是会碰到很多问题。这里全程记录,但愿对其余在局域网内网部署外网访问的系统的童鞋有帮助。数据库

运行环境搭建

搭建php的运行环境是很是简单的,由于不少php的集成安装包。我最喜欢的是用wamp,windows下apache,mysql,php集成 包,还带有phpmyadmin,很是方便。关于wamp的安装就很简单了,直接下一步直到结束就行。把php工程整个copy到wamp的www目录下 面。apache

顺便提醒下,我是采用cakephp开发的,须要apache开启rewiter_module才能够工做。windows

在开发者的机子上,通常都是以www为主目录,可是产品上线后就应该要以产品自己的目录做为主目录了。好比说你的域名是 http://www.xxx.com,你的产品目录名称叫project,若是没有设置产品目录为主目录,那么你要访问项目的地址就是:http: //www.xxx.com/project,显然很很差看,客户固然但愿输入地址直接到系统首页了。因此首先要修改apache的documentRoot指向产品目录。 在wamp里面能够直接找到apache的httpd.conf配置文件,找到documentRoot配置项,修改为产品目录名,例如原先 是”d:/wamp/www/” 改为”d:/wamp/www/project”,而后下面<Directory “d:/wamp/www/”> 特定目录的访问控制,也要修改为所须要的访问控制权限,例如禁止访问目录等。tomcat

这里有一个折腾了我整整1天时间的问题,就是网站的访问端口。咱们都知道默认的访问端口都是80端口,这样 url地址能够形如http://www.xxxxx.com/这样来进行访问。若是访问端口修改,改为81之类的,那地址就会变成形如:http: //www.xxxxx.com:81这样。因此为了url方便好记,网址通常不多修改端口。可是这里有个很大的问题:咱们这里的电信屏蔽了80端口,因此若是配置成80端口就没法访问,必需要修改端口。若是你发现经过80没法访问,那就要注意修改端口试试。这是个和谐的社会。安全

修改服务器端的端口同样,是在httpd.conf这个配置文件里面修改的。找到httpd.conf开头附近一个listen 80,改为本身想要的端口便可,这里示例咱们是改为8888端口。建议端口号要在1024以上。至于为何,其实我也不知道,只是看到一些文章这样建议~服务器

路由器配置

局域网内配置路由器端口映射使得外网能够访问局域网内的电脑,这是很关键的一步。宽带的ip都是动态分配的,每次路由器重启后ip地址都会变化,所 以这里就须要使用动态DNS,普通的DNS解析就是将域名映射到你的IP上,可是如今你的IP是动态的,因此只能用动态DNS。最有名的动态DNS固然是 大名鼎鼎的花生壳了。

此外,本身机子上面看到的ip每每都是形如192.168.1.x这类的内网ip地址。真正的ip地址在路由器上面。咱们须要配置路由器的端口映射,当外网访问你的ip地址的某一个端口的时候,将请求转发给局域网内的做为服务器的那台电脑。

首先,须要将服务器的ip地址固定,不使用自动得到ip地址。例如设置成192.168.1.107。

而后,局域网内任意一台机器,访问192.168.1.1地址,即路由器的管理地址(通常来讲这个地址不会变),用户名密码若是没有修改过的话,都 是admin,登录后进入路由器的管理界面,示例用的路由器是TP-Link的路由器,型号TL-R1660,是比较强大的一个路由器,能够配置的功能还 挺多。找到 转发规则-》虚拟服务器,而后添加一个新的虚拟服务器条目:

1

而后用一样的方法加一个21端口,用于接下来作ftp。关于ftp,下一小节介绍。完成后就形如:

2

接下来就是要申请一个花生壳的动态DNS解析服务,到花生壳上面注册一个用户名密码,http://www.oray.cn/ ,申请一个域名,获得一个形如xxxxxx.vicp.net的2级域名(就2级域名,先用着)。而后在你的路由器的动态DN里(TP-Link的路由器 L-R1660自带了动态DNS的支持,能够直接用花生壳登录)填写你的用户名密码而后登录,若是登陆成功,恭喜你,你设定的服务器,已经能够经过域名来 访问了:

3

接下来,你就能够域名访问了,不过要注意的是,咱们的访问须要加上端口8888,因此访问的地址就是:http://www.xxxxxx.vicp.net:8888,长得比较难看的url,可是没办法,毕竟是免费的。

架设ftp管理

由于服务器在公司的局域网内部,咱们作开发的不可能老过去给改改调调的,因此还得远程架设个ftp服务器来作管理。下载一个汉化破解版的Serv-U做为ftp服务端,安装在服务器上。安装完后会弹出设置向导,大部分状况下都是下一步,有几个步骤要注意:

4

安装为系统服务,并设定为开机自动启动,这样能够保证ftp服务在后台一直运行。不然每次要登陆ftp,还须要服务器那边的人把ftp给开起来,外网才能够链接上。

5

为了安全起见,不要开放匿名访问。

7

定义ftp帐号的主目录,这样比较方便ftp管理,一登录立刻自动跳转到咱们须要管理的目录。

8

你能够视状况设定是否锁定在主目录。通常建议锁定在主目录,比较安全。

此外,中间还有设置登录ftp用户名密码的过程,请设定一个用于登录的用户名密码。这些设定完以后,启动ftp服务器便可。而后咱们在客户端就能够随便采用任意的ftp客户端来访问与管理了。

phpmyadmin数据库管理配置

若是是本身安装的phpmyadmin,那么外网能够直接访问,像我是wamp自带的phpmyadmin,须要修改下访问配置,不然外网没法访问。到/wamp/alias下面打开phpmyadmin.conf的配置文件,按照配置文件的说明,将

#        Order Deny,Allow
#    Deny from all
#    Allow from 127.0.0.1
#
替换成:
#
#        Order Allow,Deny
#   Allow from all

这样外网就能够访问phpmyadmin用来进行数据库管理了。

相关文章
相关标签/搜索