Apache ftpServer的安装与配置
1 下载ftpServer,目前最新版本是1.0.6,地址http://mina.apache.org/ftpserver-project/downloads.html
2 解压缩:tar -zvxf ftpserver-1.0.6.tar.gz
3 进入配置文件目录:cd apache-ftpserver-1.0.6/res/conf
4 配置用户登录信息
(1)使用文件进行用户登录验证
修改文件 users.properties
ftpserver.user.admin.userpassword=admin
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=true
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
执行命令:cp ftpd-typical.xml ftpd-file.xml
修改文件文件ftpd-file.xml,其中红色字体为修改部分,密码加密方式修改为clear
<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" encrypt-passwords = "clear" />
</server>
退回目录apache-ftpserver-1.0.6/,启动ftp服务 sh bin/ftpd.sh res/conf/ftpd-file.xml
执行:ftp 127.0.0.1 2121 输入用户和密码:admin admin
(2)使用数据库进行验证,这里数据库选用mysql
选定一个数据库(这里使用ftpserver),根据文件apache-ftpserver-1.0.6/res/ftp-db.sql中的命令创建数据库
在数据库中增加一条记录:insert into FTP_USER values("user1","123456","./res/home/user1",1,0,0,0,0,0,0);
创建配置文件:
cd apache-ftpserver-1.0.6/res/conf
cp ftpd-typical.xml ftpd-db.xml
修改配置文件ftpd-db.xml
<?xml version="1.0" encoding="UTF-8"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to you under the Apache License, Version
2.0 (the "License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0 Unless required by
applicable law or agreed to in writing, software distributed under the
License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied. See the License for
the specific language governing permissions and limitations under the
License.
-->
<server xmlns="http://mina.apache.org/ftpserver/spring/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:beans="http://www.springframework.org/schema/beans"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
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" />
-->
<db-user-manager encrypt-passwords = "clear">
<data-source>
<beans:bean class="org.apache.commons.dbcp.BasicDataSource">
<beans:property name="driverClassName" value="com.mysql.jdbc.Driver" />
<beans:property name="url" value="jdbc:mysql://localhost/ftpserver" />
<beans:property name="username" value="root" />
<beans:property name="password" value="123456" />
</beans:bean>
</data-source>
<insert-user>INSERT INTO FTP_USER (userid, userpassword,
homedirectory, enableflag, writepermission, idletime, uploadrate,
downloadrate) VALUES ('{userid}', '{userpassword}',
'{homedirectory}',
{enableflag}, {writepermission}, {idletime},
{uploadrate},
{downloadrate})
</insert-user>
<update-user>UPDATE FTP_USER SET
userpassword='{userpassword}',homedirectory='{homedirectory}',enableflag={enableflag},writepermission={writepermission},idletime={idletime},uploadrate={uploadrate},downloadrate={downloadrate}
WHERE userid='{userid}'
</update-user>
<delete-user>DELETE FROM FTP_USER WHERE userid = '{userid}'
</delete-user>
<select-user>SELECT userid, userpassword, homedirectory,
enableflag, writepermission, idletime, uploadrate, downloadrate,
maxloginnumber, maxloginperip FROM
FTP_USER WHERE userid = '{userid}'
</select-user>
<select-all-users>SELECT userid FROM FTP_USER ORDER BY userid
</select-all-users>
<is-admin>SELECT userid FROM FTP_USER WHERE userid='{userid}'
AND
userid='admin'
</is-admin>
<authenticate>SELECT userpassword from FTP_USER WHERE
userid='{userid}'</authenticate>
</db-user-manager>
</server>
说明:server属性部分的红色字体一定要写,否则就会找不到beans,报错:The prefix "beans" for element "beans:bean" is not bound;db-user-manager 的属性部分的红色字体一定要写,这里的密码加密方式为clear,否则会登录不成功;下面的红色字体分别表示localhost(数据库所在的ip地址),ftpserver(数据库名称),root(连接数据库的用户名),123456(连接数据库密码);绿色字体表示使用文件登录,需要注释掉。
增加数据库连接需要使用的jar,下载3个jar包到目录apache-ftpserver-1.0.6/common/lib: commons-dbcp-1.2.2.jar、commons-pool-1.3.jar、mysql-connector-java-3.1.13-bin.jar
进入目录apache-ftpserver-1.0.6,启动服务:sh bin/ftpd.sh res/conf/ftpd-db.xml
执行:ftp 127.0.0.1 2121 输入用户和密码:user1 123456
分享到:
相关推荐
从零开始介绍Apache FtpServer,并一步一步教你配置Apache FtpServer,更高级的应用,教你用写代码控制Apache FtpServer及集成到自己的应用中 <!--ftp端口 --> <!--绑定的服务器IP地址,多网卡的时候使用...
Apache FTPServer 配置使用指南 FTP(File Transfer Protocol)是用于在网络上传输文件的协议,广泛应用于文件共享、上传下载等场景。在 JavaWeb 集群环境下,配置 FTP 服务器是非常重要的,本文将介绍 Apache FTP...
Apache_FtpServer配置详解
以下是对Apache FtpServer配置的详细解读。 **一、安装与启动** 在开始配置Apache FtpServer之前,你需要先下载并安装它。这通常涉及到以下几个步骤: 1. 下载Apache FtpServer的最新版本。 2. 解压缩下载的文件到...
Apache FTPServer是一款开源的FTP服务器,它允许...通过上述步骤,你将能够成功配置Apache FTPServer与Mysql的集成,实现基于数据库的用户管理和权限控制。这样的配置不仅便于管理大量用户,还能提供更高级的安全特性。
在本文中,我们将深入探讨如何安装和配置Apache FTPServer,以及它的一些核心特性。 首先,让我们了解FTP(File Transfer Protocol)的基本概念。FTP是一种应用层协议,用于在互联网上进行文件传输。它允许用户从...
首先,`FtpServer配置详解.pdf`文档是关于Apache Ftpserver配置的详细指南。这份文档通常会包含如何设置服务器的基本信息,如监听端口、用户账户、权限控制、虚拟主机等。你可以通过阅读这份文档学习如何配置FTP...
这篇笔记主要围绕Apache FTPServer的使用、配置和相关开发进行讲解。 首先,Apache FTPServer提供了灵活的配置机制,允许管理员通过XML文件定制服务器的行为。这包括设置用户账户、指定工作目录、限制上传下载速度...
2. **灵活性**:Apache FTPServer允许自定义配置,可以通过修改配置文件来设置用户的权限、存储路径、传输模式等,以满足不同场景的需求。 3. **安全性**:支持SSL/TLS加密,可以保护文件传输过程中的数据安全,...
1. **安装与下载**:从Apache官网下载最新版本的Apache FTPServer,解压后得到源代码和相关文档。 2. **环境准备**:确保系统已安装Java运行环境(JRE)和Java开发工具集(JDK),因为FTPServer是用Java编写的。 3...
- **用户管理器**:设置为 `<userManager class="org.apache.ftpserver.usermanager.impl.DatabaseUserManager"/>` 以便于与数据库进行集成。 - **虚拟主机**:定义 `<virtualHost>` 元素来指定服务器的虚拟主机...
1. **基本配置**:在`<ftpserver>`标签内,可以设置服务器的基本属性,如端口(`port`)和数据连接模式(`dataConnectionMode`)。 2. **用户认证**:在`<users>`标签内,定义FTP用户的用户名、密码、主目录等信息。...
- `org\apache\ftpserver\usermanager\impl\AbstractUserManager.class` 修改这些类的主要目的是让其支持新的表结构,并实现在验证过程中对源IP地址的检查。 通过以上步骤,我们可以有效地配置并使用Apache FTP...
在安装和配置Apache FTP Server时,你需要: 1. 下载并安装Java开发环境(JDK),因为FTP服务器是用Java编写的。 2. 获取Apache FTP Server的源码或二进制包,解压到合适的目录。 3. 配置服务器的主配置文件(通常...
它的使用方式与Apache FtpServer类似,需要添加依赖并调用相应的API方法。 总结起来,Apache FtpServer是Java开发人员实现FTP服务器功能的一个强大工具。通过简单的配置和API调用,我们可以轻松地在Java应用中嵌入...
3. **可扩展性**:Apache FTPServer支持插件系统,用户可以根据需求安装和配置各种插件,如用户认证插件(如LDAP、PAM等)、日志插件、虚拟主机插件等,以扩展服务器的功能。 4. **用户和组管理**:FTPServer支持多...
接着,`ftpserver.xml`是Apache Ftp Server的主要配置文件,其中包含了服务器的完整配置,如监听地址、端口、虚拟主机、用户账号、权限等。例如: ```xml <ftpserver> <address>0.0.0.0 <port>21 ...
总结来说,Java嵌入Apache FtpServer实现FTP服务涉及的主要步骤包括:配置FtpConfigurator,创建并启动FtpServer,可能还需要在Tomcat等Web容器中部署。通过理解和利用Apache FtpServer提供的API,我们可以创建一个...
Apache FtpServer是一款开源的FTP服务器,它基于Java实现,提供了灵活且强大的配置方式,能够方便地集成到各种系统环境中,比如与Spring框架的整合。Apache FtpServer的核心设计目标是提供一个轻量级、高性能且易于...
Apache FtpServer是一款开源的FTP服务器软件,它基于Java语言开发,可以轻松地与各种Java应用集成。在本场景中,我们重点讨论如何利用Apache FtpServer与Spring框架集成来搭建一个功能强大的FTP服务器。 首先,...