<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>
<data-connection idle-timeout="60">
<active local-port="1886" />
<passive ports="1886" />
</data-connection>
</nio-listener>
</listeners>
<file-user-manager file="./res/conf/myusers.properties" encrypt-passwords="clear"/>
</server>

  

前言

  FTP服务器很多朋友都选用Serv-U,一般都是找的破解版或免费使用30天的版本,这里推荐一款免费开源而且

简单好用的FTP软件:Apache FtpServer,以下是搭建过程。

声明

  欢迎转载,但请保留文章原始出处:)

    博客园:http://www.cnblogs.com

    农民伯伯: http://over140.cnblogs.com

正文

  一、介绍

    Apache FtpServer是一个基于Apache MINA(一个高性能的Java异步并发网络通讯框架)开发的FTP 服务器。 既可以嵌到Java应用中使用,也可以做为Windows服务或Unix/Linux Daemon单独运行。此外还提供与Spring相集成的模块。(摘自www.open-open.com)

  二、 准备

    下载地址:http://mina.apache.org/ftpserver/downloads.html

    本文使用1.0.6版本,点这里直接下载。

  三、 配置

    参照 四、参考文章 里面来配置, - - # 这里偷懒就不重复了,这里主要将两个问题:

    3.1  配置Pasv模式

      如果服务器 启用了TCP/IP 筛选,那按文章来是连不上的,这里需要补充一点FTP的知识,FTP有两种连接方式:主动连接模式和被动连接模式(Pasv),这里主要说Pasv模式:客户端会随机获取一个大于1024的端口来与FTP服务器端的端口21连接,完成连接后客户端通过这个连接来对FTP服务器下达指令。明白原理,就可以开始动手了:

      3.1.1  在TCP/IP筛选中打开端口21和1886(可自行设置其他端口)

      3.1.2  修改配置文件,如下:

      保存重新启动即可。首先FTP服务器是需要两个端口,一个上传端口,一个下载端口,所以只启用一个端口是不行的,这里固定了下载端口为1886。

    3.2  设置目录

      设置FTP为盘符根目录办法:

      ftpserver.user.myusername.homedirectory=F:

      注意不带斜杠。

  四、参考文章

    使用Apache FtpServer搭建FTP服务器

    apache-ftpserver快速入门(windows平台)

    Apache FtpServer配置详解[百度文库]

    浅析FTP的工作原理

结束

  比起破解的Serv-U,还是更喜欢开源,使用方便,配置简单,欢迎大家也来试试吧。对了,还有一个中文文件夹显示乱码的问题,搜了一下都要改源码,就懒得动了,等升级解决吧,或者有知道简单办法的欢迎分享。

使用Apache FtpServer搭建FTP服务器 [FlashFXP]的更多相关文章

  1. 使用apache ftpserver搭建ftp服务器

    作为一个javaer,遇到任何问题,先查一下java中的解决方案.地球上的许多事情,在java中都能找到完美的解决方案.之前搭建ftp服务器使用的是vsftpd,现在可以把它卸掉了,它以服务的形式运行 ...

  2. 利用apache ftpserver搭建ftp服务器

    操作环境: win2012r2 x64 datacenter Apache FtpServer 1.2.0 Java SE Development Kit 8u333 commons-dbcp2-2. ...

  3. 利用Serv-U搭建FTP服务器

    以前在学校的时候,学校的整个宿舍楼都是在一个局域网中,经常有人用个人电脑搭个网站或者FTP啊什么的,主要是进行一些影视资源的传播活动.不乏 有些资源充沛的有志青年利用业余时间翻译某岛国影视资源,利用局 ...

  4. pyftpdlib 搭建FTP服务器

    学会socket之后,就可以使用应用层的协议了,比如FTP,HTTP等,不过一般这些应用层都会有现成的模块,学不学socket都无所谓,这是python的方便之处.这里搭建FTP服务器使用的就是pyf ...

  5. Linux中搭建FTP服务器

    FTP工作原理 (1)FTP使用端口 [root@localhost ~]# cat /etc/services | grep ftp ftp-data 20/tcp #数据链路:端口20 ftp 2 ...

  6. Windows下IIS搭建Ftp服务器

    第一步:启用Windows IIS Web服务器 1.1 控制面板中找到"程序"并打开 1.2 程序界面找到"启用或关闭Windows功能"并打开 1.3 上面 ...

  7. Python一秒搭建ftp服务器,帮助你在局域网共享文件【华为云技术分享】

    版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/devcloud/article/detai ...

  8. Python一秒搭建ftp服务器,帮助你在局域网共享文件

    "老板 来碗面" "要啥面?" "内牛满面.." 最近项目上的事情弄得人心累,本来是帮着兄弟项目写套入口代码,搞着搞着就被拉着入坑了.搞开发 ...

  9. Python黑科技:6行代码轻松搭建FTP服务器

    Python 黑科技 六行代码轻松搭建个人FTP服务器 什么是FTP服务器? FTP (File Transfer Protocol) 是一个用于客户端与服务器之间文件的协议.利用FTP我们就能做到在 ...

随机推荐

  1. Autodesk 招聘Revit二次开发咨询顾问,与Autodesk全球团队紧密合作,提高职业生涯的好机会

    朋友们, 因为我离开Autodesk的全职工作(变为部分时间工作),我的职位空出.急招这个职位.请踊跃把你周围的朋友推荐给Autodesk. 请将简历发给我转交给Autodesk 我的邮箱yexion ...

  2. Oracle Sqlplus中上下键出现^[[A乱码问题

    安装rlwrap  下载:http://utopia.knoware.nl/~hlub/uck/rlwrap/ 或者 百度云盘:http://pan.baidu.com/s/1ntM8YXr 须要先安 ...

  3. ASP.NET MVC 4 (十一) Bundles和显示模式--asp.net mvc中 @Scripts.Render("~/bundles/jquery")是什么意思? 在布局文件中使用Scripts.Render()输出脚本包,Styles.Render()输出风格包:

    ASP.NET MVC 4 (十一) Bundles和显示模式 ASP.NET MVC 4 引入的js打包压缩功能.打包压缩jquery目录下的文件,在布局文件中使用Scripts.Render()输 ...

  4. HDU 1007 Quoit Design 平面内最近点对

    http://acm.hdu.edu.cn/showproblem.php?pid=1007 上半年在人人上看到过这个题,当时就知道用分治但是没有仔细想... 今年多校又出了这个...于是学习了一下平 ...

  5. Spring异步执行(@Async)2点注意事项

    Spring中可以异步执行代码,注解方式是使用@Async注解. 原理.怎么使用,就不说了. 写2点自己遇到过的问题. 1.方法是公有的 // 通知归属人 @Async public void not ...

  6. ListCtrl添加右键菜单(在对话框类中)

    在对话框类中如何添加NM_RCLICK消息: ListCtrl控件右键单击选择属性 在右侧属性栏中选择控件事件 在控件事件中找到NM_RCLICK并添加 完成,写代码

  7. Android ProGuard代码混淆技术详解

    前言     受<APP研发录>启发,里面讲到一名Android程序员,在工作一段时间后,会感觉到迷茫,想进阶的话接下去是看Android系统源码呢,还是每天继续做应用,毕竟每天都是画UI ...

  8. vue 自定义modal 模态框组件

    参数名 类型 说明 visible Boolean 是否显示,默认false title String 标题 update:visible Boolean 更新visible, 使用:visible. ...

  9. 以流的形式接收Http请求

    IEnumerable<ReportObject> IHttpReceiveReport.OnPost(System.Web.HttpContextBase context) { //[{ ...

  10. Codeforces Beta Round #17 D. Notepad (数论 + 广义欧拉定理降幂)

    Codeforces Beta Round #17 题目链接:点击我打开题目链接 大概题意: 给你 \(b\),\(n\),\(c\). 让你求:\((b)^{n-1}*(b-1)\%c\). \(2 ...