Table of Contents
- Introduction
- Installation
- Handling Challenger
- Virtual Servers

  | · Introduction · Creating · HTTP · HTTPS · FTP · Tetris · Logs · Messages

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

Introduction

Virtual Servers - The idea
Each virtual server handles a web site, complete with modules and module configurations. To make a virtual server reachable by the outside world, you will have to configure its Server Variables/Listen ports variable to select which protocol, IP address and port number the virtual server are to use.

Protocols
The protocols Challenger support are HTTP, HTTPS and FTP. HTTP, Hyper Text Transfer Protocol, is the basic protocol used by web servers. The default port for HTTP is 80.

HTTPS is HTTP over SSL, the Secure Socket Layer, which provides encrypted communication. The default port for HTTPS is 443.

FTP, File Transfer Protocol, is an older protocol that is still used for some purposes. The default port for FTP is 21.

IP Address and Port
All communication over the Internet is channeled through IP addresses and ports. Each computer handles one or a few IP addresses. For each IP address, there are 65,535 available ports. Each protocol has its own default port, which is the preferred port for communication in that protocol.

Usually, it is possible to use any port by specifying it explicitly. Thus, the URL http://www.roxen.com/ will use the default port, 80 in this case, while the URL http://skuld.idonex.se:4711/ will use the port 4711.

DNS
The basic IP addresses consist of numbers, for example 194.52.202.32, that are not particularly easy to remember. DNS, Domain Name System, helps by suppling symbolic names, for example www.roxen.com that are translated into the IP addresses needed for communication.

The symbolic names are handled by name servers. For example, Idonex's name server handles domain roxen.com, among others. Configurations of new names under a domain are done by configuring the name server.

IP-less HTTP
Many protocols make it necessary for each information service on the Internet to have its own IP address. Thus, each web site and FTP site would need one IP address. If one computer were to handle more than one information service it would have to handle more than one IP address.

In HTTP, the web site wanted is also sent through the protocol in the Host header. Thus, it is possible to make several web sites share the same IP address and port. When a virtual server in Challenger is configured for IP-less HTTP, it will have no port of its own. Instead it will rely on getting requests from another virtual server that does listen to the port.

Really old browsers such as Netscape 1.0, do not support the Host header, and therefore can not connect to web sites using IP-less HTTP. Therefore, it is strongly recommended to upgrade such browsers.

Interfaces
Each IP address that a computer handles is bound to an interface. An interface is an ethernet card, a modem, or some other physical network hardware. A computer, or router, connected to more than one physical network would need one IP address per network interface.

It is also possible to configure virtual interfaces for the sole purpose of handling more IP addresses. How this is done varies between operating systems. If you want to handle more than one HTTPS or FTP server on each computer, or don't like IP-less HTTP, you will need to know how to set up additional virtual interfaces.