IIS7.5 有了很多新特性,例如FashCGI,Rewrite 模块的内置,简易的FTP发布等等,但是即使是微软,也没有详细的文档,本文详细的介绍了如何在现有的WEB网站上建立FTP发布。
IIS 7.5 配置WEB 网站的文章很多,但如何在已有的WEB站点上配置FTP 的文章却寥寥无几,即使有,关键的地方也没有讲的,这里给大家一个完整的解决方案。
也许细心的同学已经注意到在IIS7.5中 ,右键点击已发布的WEB站点,会有一个 添加 FTP 发布 的选项?
对,这个功能就是在现有的WEB站点上发布FTP站点,FTP站点的根目录就是WEB站点的根目录,兴奋吧! 多年来我想要的功能就是这个, 以前还需要单独安装一个Server-u,现在IIS7.5都内置的,太方便了!
先别急着点 “添加FTP 发布” 因为还没有准备好!
首先添加 用于访问FTP站点的用户,这个用户就是WINDOWS下的一个普通的账户,网上有其他文章说必须将此账户添加到Guests 组,经过实验,没有必要,那是人云亦云的说法。
这里我们添加了一个用户名为 webmaster 的账户,一定要记住密码喔! 当然也可以使用 Administrator的账户来管理FTP 站点,但不推荐这样做。
建立好了用来管理FTP站点的账户后,我们还要给这个webmaster账户分配权限,否则也不能访问FTP站点,这点很重要,这个webmaster账户必须具备有访问服务器物理位置上的web根目录的权限(WEB根目录,就是我们要配置的FTP根目录),在IIS管理器中,右键点击站点,选择 “编辑权限”
点击编辑按钮,将webmaster用户添加到权限列表中,并赋予完全访问的权限。
添加 webmaster 账户
点击高级...按钮
点击 立即查找 ,找到webmaster 用户后,点击确定
选中 webmaster 用户,赋予完全控制的权限。
如果上面的步骤有误,登陆FTP的时候,将会出现 530错误。
准备工作做完了,可以正式开始配置FTP服务器了!
选择 添加 FTP 发布
(Xee:我是选了IP地址和SSL无的,感觉没什么区别)
这里建议启用 虚拟主机名(要和该网站域名一致,或者是已经解析的域名!妈蛋,那个域名不解析,能访问吗? ),虚拟主机名,就是你绑定到这台主机的域名,这个可以自己试一试,这样做的好处,如果一台主机上有多个web网站,你可以给每个web网站配置一个FTP站点,但登陆的时候一定要注意
FTP 的登陆名是: www.hotuav.com|webmaster (虚拟主机名|用户名) 中间用竖线分割,其他选项请照猫画虎。
如果登陆时登陆名没有加虚拟主机名,则 会出现 530 Valid Hostname is expected 这样的错误!
(Xee:我靠,我昨晚遇到问题一直显示“无法显示此网页”没有显示具体问题,一般设置都是正确的,就是不能打不开ftp;切换到ie内核模式,打开出现了可以理解的错误信息;
解决办法:那么第一:该掉默认的21端口(访问时,要按照你的设置进行访问!);第二:登录名按照www.weishangtui.cn[没有端口号] |master。
)
这里填写指定用户 webmaster ,这个用户必须存在,否则发布的FTP站点是无法登陆的!
结束了? 连我都很意外, 就是这么简单!
但是,接下来的内容才是重中之重,重中之重! 因为包括微软的IIS官方网站也没有讲这部内容!
刷新IIS 管理器,点击已发布FTP的站点, 右侧的内容区域开始显示 FTP相关的内容, 点击FTP 用户隔离
把默认的用户隔离方法,改到 FTP根目录, 经过我的实验,用户是隔离的,webmaster用户只能访问FTP根目录以内的东西,其他目录它进不去。
如果没有配置 FTP 用户隔离,则会报出 530 User cannot log in, home directory inaccessible. 这样的错误!
配置完毕,我们到客户端验证登陆一次
命令行下输入密码是不显示的,从界面上看,登陆成功,并且列出了WEB根目录下的文件!
用资源管理器看看,证明了ftp是访问成功了。
总结:在 IIS7.5 的已有WEB站点下发布FTP 非常简单,只需要正确的创建用户,指定用户权限,并且配置FTP用户隔离即可。
Xee:在给别人账号密码时候,除非是临时的,否则这样:
在浏览器输入
ftp://abc:123@192.168.1.1
就可以了
就有可能泄露密码
另外关于配置多用户FTP,可以参考:IIS7.5配置多用户FTP