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
修改内容为


<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">
        <ssl>
                    <keystore file="./res/ftpserver.jks" password="password" />
                ssl>
            <data-connection idle-timeout="60">
            <active local-port="1886"/>
            
            <passive ports="1886" address="0.0.0.0" external-address="137.222.18.114"/>
            data-connection>
        nio-listener>
    listeners>
    
    <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

你可能感兴趣的:(linux)