Apache Incubator FTPServer

the Incubator site
 
   

FtpServer Configuration

PDF
PDF

by Rana Bhattacharyya

Overview

The configuration file is ftp-config.xml. Each configurable component has a xml element to configure that component.

thread-manager

As we are using a single thread pool, we have only one default thread-group xml element.

Name Default Value Description
name N/A thread pool name (don't change)
priority 5 thread priority - normal priority = 5, max-priority = 10 (don't change)
is-daemon false deamon thread or not (don't change)
max-threads 10 maximum number of threads
min-threads 5 minimum number of threads
min-spare-threads maxThreads - minThreads minimum number of spare threads

sockets

It configures the socket factories (both server and client). So we have two xml elements - one for server socket factory and another for client socket factory. Please don't change anything here.

ftp-server

This is the ftp server configuration block.

Name Default Value Description
ftp-host 127.0.0.1 server IP. This is required if we want multihome support.
ftp-port 21 server port
max-connection 20 maximum number of ftp client connections
anonymous-max-connection 10 maximum number of anonymous ftp client connections
anonymous-login-allowed true does it allow anonymous connection
remote-admin-allowed true does it allow RMI based remote administration
remote-admin-port 1099 port number to be used for remote administration
create-user-home false create user home if necessary (ie. user home does not exist)
poll-interval 120 interval in seconds to kick out idle users and reload user manager if necessary
default-idle-time 300 default idle timeout in seconds
default-user-root / default user root directory

objectstorage

This is used by the file based object repository. This object storage is used by the object store based file manager. As the default file manager is the properties file based user manager, this is not used normally. Please don't change anything here.

user-manager

This is used by the user manager component. Currently we have four user manager implementations. All the user manager implementations are in org.apache.ftpserver.usermanager package.

  • PropertiesUserManager - properties file based user manager. This is the default user manager.
  • ObjStoreUserManager - object store based user manager.
  • DbUserManager - databased based user manager. Please see "DB Support" for more details.
  • LdapUserManager - LDAP based user manager. Please see "LDAP Support" for more details.
Name Default Value Description
ftp-admin-name admin admin user name
encrypt false password encryption flag - used by the properties file based user manager. The algorithm is MD5.

ip-restrictor

IP restrictor allows/bans specified IPs. IPs can be specified using a simplified regular expression (*?[^-]).

Name Default Value Description
allow-ip false "false" value bans the ftp requests from the specified IPs
and "true" value allows the ftp requests only from the specified Ips.