将 FTP 发布添加到 IIS 7 中的网站

作者:Robert McMurray

兼容性

版本 说明
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 从远程服务器执行。 如果你偏爱使用单独的用户帐户而非管理员帐户,则必须在必要时创建合适的文件夹并为用户帐户设置正确的权限。

先决条件

必须准备好以下各项才能完成本文中的过程:

  1. 必须在 Windows Server 2008 上安装 IIS 7.0 或更高版本,并且必须配置以下设置:

    • 安装 IIS 7.0 或更高版本时创建的默认网站必须仍然存在。
    • 必须安装 Internet Information Services 管理器。
  2. 必须安装新的 FTP 服务。 可以使用以下链接之一从 https://www.iis.net/ 网站下载并安装 FTP 服务:

使用 IIS 管理器添加 FTP 发布

新的 FTP 服务提供向导引导你完成需要操作的每一步,让你轻松将 FTP 发布添加到现有网站。

步骤 1:使用 FTP 站点向导添加 FTP 发布

在这第一个步骤中,我们将 FTP 发布添加到默认网站,并添加所需的设置,以允许本地管理员帐户编辑内容。

  1. 在 IIS 管理器的“连接”窗格中,展开树中的“站点”节点,然后单击“默认 Web 网站”

  2. 如下图所示,单击“操作”窗格中的“添加 FTP 发布”
    Screenshot of Internet Information I I S Manager. In Connections pane, Default Web Site is highlighted.

  3. 显示“添加 FTP 站点”向导时

    • 从“IP 地址”下拉菜单中选择 FTP 站点的 IP 地址,或者选择接受默认选择“所有未分配”。由于我们稍后将在本演练中使用管理员帐户,因此需要确保限制对服务器的访问,并通过在“IP 地址”框中键入“127.0.0.1”来输入计算机的本地环回 IP 地址

    • 通常你会在“端口”框中输入 FTP 站点的 TCP/IP 端口。 对于本演练,请选择接受默认端口 21。

    • 本演练不使用主机名,因此请确保“虚拟主机”框为空

    • 确保将“证书”下拉列表设置为“未选择”,并选择“允许 SSL”选项

    • 完成这些项,然后单击“下一步”

      Screenshot of Add F T P Site wizard. In I P Address box, one two seven point zero point zero point one are written. Start F T P site automatically is selected. Allow S S L is selected. In the S S L Certificate box, Not Selected is written.

  4. 在向导的下一页:

    • 对于“身份验证”设置,选择“基本”

    • 对于“授权”设置

      • 在“允许访问的对象”下拉菜单中,选择“指定用户”
      • 键入“administrator”作为用户名。
      • 对于“权限”选项,选择“读取”和“写入”
    • 完成这些项,然后单击“完成”

      Screenshot of Authentication and Authorization Information page. Basic is selected. Specified users is selected from Allow access to list. Administrator is written for the user name. Permissions to Read and Write are selected.

总结

现已成功将 FTP 发布添加到现有网站。

回顾在此步骤中完成的项:我们通过以下方式向“默认网站”添加了 FTP 发布:

  • 为端口 21 上的本地环回 IP 地址添加网站的 FTP 绑定
  • 选择不对 FTP 站点使用安全套接字层 (SSL)。
  • 启用基本身份验证,并为本地管理员帐户创建读写访问授权规则。

步骤 2:登录到 FTP 站点

在步骤 1 中,你已将 FTP 发布添加到默认网站,并添加了一条授权规则,允许本地管理员帐户对网站内容进行读取和写入访问。 在此步骤中,你将使用管理员帐户登录。

注意

在步骤 1 中创建 FTP 站点时,我们已将 FTP 站点绑定到本地环回 IP 地址。 如果不使用本地环回地址,请使用 SSL 来保护帐户设置。 如果你偏好使用单独的用户帐户而不是管理员帐户,请为该用户帐户设置相应文件夹的正确权限。

使用管理员帐户登录到 FTP 站点

  1. 在 FTP 服务器上,打开命令提示符会话。

  2. 键入以下命令以连接到 FTP 服务器:

    FTP localhost
    
  3. 当系统提示你输入用户名时,请输入“administrator”。

  4. 当系统提示你输入密码时,请输入管理员密码。

现在,你应该以本地管理员身份登录到了 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 发布所需的所有设置。

  1. 使用文本编辑器(例如 Windows 记事本)打开 applicationHost.config 文件,该文件默认位于 %SystemRoot%\System32\inetsrv\config 文件夹中。

  2. 找到默认网站部分。 这应与以下示例类似:

    <site name="Default Web Site" id="1"> 
        <application path="/"> 
            <virtualDirectory path="/" physicalPath="%SystemDrive%\inetpub\wwwroot" /> 
        </application> 
        <bindings> 
            <binding protocol="http" bindingInformation="*:80:" /> 
        </bindings> 
    </site>
    
  3. 在绑定集合中创建新的绑定元素,并将新绑定元素上的协议属性的值设置为包含“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>
    
  4. 在结束“绑定”标记下添加 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>
    
  5. 滚动到 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>
    
  6. 保存 applicationHost.config 文件。

现在,你应该能够使用管理员帐户通过 FTP 客户端登录到启用了 FTP 的站点,但其他用户无法登录。

总结

在此任务中,已经通过编辑 IIS 配置文件将 FTP 发布添加到默认 Web 网站。 回顾在此任务中完成的项:

  • 你将 FTP 绑定添加到了默认网站。
  • 你为默认网站启用了 FTP 基本身份验证,禁用了 FTP 匿名身份验证。
  • 你为默认网站配置了管理员帐户的读取/写入权限。