apache-ftpServer配置与使用

在教研室和宿舍传文件,用远程啥的很不方法,故找一个开源的ftp服务器,发现很多配置文档有问题,官方教程又很垃圾,所以特整理这篇文档。

ApacheMinaSpringXML活动
Apache FtpServer是纯Java写的开源FTP服务器。 http://mina.apache.org/ftpserver/

下面简单讲一下配置安装过程

  1. 从 http://mina.apache.org/ftpserver/ 下载apache-ftpserver-1.0.6

  2. 解压缩到本地

  3. 在安装目录的res\conf目录中找到users.properties,复制一份为myusers.properties
    修改自己的用户名

    ftpserver.user.myusername.homedirectory=./ftp_space
    ftpserver.user.myusername.enableflag=true
    ftpserver.user.myusername.writepermission=true
    ftpserver.user.myusername.maxloginnumber=3
    ftpserver.user.myusername.maxloginperip=3
    ftpserver.user.myusername.idletime=0
    ftpserver.user.myusername.uploadrate=0
    ftpserver.user.myusername.downloadrate=0

这里指定 ./ftp_space 路径为ftp的home目录,就是说客户端上传的文件都放在这里。

##
4. 在res\conf目录中找到ftpd-typical.xml文件,复制一份,改名为 my-ftpd-typical.xml
修改内容为

<?xml version="1.0" encoding="UTF-8"?>
<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" max-logins="5" anon-enabled="false" max-anon-logins="0" max-login-failures="3" login-failure-delay="30000">

    <listeners>
        <nio-listener name="default" port="21">
            <ssl>
                <keystore file="./res/ftpserver.jks" password="password" />
            </ssl>
        </nio-listener>
    </listeners>
    <file-user-manager file="./res/conf/myusers.properties" encrypt-passwords="clear"/>
</server>

主要是修改端口号,修改登录用户文件,修改最大连接用户数以及匿名用户规则。
##
5. 启动服务
1)确保系统安装jdk环境;
2)安装ftpd服务
在apache-ftpserver-1.0.6的bin目录下,以管理员身份执行
service install ftpd
在控制面板-服务中可以查看apache ftpserver ftpd服务
3)启动服务:
在apache-ftpserver-1.0.6的bin目录下,执行:
ftpd.bat res/conf/my-ftpd-typical.xml

6.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" /*设置server的标志符,必须*/ max-logins="5" /*设置同时登陆的最大人数*/ anon-enabled="false" /*设置匿名登陆为不允许*/ max-anon-logins="0" /*设置匿名登陆用户为0个*/ max-login-failures="3" /*设置3次失败登陆后,关闭此链接*/ login-failure-delay="30000"/*设置失败登陆后下一次登陆所需的时间间隔,防止暴力破解,单位是微秒*/ >
    <listeners>
           <nio-listener name="default" port="2121"><!--设置默认的链接端口为2121,必须-->
        <ssl>
                    <keystore file="./res/ftpserver.jks" password="password" /><!--设置密钥存储路径和密钥存储密码,必须-->
                </ssl>
            <data-connection idle-timeout="60"><!--设置多少时间后关闭一个闲置的链接,单位是秒-->
            <active local-port="1886"/><!--设置主动链接配置,端口号“1886”-->
            <!--设置被动链接配置,端口设置为“1886”,扩展地址为“137.222.18.114”,当需要访问的服务器返回外网地址时使用-->
            <passive ports="1886" address="0.0.0.0" external-address="137.222.18.114"/>
            </data-connection>
        </nio-listener>
    </listeners>
    <!--设置用户登陆信息,“./res/conf/users.properties”为文件路径,“encrypt-passwords=‘clear’”设置密码加密方式,默认是“MD5”,设置成“clear”表示不加密,直接输入-->
    <file-user-manager file="./res/conf/users.properties" encrypt-passwords="clear"/>
</server>

可以使用你的FTP客户端访问 ftp://localhost:21 了, 用户名是myusers.properties里设置的myusername

7.参考文档:
http://wangcheng.iteye.com/blog/364756
http://blog.csdn.net/uehang/article/details/7567470

你可能感兴趣的:(开源,配置,ftp)