因工作需要,最近经常接触到FTP,今天我来介绍一个开源的FTP服务器,那就是Apache FTPServer,Apache FTPServer是一个100%纯Java的FTP服务器。 它的设计是基于现有的开放式协议的完整和便携式FTP服务器引擎解决方案。FTPServer可独立运行作为Windows服务或Unix/ Linux后台程序或是被嵌入在Java应用程序中。
接下来介绍一下如何在Windows环境下安装Apache FTPServer:
第一步:下载Apache FTPServer
可以到官网下载:http://mina.apache.org/ftpserver-project/downloads.html 目前最新版本是Apache FtpServer 1.0.6 Release,我这里下载的就是1.0.6版本
第二步:解压Apache FTPServer
将下载下来的压缩包解压到本地,我的是放在D盘根目录下,其目录结构如下图:
第三步:修改配置文件
1.修改D:\apache-ftpserver-1.0.6\res\conf\users.properties这个文件
在该配置文件中可以增加用户
# Password is "admin"
ftpserver.user.admin.userpassword=admin
ftpserver.user.admin.homedirectory=./res/home
ftpserver.user.admin.enableflag=true
ftpserver.user.admin.writepermission=true
ftpserver.user.admin.maxloginnumber=0
ftpserver.user.admin.maxloginperip=0
ftpserver.user.admin.idletime=0
ftpserver.user.admin.uploadrate=0
ftpserver.user.admin.downloadrate=0
ftpserver.user.anonymous.userpassword=
ftpserver.user.anonymous.homedirectory=./res/home
ftpserver.user.anonymous.enableflag=true
ftpserver.user.anonymous.writepermission=false
ftpserver.user.anonymous.maxloginnumber=20
ftpserver.user.anonymous.maxloginperip=2
ftpserver.user.anonymous.idletime=300
ftpserver.user.anonymous.uploadrate=4800
ftpserver.user.anonymous.downloadrate=4800
#密码 配置新的用户
ftpserver.user.lxw.userpassword=123456
#主目录
ftpserver.user.lxw.homedirectory=./res/home
#当前用户可用
ftpserver.user.lxw.enableflag=true
#具有上传权限
ftpserver.user.lxw.writepermission=true
#最大登陆用户数为20
ftpserver.user.lxw.maxloginnumber=20
#同IP登陆用户数为2
ftpserver.user.lxw.maxloginperip=2
#空闲时间为300秒
ftpserver.user.lxw.idletime=300
#上传速率限制为480000字节每秒
ftpserver.user.lxw.uploadrate=48000000
#下载速率限制为480000字节每秒
ftpserver.user.lxw.downloadrate=48000000
PS:如果不希望匿名登录的话,可以将匿名用户这个配置注释掉
2.修改D:\apache-ftpserver-1.0.6\res\conf\ftpd-typical.xml这个文件
<server xmlns="http://mina.apache.org/ftpserver/spring/v1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation=" http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd " id="myServer"> <listeners> <nio-listener name="default" port="2121"> <ssl> <keystore file="./res/ftpserver.jks" password="password" /> ssl> nio-listener> listeners> <file-user-manager file="./res/conf/users.properties" encrypt-passwords="clear"/> server>
第四步:启动FTPServer
打开CMD命令窗口,切换到D:\apache-ftpserver-1.0.6\bin这个目录下 输入以下命令:
service install
ftpd.bat res/conf/ftpd-typical.xml
注意:第二条命令的执行需要在环境变量中配置JAVA_HOME,否则会报错,自行百度。
运行结果如下图:
PS:FTPServer started 说明FTP服务已经启动成功
第五步:访问FTP
在游览器中,输入ftp://ip:2121进行访问,如果端口修改了,要换成对应的端口,ip就是FTP所在的服务器的ip,访问如下图所示:
第六步:FTPServer的启动与关闭
如果将这个dos命令行关掉,则ftp服务停止。因此需要把第四步的启动制作成bat文件,内容为:
d: cd D:\apache-ftpserver-1.0.5\bin ftpd.bat res/conf/ftpd-typical.xml
随便起一个名字xx,命名为xx.bat,点击即可启动ftp服务器。