FTP 是FileTransfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序 (Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常 遇到两个概念:”下载”(Download)和”上传”(Upload)。”下载”文件就是从远程主机拷贝文件至自己的计算机上;”上传”文件就是将文件 从自己的计算机中拷贝至远程主机上。用Internet语言来说,用户可通过客户机程序向(从)远程主机上传(下载)文件。
这里我们介绍Apache旗下Mina项目下的FtpServer:
OK,咱们还是切入正题吧!详细步骤如下:
方式一:通过加载文件的方式,创建Apache FtpServer。
1、下载Apache FtpServer,目前,最新为1.0.6,下载地址:http://mina.apache.org/ftpserver-project/downloads.html
2、解压得到apache-ftpserver-1.0.6;
3、进入apache-ftpserver-1.0.6\res\conf,进行相关配置;
首先修改users.properties这个文件
ftpserver.user.admin.userpassword=21232F297A57A5A743894A0E4A801FC3修改为:
ftpserver.user.admin.userpassword=admin
然后修改ftpd-typical.xml文件
<file-user-managerfile="./res/conf/users.properties">为
<file-user-managerfile="./res/conf/users.properties" encrypt-passwords ="clear"/>
4、安装以及启动FTPServer;
进入CMD命令/bin这个目录下执行(win7环境需要以管理员身份启动CMD),
service install (注意:安装只需安装一次)
ftpd.bat res/conf/ftpd-typical.xml(如果看到“FtpServer started”这句话,代表FtpServer启动成功)
5、登陆Apache FtpServer
打开浏览器,输入:ftp://hostaddress:port,如:ftp://10.0.0.132:2121,登陆FTP文件服务器。
方式二:使用数据库进行验证(这里数据库选用mysql),创建Apache Ftpserver服务器
1、前面两步是一样,下载以及解压。
2、进入apache-ftpserver-1.0.6\res\conf,进行相关配置;
首先,选定一个数据库(这里使用ftpserver),根据文件apache-ftpserver-1.0.6/res/ftp-db.sql中的命令创建数据库;
接下来,在数据库中增加一条记录:insert into FTP_USER values("user1","123456","./res/home",1,0,0,0,0,0,0);
然后,创建配置文件:ftpd-db.xml
最后,添加ftpd-db.xml内容,内容如下:
密码为1234
tpserver.user.anonymous.userpassword=1234
#主目录(FtpServer文件存放目录)
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
i、用户名及密码设置:
设置用户名: ftpserver.user.xxxxxx .userpassword=1234用于设置密码,表示当前密码为1234,xxxxxx为用户名,该名字随意自定义。
ii、设置该账号的主目录(FtpServer文件存放目录)
设置文件存放主目录:ftpserver.user.anonymous.homedirectory=./res/home,表示当前主目录为FtpServer安装目录下,res目录中的home目录。
b、再来看看ftpd-typical.xml文件:
i、在server根元素下添加一下属性:(增加了下面属性后,在IE中无法打开)
打开该xml文件,找到server根元素,默认server根元素只有一个id属性值为myServer。
#最大用户登录数
max-logins="20"
#是否允许用户匿名登录
anon-enabled="false"
#以下三个属性一般不会进行修改
max-anon-logins="0"
max-login-failures="3"
login-failure-delay="30000"
ii、修改FtpServer端口:
找到nio-listener元素,修改该元素的port属性为需要修改的端口。
3、关于使用数据连接创建Ftpserver需要说明的点。
ftpd-db.xml中server属性部分的申明部分一定要写,否则就会找不到beans,
报错:The prefix “beans” for element”beans:bean” is not bound;
db-user-manager 的属性部分(encrypt-passwords=”clear”)一定要写,这里的密码加密方式为clear,否则会登录不成功;