apache ftpserver下载
官网下载
apache ftpserver安装
1. Linux下
1.1 下载
进入下载目录,使用wget下载,如果已离线下载成功,则跳过该步,直接上传安装包到下载目录即可
1 2
| cd /usr/download/ wget http://mirrors.shu.edu.cn/apache/mina/ftpserver/1.1.1/dist/apache-ftpserver-1.1.1.tar.gz
|
1.2 解压
1
| tar -zxvf apache-ftpserver-1.1.1.tar.gz
|
1.3 安装
1
| mv apache-ftpserver-1.1.1 /usr/local/ftpserver
|
1.4 修改配置文件
1 2
| cd /usr/local/ftpserver/res/conf/ vim users.properties
|
users.properties文件存放的是用户名及密码权限等配置信息,通过修改该文件来添加和管理用户及权限等信息。参考下面内容配置:
#用户名为anonymous,密码为空
tpserver.user.anonymous.userpassword=
#主目录
ftpserver.user.anonymous.homedirectory=./res/home
#当前用户可用
ftpserver.user.anonymous.enableflag=true
#具有上传权限
ftpserver.user.anonymous.writepermission=true
#最大登陆用户数为20,0为不限
ftpserver.user.anonymous.maxloginnumber=20
#同IP登陆用户数为2,0为不限
ftpserver.user.anonymous.maxloginperip=2
#空闲时间为300秒,0为不限
ftpserver.user.anonymous.idletime=300
#上传速率限制为48字节每秒,0为不限
ftpserver.user.anonymous.uploadrate=4800
#下载速率限制为48字节每秒,0为不限
ftpserver.user.anonymous.downloadrate=4800
修改配置文件ftpd-file.xml,增加encrypt-passwords=”clear”,将密码加密方式修改为clear,默认为MD5加密方式。
<?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="999999" max-threads="9999" anon-enabled="true" max-anon-logins="10">
<!-- anon-enabled 表示是否开通匿名访问;max-anon-logins 表示匿名访问的数量限制-->
<listeners>
<nio-listener name="default" port="21">
<ssl>
<keystore file="./res/ftpserver.jks" password="password" />
</ssl>
<!--设置多少时间后关闭一个闲置的链接,单位是秒-->
<data-connection idle-timeout="1">
<!--设置主动链接配置,端口号“2120”-->
<!--<active local-port="2120"/>-->
<!--设置被动链接配置,端口设置为“2120”,或者开通更多端口“2120-3120”,扩展地址为“0.0.0.0”。当客户端连接时,服务器使用 0.0.0.0:2120-3120 为客户端提供数据传输服务。-->
<passive ports="2120-3120" address="0.0.0.0" external-address=""/>
</data-connection>
</nio-listener>
</listeners>
<file-user-manager file="./res/conf/users.properties" encrypt-passwords="clear" />
</server>
1.5 启动
在ftpserver目录下,执行命令:
- 方式一:
1
| sh bin/ftpd.sh /res/conf/ftpd-typical.xml
|
此方式有局限,当命令窗口退出时,FTP服务停止。
- 方式二:
1
| nohup ./bin/ftpd.sh res/conf/ftpd-typical.xml &
|
此方式为后台启动FTP服务,服务一直启动,不管窗口是否退出。
- 方式三:
1
| nohup sh apache-ftpserver-1.0.6/bin/ftpd.sh /res/conf/ftpd-typical.xml > ftplog/`date '+%Y%m%d'`ftp.log > /dev/null 2>&1 &
|
方式一、二无法启动时,可用此种方式。
1.5 测试
在浏览器输入ftp://IP:21后,输入用户名,密码,可以登录ftp目录。
Suse Linux Enterprise 12下实现脚本启动和关闭
1. 在~目录下,执行下面命令
2. 在.profile文件中定义FTPSERVER_HOME变量,并将变量追加到PATH后面,效果如下:
export RC_LANG=zh_CN.UTF-8
export FTPSERVER_HOME=/usr/local/ftpserver
export PATH=$PATH:$FTPSERVER_HOME
保存并退出。
3. 执行下面命令,使立即生效
4. 执行下面命令,在FTPSERVER_HOME目录下创建脚本文件,
1
| vim /usr/local/ftpserver/ftpserver
|
在文件中写入如下代码,保存并退出。
#!/bin/bash
# /usr/local/ftpserver
# YPN 2018-04-11 Create
if [ "$1"x = "start"x ]; then
nohup /usr/local/ftpserver/bin/ftpd.sh res/conf/ftpd-typical.xml 1>/usr/local/ftpserver/res/log/ftpd.log 2>&1 &
fi
if [ "$1"x = "stop"x ]; then
kill $(ps aux|grep "ftpserver" | grep -v grep |awk '{print $2}')
fi
if [ "$1"x = "check"x ]; then
ps -aux|grep "ftpserver" | grep -v grep
fi
if [ "$1"x = "log"x ]; then
tail -f /usr/local/ftpserver/res/log/ftpd.log -n 1000
fi
5. 给文件添加权限,使脚本文件可以执行,命令为
1
| chmod 755 /usr/local/ftpserver/ftpserver
|
6. 最后,执行下面命令可启动、关闭ftpserver或查看日志
启动:
关闭:
查看日志:
检查ftpserver进程:
7. 随系统自启动
打开linux设置开启启动的文件,将下面的配置写入此文件的最后:
1
| vim /etc/rc.d/after.local
|
配置:
1 2
| # 启动ftpserver服务 nohup /usr/local/ftpserver/bin/ftpd.sh res/conf/ftpd-typical.xml 1>/usr/local/ftpserver/res/log/ftpd.log 2>&1 &
|