1. Install the Java 5.0 / JRE 1.5 or above.
2. Download the BtFtpServer.zip from here.
3. Extract the BtFtpServer.zip file into the installation folder.
4. Configure the FtpHome. <link to home config>
5. Use Command Prompt and navigate to the installation directory.
6. You can run the server by running run.bat.
7. To run the user administration console run admin.bat
8. You can also double-click the run.bat / admin.bat to run the server or the admin client.
9. For Linux users type run.sh to run the server and admin.sh to run the admin client.
1 ) BtFtpServer user administration guide
The Standard edition (Free download) comes with a command prompt based user administration console. You can run the client by running the admin.sh script (admin.bat for windows users). Using the admin client you can create a new user, modify the existing user, delete a user and change the password for the user. You need to be logged in as admin to complete these operations.
1.1 How to create a new ftp user
Creating a new ftp user is pretty simple. This can be done by following steps provided below:
> Run the admin.sh / admin.bat to start the ftp server admin client.
>Enter admin for user name and password as the password. You can change the password for the admin using the modifyuser command.
>Use adduser command to add the new user. The command requires the user name and the password as the minimum parameters.
>By default the user-home will be set to the user name. You can also specify the user-home with user-home switch.
>Use the group switch to specify the user group. The standard edition has only one group (FTP_DEFAULT_USER_GROUP). You may not specify this as its the default value.
>Use the expdt switch to specify expire date for the user account. If you specify a value the user will not be able to login to the system after the date specified.
adduser john secrete - Will create a user with user-name as john and secrete as password. The user home directory will be created with the same as user name.
adduser john secrete uhome johndocs expdt 2010-12-30 Will create the user with user-name a john and secrete as password. The user home will be set to johndocs and the user account will expire on 30th December 2010.
1.2 Delete ftp user
Admin user can delete an existing ftp user by issuing deleteuser command. The command by default will not delete the user-home. Use the uhome switch to delete the user home. Once the user is deleted with uhome you will not be able to restore the user home. Its always safe to delete user without specifying uhome switch.
deleteuser john - Will delete the user with user-name john. The user home will not be removed.
deleteuser john uhome johnhome will remove the user from the system and also delete the user home.
1.3 Modify an existing user
Use the modifyuser command to modify an existing ftp user. The command has several options. You can specify only one switch per command. This command will can be used to change the password for the existing user including the admin.
modifyuser john passwd newsecrete - change the password for the user john.
modifyuser john expdt 2011-12-30 - will change the user account expiry date for the user.
1.4 How to get help
Type help to get the list of supported admin commands. Help command name will print the usage text for the command.
How to configure the BtFtpServer?
BtFtpServer is a highly configurable Ftp Server. The whole server configuration is consolidated in single configuration file under config/server.xml file. Most of the configurations do not require any kind of system administration knowledge. But we suggest you not to change the default configurations unless you really need to.
Each configuration parameter has two sets of values, a default one and you can override the default value with the override value. Make sure you never change the default value. This will help you to restore the default configuration at any point of time.
When to Edit server.xml
There are a few instances where you might choose to edit the server.xml file. In these cases, your changes should be minimal and specific. Never try to create the server.xml file by writing from the scratch. Make sure that the server is shutdown before you make any changes to the server.xml file. You need to restart the server after you make any changes to the server.xml
Its always a good practice to make a backup of the existing server.xml file before you start editing the content of the server.xml file. Here are some situations where it is appropriate to edit server.xml:
? To specify the BtFtpServer home directory.
? You already have an application which is running on the default ftp server port.
? You need to create a new instance of the BtFtpServer instance and point it to a port other than the default port.
? You are facing an issue with the BtFtpServer and the technical support team has asked you to run the server in debug mode.
? Your ftp server is running behind a firewall and need to specify a NAT address.
? Most of the other configuration parameters are supposed to be changed by an experienced server administrator.
You can use any of your favorite xml editors to edit the server.xml file.
Contents of the server.xml File
The whole server configuration is consolidated in single configuration file under config/server.xml file .Here is a sample server.xml file. Read the whole document before you start editing this file. The default value for the nodes should not be changed. You can always get the default configuration by not specifying any override value for the parameter.
The ftp server home. All the user directories will be created under here. Make sure that the directory permission settings will allow the ftp server to create and modify files. You may leave the default value as it is.
By default the debug will be off. To turn on the debug change the <override> value for the node to true. You may leave the default value as it is.
The ftp server listen port. By default the server listens at the default ftp port 21. You can change the default port by changing the <override> value to the port number you like the server to be started.
The data connection port range. If you specify a range here the server will always open a data connection from the specified port range. Note: This property is not supported in standard edition now.
The welcome message will be send to the user after the connection request. You can configure the message to your company specific messages. You may send terms and conditions for using the system here.
The value will limit the maximum number of concurrent user sessions for the server. Do not change this value if you are not sure of what you are doing.
The natAddress value for the server. You may need to configure this value if your server is running behind a firewall. Click here to learn more about natAddress (#TODO make the here link to http://en.wikipedia.org/wiki/Network_address_translation).
The number of login attempts the user can make before his account will get locked. Not supported in standard edition.
Setting the value to true will allow the user to transfer files in passive mode. By default the value is set to true. Not supported in standard edition.
The session timeout in minutes. Set the value to -1 for disabling the session timeout.
Ftp server is multithreaded and create one thread per request. You can configure the server to limit the number of concurrent threads created.