Introduction
  Installing
  Handling
  Virtual servers
    Creating
    HTTP
    HTTPS
    FTP
    Tetris
    Logs
    Messages
  Modules
  Filesystems
  RXML tags
  Graphics
  Proxy
  Miscellaneous modules
  Security considerations
  Scripting
  Databases
  LDAP
  FrontPage
  Upgrading
  Third party extensions
  Portability
  Reporting bugs
  Appendix
 
FTP

FTP is an older protocol for accessing information resources that was the primary standard before HTTP. It provides a structure and interface that resembles a file system more closely than HTTP does. This makes it better for uploading information to a web site, since it is always possible to get directory listings through FTP. FTP is still often used for downloading programs.

FTP cannot be run encrypted. It is however possible to use the port forwarding features of SSH to run FTP encrypted, if SSH is installed both in the client and server. FTP uses two network connections, it is quite easy to make the command channel encrypted while it is hard to ensure that the data channel is encrypted. Since all passwords are sent through the command channel it is often enough to encrypt it.

Creating an FTP Port
You create a FTP port by choosing the FTP protocol and a port number, the default is 21. After that, the following server variables can be used to control the behavior of the FTP service:

Allow anonymous FTP
Whether to allow anonymous ftp users or not. If allowed it will be possible to log on as anonymous or ftp with any password, or get information with no user authenticating at all.

Allow FTP guest users
If allowed the FTP protocol module will allow accesses by users who were not authenticated correctly, according to the current user database. The main reason for this option is that the whole web site might not use the same authentication system. Users may, for instance, use .htaccess files with their own user and password database to control the access to their own pages.

When using this option users will not know right away if they typed in their password correctly. Any password will do, since the actual authentication will not take place until they try to access restricted pages. This is more in line with how HTTP works than how FTP usually works.

Allow named FTP
If set, the FTP protocol module will allow authenticated users to log on.

FTP user session limit
Limits the number of simultaneous FTP sessions a user can have. By default 0, which means an unlimited number of sessions.

Shell database
If set, the FTP protocol module will use the shell database together with the user database to determine whether the user should have FTP access. This way, Challenger becomes more compatible with the standard Unix FTP daemons. Entering an empty value will disable the check.

Using FTP
For Challenger there is no difference between a FTP and a HTTP request. When used for uploading, an FTP upload will be equivalent to doing an HTTP PUT. Whether uploading will be allowed or not is up to the file system module used. The normal Filesystem module contains an option Handle the PUT method which controls if it will be possible to upload files or not.