一、安装 FTP 服务器角色
打开
服务器管理器。
点击
“添加角色和功能”。
在
“开始之前” 页面,点击
下一步。
选择
“基于角色或基于功能的安装” →
下一步。
选择目标服务器 →
下一步。
在
“服务器角色” 中,展开
“Web 服务器(IIS)”,勾选
“FTP 服务器”:
- FTP 服务(基础功能)
- FTP 扩展(如需支持 SSL 等高级功能,建议勾选)
点击
“添加功能” →
下一步 →
下一步 →
安装。
等待安装完成,点击
关闭。
二、配置 FTP 站点
方法1:通过 IIS 管理器创建
打开
IIS 管理器(开始菜单 → 管理工具 → Internet Information Services (IIS) Manager)。
左侧连接树中右键点击
“网站” →
“添加 FTP 站点”。
输入
站点名称(如
MyFTP)和
物理路径(如
C:\FTP)→
下一步。
绑定和 SSL 设置:
- IP 地址:可选择特定 IP 或“全部未分配”。
- 端口:默认 21(确保防火墙开放)。
- SSL:根据需要选择:
- 无 SSL(明文传输)
- 允许 SSL(支持明文和加密)
- 需要 SSL(强制加密)
- 若有 SSL 证书,可在下拉菜单中选择。
点击
下一步。
方法2:使用命令行创建(可选)
# 创建目录
New-Item -ItemType Directory -Path C:\FTP
# 创建站点(需已安装 IIS 和 FTP)
Import-Module WebAdministration
New-WebFtpSite -Name "MyFTP" -PhysicalPath "C:\FTP" -Port 21 -IPAddress "*"
三、设置身份验证和授权
在 IIS 管理器中,选择创建的 FTP 站点 → 双击
“FTP 身份验证”。
启用
“基本身份验证”(如需匿名访问,启用“匿名身份验证”)。
双击
“FTP 授权规则” → 点击
“添加允许规则”:
- 允许访问:指定用户/用户组(如域用户
DOMAIN\User 或本地用户)或“所有用户”。
- 权限:勾选 读取 和/或 写入。
四、配置 Windows 防火墙
打开
高级安全 Windows 防火墙(控制面板 → 系统和安全 → Windows Defender 防火墙 → 高级设置)。
点击
“入站规则” →
“新建规则”。
规则类型:
端口 →
TCP/21(或自定义端口)→
允许连接 → 根据需要选择配置文件(域/专用/公用)→ 命名规则(如
FTP Server)。
如需
被动模式(PASV),还需开放端口范围(如 50000-50100):
- 在 IIS 管理器中点击 FTP 站点 → “FTP 防火墙支持” → 设置 “数据通道端口范围”(50000-50100)。
- 防火墙中同样开放该范围的 TCP 端口。
五、测试 FTP 连接
在客户端使用 FTP 客户端(如 FileZilla、WinSCP)或命令行:
ftp <服务器IP>
输入用户名和密码
上传/下载文件测试权限是否正常。
六、高级配置(可选)
- 虚拟目录:在 FTP 站点右键 → “添加虚拟目录”,链接到其他物理路径。
- IP 限制:点击 “FTP IPv4 地址和域限制”,设置允许/拒绝的 IP 范围。
- 日志:双击 “FTP 日志” 配置日志文件路径和记录字段。
- SSL 证书绑定:若需 FTPS(FTP over SSL),需在服务器证书模块中绑定证书。
七、常见问题排查
连接超时/被拒绝:
- 检查防火墙是否开放端口。
- 确认服务运行:
Get-Service ftpsvc。
- 重启 FTP 服务:
Restart-Service ftpsvc。
身份验证失败:
- 检查用户权限(本地用户需在“计算机管理”中创建)。
- 确保密码正确,且未过期。
被动模式失败:
- 检查防火墙是否开放被动端口范围。
- 在客户端切换为主动模式(PORT)测试。
写入权限错误:
- 检查 NTFS 权限(物理路径的安全选项卡添加用户写入权限)。
注意事项
- 安全建议:
- 若非必要,禁用匿名访问。
- 使用复杂密码和账户锁定策略。
- 建议结合 VPN 或 FTPS(SSL)加密传输。
- 端口冲突:若已安装其他 FTP 服务(如 FileZilla Server),需关闭或修改端口。
- 网络环境:若服务器在 NAT 后,需配置端口转发(21 和被动端口范围)。
通过以上步骤,即可在 Windows Server 2019 上完成 FTP 服务器的搭建与基本配置。