Table of Contents
- Introduction
- Installation
- Handling Challenger
- Virtual Servers
- Configuration Examples
- Modules

  | · Introduction · Installing a Module · Configuring a module · Module Types

- Filesystems
- RXML Tags
- Graphics
- Proxy
- Databases
- Miscellaneous Modules
- Security Considerations
- Scripting
- Frontpage
- Upgrading
- Third Party Extensions
- Portability
- Reporting Bugs
- Appendix

Introduction
A module is an addition to a virtual server, adding to or modifying the server's functionality in some manner. The module is made up of a Pike object that is compiled to run inside Challenger. Each module can be configured through its configuration variables.

Which modules are enabled and how they are configured determines how the web site will behave, or even if it should be a web site at all. If only proxy modules are enabled the virtual server will not host a web site but rather be a proxy server.

Modules come in different flavours, or types. Each module belongs to one or more types. Some types, like the Authentification and Directory types, are special and you can only enable one per virtual server. It is on the other hand possible to enable any number or modules or more common types, like the Location or Parser types.

The module type determines what services the module provides. A Location module will provide files, either from a real file system, from a database or from some other source. A Parser module provides new RXML tags, that can be used like HTML tags.

The different module types are designed so that modules can cooperate. The idea is that each module should provide a basic functionality, that can be combined by the functionallity provided by other modules. That way the administrator can tailor the configuration of her web site to her needs, by choosing the right modules.