IntroductionIntroduction
  InstallingInstalling
  HandlingHandling
  Virtual serversVirtual servers
    <Creating>Creating<Creating>Creating
    <HTTP>HTTP<HTTP>HTTP
    <HTTPS>HTTPS<HTTPS>HTTPS
    <FTP>FTP<FTP>FTP
    <Tetris>Tetris<Tetris>Tetris
    <Logs>Logs<Logs>Logs
    <Messages>Messages<Messages>Messages
  ModulesModules
  FilesystemsFilesystems
  RXML tagsRXML tags
  GraphicsGraphics
  ProxyProxy
  Miscellaneous modulesMiscellaneous modules
  Security considerationsSecurity considerations
  ScriptingScripting
  DatabasesDatabases
  LDAPLDAP
  FrontPageFrontPage
  UpgradingUpgrading
  Third party extensionsThird party extensions
  PortabilityPortability
  Reporting bugsReporting bugs
  AppendixAppendix
 
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.