blob: 39ad36d095d9fcb48a0e4640e3174756ad5b28aa [file] [log] [blame]
Title: FtpServer
Notice: 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.
# Running FtpServer stand-alone in 5 minutes
To get FtpServer up and running in stand-alone mode, you need to have a full distribution. Check out to build the source code and make sure you include the build for the distribution module
## Installing
Now you should have a ZIP or TARed file with the entire distribution. Let's go.
First of all, unpack it. If you're on Linux/Unix, you can use:
tar -xzvf ftpserver-1.0.0.tar.gz
On Windows and Linux/Unix, you can use any ZIP tool, like [7-zip](http://www.7-zip.org/) or [Gnome File Roller](http://fileroller.sourceforge.net/) to unzip the file at a location of your liking.
## Running a basic server
Now, open a shell/command prompt where you unpacked the files. On Linux/Unix, run:
bin/ftpd.sh
On Windows, the same command is:
bin/ftpd.bat
FtpServer should now start as expected and you should be able to use a FTP client to access the server at localhost on port 21. The default .
Note that on Linux this command will require root privileges as it tried to listen on port 21, something only root can do. If you're not root, you will get an exception saying "java.net.SocketException: Permission denied". Let's have a look at how to solve this without running as root.
## Configuring
In the res/conf directory in the unpackaged directory you will find some example configuration files. For this tutorial, we will use the ftpd-typical.xml configuration file. It will set the listener port to 2121, thus fixing the issue with not being able to run the server as non-root on Linux. It will also use a provided user database, allowing logging in as admin (password admin) or anonymous. To run, on Linux/Unix:
bin/ftpd.sh res/conf/ftpd-typical.xml
On Windows:
bin/ftpd.bat res/conf/ftpd-typical.xml
That's it. Now you can configure the server to your likings. Have a look at either the ftpd-full.xml example or the configuration documentation. You can also set up FtpServer to run as a service on Windows or daemon on Linux/Unix.