简单的说,apache的ftpserver只需要我们配置两个文件:ftpd-typical.xml和users.properties(在安装目录的res/conf文件夹下),然后linux下通过bin目录下的ftpd.sh指令(windows用ftpd.bat),启动服务就可以了(ftpd指令需要传递一个参数,为res/conf/ftpd-typical.xml),详细介绍如下:

1、下载

http://www.apache.org/dyn/closer.lua/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.zip


2. 解压缩到本地

 

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

# Password is "admin"
ftpserver.user.admin.userpassword=21232F297A57A5A743894A0E4A801FC3
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=false
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.helh.userpassword=21232F297A57A5A743894A0E4A801FC3
ftpserver.user.helh.homedirectory=./res/home
ftpserver.user.helh.enableflag=true
ftpserver.user.helh.writepermission=false
ftpserver.user.helh.maxloginnumber=20
ftpserver.user.helh.maxloginperip=2
ftpserver.user.helh.idletime=300
ftpserver.user.helh.uploadrate=4800
ftpserver.user.helh.downloadrate=4800

用户anonymou是系统默认的匿名用户,这里我们选择enableflag为false,表示不启用

uploadrate和downloadrate表示上传下载速度,是以字节/秒为单位的,“0”表示不限制

加入一个名为ftpuser的用户密码是admin,

homedirectory配置ftp的home目录,就是说客户端上传的文件都放在这里

4、配置ftpd-typical.xml,重新拷贝一份helh-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" />
</server>

据说还有下面配置,我没试,如下:

<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>

至此,我们就可以启动ftpserver了

5、安装ftpd

service install ftpd 
在控制面板-服务中可以查看apache ftpserver ftpd服务 

6、启动服务

ftpd.bat res/conf/helh-ftpd-typical.xml



Logo

更多推荐