Introduction
  Installing
  Handling
  Virtual servers
  Modules
  Filesystems
    Filesystem modules
    Directory listing modules
    Content types
    File extension modules
  RXML tags
  Graphics
  Proxy
  Miscellaneous modules
  Security considerations
  Scripting
  Databases
  LDAP
  FrontPage
  Upgrading
  Third party extensions
  Portability
  Reporting bugs
  Appendix
 
Filesystem modules

Filesystem modules are mounted on Challenger's virtual filesystem and handle requests for files and directories. This is usually done through fetching files from a directory on the host computer. But there are modules that fetch files from a CVS repository or another Challenger server.

Filesystem
The Filesystem module is the most basic filesystem module and it simply fetches files from a directory on the host computer.

Handle DELETE
If set, the DELETE method can be used to delete files in the file system. This is most useful if the FTP protocol is used.

Handle PUT
If set, PUT can be used to upload files to the file system.

Mount Point
Where the module will be mounted on the virtual filesystem.

Require authentication for modification
Only allows authenticated users to use methods other than GET and POST. Turning this option off makes it possible for anyone accessing the web site to edit pages.

Search Path
From which directory on the host computer the files will be fetched.

User Filesystem
Makes it possible to access files in the user's home directories. All home directories containing a directory whose name is specified in the Public directory variable will be accessible.

The User Filesystem module needs an authentication module that can provide it with information about the users, such as where their home directory is located. The User database and security is such an authentication module.

Banish list
This is a comma-separated list of users, that should not have any home page.

Look in users homedir
If set, the user's files are looked for in the home directory of the user, according to the Public directory variable. Otherwise, the Search path variable is used to find a directory with the same name as the user.

Only owned files
If set, only those files that a user really owns can be sent. This makes it impossible for a user to publish sensitive information by making a symlink from her home page directory.

Password users only
Only users possessing a valid password on the system are allowed to have public directories.

Public directory
This is the location of the home page directory. Assume that it is set to .public, that the module has the mount point /users/ and that Per's home directory is /home/per. Now, when the file /users/per/foo/ is accessed the module will try to find the file or directory /home/per/.public/foo/.

Virtual User Hosting
If set, virtual user hosting is enabled. This means that the module will look at the host header to determine which user's directory to access. If this is set, you access the user's directory with http://user.domain.com/ instead of http://user.domain.com/user/. To set this up you need to add CNAME entries to DNS for all your users pointing to the IP addresses of this virtual server.

CVS File system
This module can access files under CVS, Concurrent Versions System, control. It has options to retrieve differences between two versions, older versions and many other CVS tricks. You need to have CVS installed to use this module.

CVS (sub)module
There are two ways to specify which directory tree in the repository is to be mounted:

module/subdirectory
Where module is a module defined in the CVS repository, and subdirectory is a (possibly empty) path to a subdirectory of the module.

/path
Where path is the full path to a directory, starting at the CVS root. I.e., the module database in the CVS repository is not used.

CVS repository
Where CVS stores its files.

Mount point
This is where the module will be inserted in the name space of your server.

Path for locating binaries
Colon separated list of directories to search for the cvs and rcs binaries.

Restricted File system
A restricted file system that makes it possible to mount each user's home directory on the same URL. The file system will prompt the user for her login name and password, and then only show her files. The most common application for this is for uploading content with FTP.

Hide path to the home-directory
Hides the path to the home directory if enabled.

For example, if the user foo has the home directory /home/foo and this is enabled, he will see his files in /.

If this is not enabled, he would see them in /home/foo.

Secure File System
The secure file system module works much like the ordinary file system module, but with regular expression based access control. It is also possible to do the authentication via a form.

Security patterns
This is a list with entries on the form filepattern: security level=pattern. Each entry must be in one of the forms listed below.
filepattern: allow ip=pattern
filepattern: deny ip=pattern
filepattern: allow user=pattern

In patterns, * matches one or more characters and ? matches one single character. Please note that the expressions are tested in order, so if you have *: allow host = * as the first line, it will not matter whatever you add further down. Everything will still be allowed.

Use FORM authentication
If set, instead of returning a HTTP authentication needed header, it produces a page containing a login form.

Mirror Filesystem
A mirror file system mirrors the virtual file tree of another Challenger server. The file system connects to a Mirror Server using Roxen RPC. The connection is done in clear text, it is currently not possible to configure it to use encryption.

The search path of the Mirror Filesystem is used as a cache. The directory must only be used for this cache and should not be shared between multiple mirror file systems. Do not let this module connect to a mirror server in the same Challenger server. This will cause your server to hang up with no way to recover, except by manually editing the configuration files and restarting the server forcefully.

Mirror Server
The location to mirror from. This is not the HTTP location, but the one entered in the mirror server on the remote site.

Mirror Refresh
Check the pages this often, in hours. Please note that the pages are only reloaded from the source server if they have actually changed. At most one file per second will be checked. The update may therefore take a while.

Search path
The cache directory this mirror filesystem should use.

Mirror Server
This module makes it possible to mirror the site, or part of the site, to other Challenger servers. The mirror server will access pages as a normal web user, so it is only possible to mirror the parts of the server that is available to the web. No pages that are password protected will be mirrored.

Variables:

Base URL
The start location of the part of the web site that should be mirrored. By default / which will mirror the whole site.

Mirror Server port
The port that the mirror server should bind to. Specified as IP address:port number. IP address can be any in which case it will bind to all IP addresses the computer handles.