本文介绍了如何使用Windows实例搭建FTP站点。此方法适用于Windows Server 2008及以上系统,本文以Windows Server 2012 R2为例。

前提条件

  • 使用本教程进行操作前,请确保您已经注册了阿里云账号。如还未注册,请先完成账号注册

  • 已创建ECS实例,本教程中使用的资源信息如下。
    • 实例规格:ecs.c6.large
    • 操作系统:Windows Server 2012 R2 64位

操作步骤

步骤一:添加IIS以及FTP服务角色

在创建FTP站点前,首先需要安装IIS及FTP服务。

  1. 远程连接Windows实例。具体操作,请参见在本地客户端上连接Windows实例
  2. 在底部任务栏,单击服务器管理器图标。
    ftp0
  3. 在顶部导航栏,单击管理 > 添加角色和功能
    ftp1
  4. 在弹出的对话框中,默认单击下一步选择服务器角色界面。
  5. 选中Web 服务器(IIS),在弹出的对话框中单击添加功能,然后单击下一步
    ftp2
  6. 选择角色服务界面。选中IIS管理控制台以及FTP 服务器,单击下一步
    ftp3
  7. 单击安装

步骤二:创建FTP用户名及密码

完成以下操作,创建Windows用户名和密码,用于FTP使用。如果您希望匿名用户可以访问,可省略此步骤。

  1. 在底部任务栏,单击开始图标。
  2. 单击管理工具,然后双击计算机管理
  3. 在左侧导航栏单击本地用户和组 > 用户
    ftp4
  4. 在中间空白处单击鼠标右键,并选择新用户
    本示例中用户名使用 ftptest
    说明 密码必须包括大写字母、小写字母和数字。否则会显示无法通过密码策略。
    ftp5

步骤三:设置共享文件的权限

您需要为在FTP站点共享给用户的文件夹设置访问和修改等权限。

  1. 在服务器磁盘上创建一个供FTP使用的文件夹。右键单击文件夹,选择属性
    本示例中,在C盘下创建一个名为 ftp的文件夹。
  2. 单击安全页签,然后单击编辑
  3. 单击添加
  4. 在弹出的对话框中,输入对象名称ftptest,然后单击确定
  5. 组或用户名区域,单击刚刚添加的用户名ftptest,然后根据需要,选择ftptest的权限,并单击确定
    本示例中允许所有权限。 username

步骤四:添加及设置FTP站点

安装FTP,设置好共享文件夹权限后,您需要创建FTP站点。

  1. 在底部任务栏,单击服务器管理器图标。
  2. 在顶部导航栏,单击工具 > Internet Information Services(IIS)管理器
    ftp8
  3. 在左侧导航栏右键单击网站,并单击添加FTP站点...
    ftp9
  4. 在弹出的对话框中,填写FTP站点名称与共享文件夹的物理路径,然后单击下一步
    本示例中 FTP 站点名称设置为 ftptest物理路径请选择在 步骤三:设置共享文件的权限中创建的FTP文件夹路径。 10
  5. IP 地址默认选择全部未分配。端口号可自行设置,FTP默认端口号为21
  6. 选择SSL设置,然后单击下一步
    • 允许:允许FTP服务器支持与客户端的非SSL和SSL连接。
    • 需要:需要对FTP服务器和客户端之间的通信进行SSL加密。
    • :不需要SSL加密。
    ftp11
  7. 选择要使用的一种或多种身份验证方法。
    • 匿名:允许任何仅提供用户名anonymousftp的用户访问内容。
    • 基本:需要用户提供有效用户名和密码才能访问内容。由于基本身份验证通过网络传输未加密的密码,因此请仅在清楚客户端和FTP服务器之间的连接是安全的情况下(例如,使用安全套接字层SSL时)使用此身份验证方法。
  8. 允许访问列表中,选择以下选项之一:
    • 所有用户:所有用户(不论是匿名用户还是已标识的用户)均可访问相应内容。
    • 匿名用户:匿名用户可访问相应内容。
    • 指定角色或用户组:仅特定角色或用户组的成员才能访问相应内容。请在对应的文本框中输入角色或用户组。
    • 指定用户:仅指定用户才能访问相应内容。请在对应的文本框中输入用户名。
  9. 选中经过授权的用户的读取写入权限。然后单击完成
    12
完成后可以看到搭建的FTP站点。 13

步骤五:设置安全组及防火墙

  1. 搭建好FTP站点后,您需要在实例安全组的入方向添加规则,放行FTP服务器21端口及FTP服务器被动1024/65535端口。
    具体步骤请参见 添加安全组规则,具体配置请参见 安全组应用案例常用端口
  2. 可选:服务器防火墙默认为关闭状态。如果您的防火墙为开启状态,则需要放行TCP 21与1024/65535端口用于FTP服务。

    其他防火墙设置请参见微软官方文档

步骤六:客户端测试

FTP工具、Windows命令行工具或浏览器均可用来测试FTP服务器。本教程以Google Chrome浏览器为例,介绍FTP服务器的访问步骤。

  1. 打开客户端的Google Chrome浏览器,访问ftp://实例公网IP地址:21(如果不填端口则默认访问21端口)。
    说明 使用浏览器访问FTP服务器出错时,建议您清除浏览器缓存后再尝试。
  2. 在弹出的对话框中,输入用户名ftptest和对应的密码,即可对FTP文件进行相应权限的操作。
    浏览器中只能对文件进行读取操作,因此建议您使用FTP工具进行操作,例如,FileZilla。
    说明 此步骤仅适用于基本身份验证,匿名用户无需输入用户名和密码即可登录FTP服务器。

后续步骤

您可以对FTP服务进行安全加固。详情请参见安全加固方案

如果您想基于FTP协议来管理存储在OSS上的文件,您可以安装OSS FTP。具体操作,请参见安装OSS FTP。OSS FTP接收普通FTP请求后,将对文件、文件夹的操作映射为对OSS的操作。