Apache mod_ftp 0.9.6 介绍与选型指南

Apache mod_ftp 0.9.6 的信息基准、模块架构、指令体系、官方快速上手与适用限制,及对 vsftpd、ProFTPD、Pure-FTPd 的量化选型对比。

Apache mod_ftpmod_ftp2026/10/19

Apache mod_ftp 0.9.6 介绍与选型指南

一、信息基准

1.1 查询说明

本文为 Apache mod_ftp 的认知篇文档,仅基于官方公开资料进行整理与溯源,不涉及本地安装与实测。所有版本信息、发布日期与对比数据的查询日期均为 2026-10-18。mod_ftp 属于低活跃的存续子项目,其最新发布仍停留在 beta 阶段,本文按官方现状如实标注。

1.2 官方来源清单

来源地址用途
mod_ftp 项目主页(Apache HTTP Server 站点)https://httpd.apache.org/mod_ftp/项目介绍、获取方式与历史沿革
mod_ftp 指令参考https://httpd.apache.org/mod_ftp/mod/mod_ftp.html模块状态与全部指令语法
FTP 文档起始页https://httpd.apache.org/mod_ftp/ftp/文档索引与获取说明
FTP 协议介绍https://httpd.apache.org/mod_ftp/ftp/ftp_intro.html协议原理与 RFC 引用
FTP over TLS 文档https://httpd.apache.org/mod_ftp/ftp/ftp_tls.htmlTLS 加密机制说明
Apache 发行归档目录https://archive.apache.org/dist/httpd/mod_ftp/历史发布物与发布时间核实
Apache Subversion 仓库https://svn.apache.org/repos/asf/httpd/mod_ftp/trunk/源码托管位置
Apache 主发行目录https://downloads.apache.org/确认未随主发行目录分发

1.3 版本依据

取证渠道结果
项目主页 Get It 段落mod_ftp 0.9.6 released as beta,源码从发行归档获取
archive.apache.org/dist/httpd/mod_ftp/mod_ftp-0.9.6-beta 发布物时间戳为 2009-10-08
downloads.apache.org/mod_ftp/404,未列入现行发行目录
Subversion 仓库源码仍托管于 httpd 模块仓库 trunk,0.9.6 之后无新的正式发布
结论截至 2026-10-18,官方最新版本为 0.9.6-beta(2009-10-08),项目处于低活跃、长期未发版状态

二、软件概述

2.1 项目简介

本文介绍的版本为 Apache mod_ftp 0.9.6-beta。mod_ftp 是 Apache HTTP Server 的 FTP 协议模块,用于通过 FTP 协议对外提供 httpd 上承载的内容(凡 HTTP 协议可用的场景亦可经 FTP 访问)。它同时提供 RETR/REST 检索与 STOR/APPE 上传能力,并复用 httpd 的用户与权限模型,官方指出其安全考虑与 mod_dav 加 mod_dav_fs 的组合一致。按官方文档记载,mod_ftp 由 Covalent 公司于 2001 年创建,2005 年捐赠给 Apache 软件基金会进入孵化,2007 年毕业为 HTTP Server 项目的子项目。

2.2 基本信息

条目内容
软件名称Apache mod_ftp
本次介绍版本0.9.6-beta(2009-10-08,发行归档时间戳)
开发语言C(Apache HTTP Server 模块)
开源许可Apache License 2.0
代码托管https://svn.apache.org/repos/asf/httpd/mod_ftp/trunk/(Subversion)
模块状态External Module(官方参考页标注),模块标识符 ftp_module
兼容版本Apache HTTP Server 2.2 及以上
归属组织Apache Software Foundation(HTTP Server 项目子项目)

三、核心架构

3.1 模块化集成模型

mod_ftp 不是独立的 FTP 服务器守护进程,而是加载进 Apache HTTP Server 的协议模块。其架构特点包括:

  • 复用 httpd 的请求处理框架与多进程/多线程工作模型,FTP 会话由 httpd 子进程承接;
  • 复用 httpd 的认证、授权与访问控制模块链,FTP 资源可使用与 Web 资源相同的鉴权配置;
  • 复用 mod_ssl 实现 FTP over TLS(RFC 4217),官方文档明确其 TLS 支持经由 Apache 自身的 mod_ssl 提供;
  • 官方参考页指出该模块可与访问控制模块、mod_ssl 及任意动态内容生成器组合,提供灵活、可扩展且安全的 FTP 服务。

3.2 FTP 会话与数据连接模型

官方协议介绍文档对实现所依赖的 FTP 会话模型描述如下:

  • FTP 是有状态协议:客户端在整个会话期间维持一条控制连接(Control Connection,默认周知端口 21),命令与应答在该连接上收发;
  • 数据传输使用独立的 TCP 连接(Data Connection),文件内容与目录列表经该连接回传;
  • 主动模式(Active FTP)由服务器向客户端 PORT 指令指定的地址与端口发起数据连接,在防火墙与 NAT 环境下存在互通障碍;
  • 被动模式(Passive FTP)由客户端先发送 PASV,服务器绑定端口并告知客户端,再由客户端发起数据连接,对防火墙更友好;
  • mod_ftp 提供 RETR/REST 下载与断点续传语义,以及 STOR/APPE 上传语义。

3.3 TLS 体系

官方 TLS 文档说明的加密路径有两条:

  • 显式 TLS(RFC 4217):客户端与服务器先在明文控制连接上协商能力,客户端发送 AUTH TLS 指令后升级为 TLS 保护;同一端口可同时提供明文与受保护服务,服务器可通过 FTPOptions 的 RequireSSL 选项拒绝任何未建立 TLS 会话的 FTP 指令;
  • 隐式 SSL(Implicit SSL):为控制通道定义一个仅接受 SSL 连接的独立监听器,在任何 FTP 协议交互开始前先完成 SSL 握手,mod_ftp 同样支持该方式。

四、功能特性

以下特性均以官方指令参考页列出的指令体系为依据:

  • 服务开关:FTP 指令在服务器配置或虚拟主机上下文开启 FTP 服务(语法 FTP on|off,默认 off),官方要求必须显式定义 Listen 指令监听 FTP 请求,该指令不从全局配置继承;
  • 数据端口治理:FTPActiveRange 限定主动模式回连端口范围(支持单端口或区间,示例 FTPActiveRange 20 表示沿用 ftp-data 约定端口),FTPPASVaddr、FTPPASVbindaddr、FTPPASVrange 管控被动模式公告地址与端口区间,FTPEPSVIgnoreFamily 处理 EPSV 地址族协商;
  • 用户目录与隔离:FTPHomeDir、FTPJailUser、FTPDocRootEnv 提供家目录映射与 chroot 式隔离能力,FTPDirUmask、FTPUmask 控制目录与文件权限掩码;
  • 登录治理与限流:FTPMaxLoginAttempts 限制尝试次数,FTPLimitLoginIP、FTPLimitLoginServer、FTPLimitLoginUser 配合 FTPLimitDBFile 实现按 IP、服务器、用户的登录限额数据库;
  • 超时控制:FTPTimeoutData、FTPTimeoutIdle、FTPTimeoutLogin 分别约束数据传输、空闲与登录阶段时长;
  • 消息定制:FTPBannerMessage、FTPExitMessage、FTPReadmeMessage 定制欢迎、退出与 README 提示信息;
  • 传输与安全杂项:FTPDataBlockSize 调整数据块大小,FTPLowPortSock 以辅助进程方式绑定低编号端口,FTPImplicitSSL 启用隐式 SSL 监听,FTPOptions 提供包括 RequireSSL 在内的行为开关。

五、快速上手

5.1 获取源码(引自官方主页)

mod_ftp 未随 Apache HTTP Server 主发行包分发,官方主页给出的公开获取方式为从 Subversion 仓库检出:

svn checkout https://svn.apache.org/repos/asf/httpd/mod_ftp/trunk/ mod_ftp

官方文档说明:构建与安装说明见源码树中的 README-FTP 文件与 STATUS 文件;0.9.6-beta 发布包亦可从发行归档目录 https://archive.apache.org/dist/httpd/mod_ftp/ 获取。

5.2 最小启用骨架(依据官方参考页语法与说明整理)

官方参考页给出的核心约束为:FTP 指令语法为 FTP on|off、默认 off、生效于 server config 与 virtual host 上下文,且必须定义 Listen 指令监听 FTP 请求。据此整理的最小骨架如下(非官方完整示例):

Listen 21
<VirtualHost *:21>
    FTP on
</VirtualHost>

被动模式端口区间可按官方示例追加(引自参考页):FTPPASVrange 设定公告端口范围;主动模式可参考官方示例 FTPActiveRange 20 强制使用 ftp-data 约定端口。

5.3 官方来源说明

以上命令、指令语法与约束均引自 mod_ftp 项目主页、指令参考页与 FTP 文档页,本文未做本地编译与运行,不编造任何执行输出;完整构建路径见源码 README-FTP 与官方文档站。

六、适用场景与限制

6.1 适用场景

  • 已有 Apache HTTP Server 站点希望以 FTP 协议暴露同一批内容,且不想引入第二套服务与鉴权体系;
  • 需要直接复用 httpd 的认证、访问控制与 mod_ssl 证书体系的历史环境;
  • 需要与 mod_dav(HTTP 写入)并行提供 FTP 读写能力的内部文件发布场景。

6.2 限制与注意

  • 项目长期未发版:最新版本 0.9.6-beta 发布于 2009-10-08,此后无正式(非 beta)发布,属于低活跃、维护停滞的子项目,不建议新项目采用;
  • 不是独立 FTP 服务器:无法脱离 Apache HTTP Server 运行,功能面与专业 FTP 服务器(虚拟用户体系、带宽控制等)相比有明显差距;
  • 版本号停留在 beta:官方从未将其标注为稳定发布,生产使用需自行承担风险并做安全评估;
  • 文档与生态规模小:官方文档仅协议介绍、TLS 与指令参考三个页面,社区资料有限。

七、同类选型对比

7.1 候选与量化数据总表

软件开源许可GitHub stars / 最近发版版本节奏兼容矩阵
Apache mod_ftp 0.9.6-betaApache-2.0官方未公布(源码托管于 Apache SVN,无 GitHub 仓库)/ 0.9.6-beta(2009-10-08)停滞:2009 年后无新发布Apache HTTP Server 2.2+ 的外部模块
vsftpd 3.0.5GPL-2.0(官方发布包 COPYING 声明)官方未公布(官网 security.appspot.com,无官方 GitHub 仓库)/ 3.0.5(2021-08,官网新闻)极慢:3.0.4 距上一版隔六年UNIX-like 系统,轻量独立守护进程
ProFTPD 1.3.9dGPL-2.0(仓库标注)601 stars / 1.3.9d(2026-07-07),另有 1.3.10rc4(2026-08-14)活跃:稳定线与预发布线并行UNIX-like,模块化配置,多认证后端
Pure-FTPd 1.0.54BSD(官网声明)763 stars(作者 GitHub 仓库)/ 1.0.54(2026-04-11)平稳:小版本持续更新Linux、macOS、OpenBSD、NetBSD、FreeBSD、Solaris、AIX 等(官网列举)

注:stars 数据取自各项目 GitHub 仓库页面(2026-10-18 抓取);mod_ftp 与 vsftpd 无官方 GitHub 仓库,如实标注官方未公布;ProFTPD 与 Pure-FTPd 版本分别取自 GitHub releases.atom feed;vsftpd 版本与日期取自官网新闻页;mod_ftp 发布日期取自 archive.apache.org 发行归档时间戳。

7.2 差异分析

  • 架构定位:mod_ftp 是 httpd 内嵌协议模块,与 Web 服务共享进程与鉴权;vsftpd、ProFTPD、Pure-FTPd 均为独立 FTP 服务器,功能深度与运维工具链更完整;
  • 安全模型:vsftpd 以极简设计与特权分离著称,官方页面定位为安全、快速的 UNIX FTP 服务器;ProFTPD 与 Pure-FTPd 支持 chroot、虚拟用户与 TLS;mod_ftp 复用 httpd 安全模型并支持 RFC 4217 显式 TLS 与隐式 SSL;
  • 许可约束:mod_ftp 为 Apache-2.0,可嵌入 Apache 生态而无传染性问题;vsftpd 与 ProFTPD 为 GPL-2.0,Pure-FTPd 为 BSD,二次分发需按各自许可处理;
  • 维护活跃度:ProFTPD 与 Pure-FTPd 近一年内均有新版本,vsftpd 多年一版,mod_ftp 超过十五年未发版,风险量级完全不同。

7.3 选型建议

若需要独立的通用 FTP 服务,优先在 vsftpd、ProFTPD、Pure-FTPd 中按安全基线与配置习惯选择;mod_ftp 仅适合已深度绑定 Apache HTTP Server 且能接受 beta 版本与长期停更的历史存量场景,不建议新项目采用。

八、参考链接