日期:2014-05-17  浏览次数:20923 次

Apache FtpServer使用讲解

?一、介绍

Apache Ftp Server 是100%纯Java的FTP服务器软件,它采用MINA网络框架开发具有非常好的性能。Apache FtpServer 既可以嵌到Java应用中使用,也可以做为Windows服务或Unix/Linux Daemon单独运行。此外还提供与Spring 相集成的模块。

?

二、

?

环境搭建

?

(1)下载
到http://mina.apache.org/ftpserver/downloads.html地址,进入 “Apache FtpServer 1.0.5 Release” 版本,根据操作系统的不同下载对应的安装包。
?
(2)安装
Linux/Unix系统,则执行tar? -xzvf ftpserver-1.0.5.tar.gz。

windows系统,则用解压工具解压。


三、配置文件

%FTP_HOME%——FTP安装根目录
修改配置文件 %FTP_HOME% \res\conf\ftpd-full.xml


四、连接数据库

?

在%FTP_HOME%/common /lib下添加jar包

commons-dbcp-1.2.2.jar
mysql-connector-java-5.1.5-bin.jar(mysql jdbc)
commons-pool-1.3.jar


五、启动Apache FtpServer

?

Linux:?
cd? %FTP_HOME%
bin/ftpd.sh res/conf/ftpd-full.xml
?
Windows:
cd? %FTP_HOME%
bin/ftpd.bat res/conf/ftpd-full.xml


六、查看日志

路径:%FTP_HOME%\res\log\ftpd.log

?七、修改表结构,源码

CREATE TABLE FTP_USER (?????
??userid VARCHAR(64) NOT NULL PRIMARY KEY,?? -- 用户id???
??userpassword VARCHAR(64),????? -- 用户密码
??homedirectory VARCHAR(128) NOT NULL,????? -- 路径
??enableflag BOOLEAN DEFAULT TRUE,??? -- 用户可用标记
??writepermission BOOLEAN DEFAULT FALSE,??? -- 是否可写标记??
??idletime INT DEFAULT 0,???????????? -- 空闲时间
??uploadrate INT DEFAULT 0,???????? -- 上传文件速率???
??downloadrate INT DEFAULT 0,??? -- 下载文件速率
??maxloginnumber INT DEFAULT 0,? -- 用户最大登录数
??maxloginperip INT DEFAULT 0,???? -- 每个ip最大登录数
??sourceip? VARCHAR2(64)? -- 源IP地址
);

?

%FTP_HOME%/common/lib中的ftpserver-core-1.0.5.jar 下:

org\apache\ftpserver\usermanager\impl\DbUserManager.class
org\apache\ftpserver\usermanager\impl\ AbstractUserManager.class

?

?

一些可配置的东西放在apache-ftpserver-1.0.x\res\conf文件夹里面

?

users.properties文件存放的是用户名及密码权限等配置信息

用户名为anonymous

#密码为空
tpserver.user.anonymous.userpassword=
#主目录
ftpserver.user.anonymous.homedirectory=./res/home
#当前用户可用
ftpserver.user.anonymous.enableflag=true
#具有上传权限
ftpserver.user.anonymous.writepermission=true
#最大登陆用户数为20
ftpserver.user.anonymous.maxloginnumber=20
#同IP登陆用户数为2
ftpserver.user.anonymous.maxloginperip=2
#空闲时间为300秒
ftpserver.user.anonymous.idletime=300
#上传速率限制为48字节每秒
ftpserver.user.anonymous.uploadrate=4800
#下载速率限制为48字节每秒
ftpserver.user.anonymous.downloadrate=4800

能够通过修改users.properties文件来添加和管理用户及权限等信息。

?

Apache Ftp Server 重要的用途其实是作为一种灵活的嵌入式文件传输方案来使用, 单纯作为FTP来说他的性能也是非常好的,800并发上传文件没有任何问题(linux 4cpu 4g mem scsi)