将 FTP 发布添加到 IIS 7 中的网站
兼容性
版本 | 说明 |
---|---|
IIS 7.5 | FTP 7.5 服务作为 Windows 7 和 Windows Server 2008 R2 中 IIS 7.5 的功能提供。 |
IIS 7.0 | FTP 7.0 和 FTP 7.5 服务是 IIS 7.0 带外提供的,需要从以下 URL 下载和安装该服务:https://www.iis.net/download/FTP。 |
介绍
Microsoft 为 Windows Server® 2008 及更高版本更新了 FTP 服务。 这种新的 FTP 服务包含许多新功能,使 Web 作者能够比以前更好地发布内容,并为 Web 管理员提供了更多的安全性和部署选项。
本文档将逐步介绍如何使用新的 FTP 用户界面并直接编辑 IIS 配置文件,将 FTP 发布添加到现有 Web 网站。
注意
本演练包含使用本地管理员帐户登录 FTP 站点的一系列步骤。 这些步骤只能在服务器本身上使用环回地址或通过 SSL 从远程服务器执行。 如果你偏爱使用单独的用户帐户而非管理员帐户,则必须在必要时创建合适的文件夹并为用户帐户设置正确的权限。
先决条件
必须准备好以下各项才能完成本文中的过程:
必须在 Windows Server 2008 上安装 IIS 7.0 或更高版本,并且必须配置以下设置:
- 安装 IIS 7.0 或更高版本时创建的默认网站必须仍然存在。
- 必须安装 Internet Information Services 管理器。
必须安装新的 FTP 服务。 可以使用以下链接之一从 https://www.iis.net/ 网站下载并安装 FTP 服务:
使用 IIS 管理器添加 FTP 发布
新的 FTP 服务提供向导引导你完成需要操作的每一步,让你轻松将 FTP 发布添加到现有网站。
步骤 1:使用 FTP 站点向导添加 FTP 发布
在这第一个步骤中,我们将 FTP 发布添加到默认网站,并添加所需的设置,以允许本地管理员帐户编辑内容。
在 IIS 管理器的“连接”窗格中,展开树中的“站点”节点,然后单击“默认 Web 网站”。
显示“添加 FTP 站点”向导时:
在向导的下一页:
总结
现已成功将 FTP 发布添加到现有网站。
回顾在此步骤中完成的项:我们通过以下方式向“默认网站”添加了 FTP 发布:
- 为端口 21 上的本地环回 IP 地址添加网站的 FTP 绑定
- 选择不对 FTP 站点使用安全套接字层 (SSL)。
- 启用基本身份验证,并为本地管理员帐户创建读写访问授权规则。
步骤 2:登录到 FTP 站点
在步骤 1 中,你已将 FTP 发布添加到默认网站,并添加了一条授权规则,允许本地管理员帐户对网站内容进行读取和写入访问。 在此步骤中,你将使用管理员帐户登录。
注意
在步骤 1 中创建 FTP 站点时,我们已将 FTP 站点绑定到本地环回 IP 地址。 如果不使用本地环回地址,请使用 SSL 来保护帐户设置。 如果你偏好使用单独的用户帐户而不是管理员帐户,请为该用户帐户设置相应文件夹的正确权限。
使用管理员帐户登录到 FTP 站点
在 FTP 服务器上,打开命令提示符会话。
键入以下命令以连接到 FTP 服务器:
FTP localhost
当系统提示你输入用户名时,请输入“administrator”。
当系统提示你输入密码时,请输入管理员密码。
现在,你应该以本地管理员身份登录到了 FTP 站点。 根据我们在步骤 1 中添加的授权规则,你应该具有对内容文件夹的读取和写入访问权限。
总结
回顾在此步骤中完成的项:
- 以本地管理员身份登录到 FTP 站点。
通过编辑 IIS 配置文件添加 FTP 发布
还可以通过编辑 IIS 配置文件将 FTP 发布添加到现有网站。
注意
编辑 applicationHost.config 文件需要完整的管理权限。 为此,最好采用以下两种方法之一:
- 使用本地“管理员”帐户登录到计算机。
- 如果已使用具有管理员权限但不是本地“管理员”帐户的帐户登录,请使用“作为管理员运行”选项打开记事本。
注意
必须执行上述步骤,因为 Windows Vista 和 Windows Server 2008 操作系统中的用户帐户控制 (UAC) 安全组件会阻止访问 applicationHost.config 文件。 有关 UAC 的详细信息,请参阅以下文档:
https://go.microsoft.com/fwlink/?LinkID=113664
以下步骤将引导你完成添加默认网站的 FTP 发布所需的所有设置。
使用文本编辑器(例如 Windows 记事本)打开 applicationHost.config 文件,该文件默认位于
%SystemRoot%\System32\inetsrv\config
文件夹中。找到默认网站部分。 这应与以下示例类似:
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> </bindings> </site>
在绑定集合中创建新的绑定元素,并将新绑定元素上的协议属性的值设置为包含“ftp”,然后将 bindingInformation 属性的端口值更改为包含“21”。
默认网站的设置现在应类似于以下示例:
<site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="ftp" bindingInformation="*:21:" /> </bindings> </site>
在结束“绑定”标记下添加 ftpServer 部分,该部分将包含身份验证设置。
注意
FTP 站点的身份验证设置是在站点级别上配置的,这与网站的身份验证不同,网站的身份验证可以根据 URL 进行配置。
<ftpServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <basicAuthentication enabled="true" /> </authentication> <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow"/> </security> </ftpServer>
<sites>
部分现在应包含类似于以下示例的内容:<sites> <site name="Default Web Site" id="1"> <application path="/"> <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> </application> <bindings> <binding protocol="http" bindingInformation="*:80:" /> <binding protocol="ftp" bindingInformation="*:21:" /> </bindings> <ftpServer> <security> <authentication> <anonymousAuthentication enabled="false" /> <basicAuthentication enabled="true" /> </authentication> <ssl controlChannelPolicy="SslAllow" dataChannelPolicy="SslAllow"/> </security> </ftpServer> </site>
滚动到 applicationHost.config 文件的底部,为默认网站添加将包含授权设置的位置部分。
注意
在本例中,FTP 站点的授权设置是根据 URL 进行配置的。
<location path="Default Web Site"> <system.ftpServer> <security> <authorization> <add accessType="Allow" users="administrator" permissions="Read, Write" /> </authorization> </security> </system.ftpServer> </location>
保存 applicationHost.config 文件。
现在,你应该能够使用管理员帐户通过 FTP 客户端登录到启用了 FTP 的站点,但其他用户无法登录。
总结
在此任务中,已经通过编辑 IIS 配置文件将 FTP 发布添加到默认 Web 网站。 回顾在此任务中完成的项:
- 你将 FTP 绑定添加到了默认网站。
- 你为默认网站启用了 FTP 基本身份验证,禁用了 FTP 匿名身份验证。
- 你为默认网站配置了管理员帐户的读取/写入权限。