Table of Contents
- Introduction
- Installation

  | · Introduction · Windows installation · UNIX installation · Starting the Server · Directory Structure

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

Starting the Server

Microsoft Windows version

On Microsoft Windows you start Challenger by choosing Start Roxen from the Start menu. Challenger can be made to start automatically by moving its menu entry to the Startup folder.

It is not possible to run the beta version of Roxen Challenger 1.3 as a service.

Unix version
On Unix, Challenger is started by the `server/start` script. The script is normally invoked without options since most configurations are done via the configuration interface. But in special cases options might be needed.

Making Challenger start automatically
The start script should be invoked by the system startup files so Challenger is started automatically in case the computer is restarted. How this is done depends on which operating system you use. Note that Challenger might get a different PATH and belong to different groups when started by the startup files as compared to when it is started manually. If you experience problems that Challenger or scripts run by Challenger has problems starting other program this is one common cause.

- BSD
  Edit `/etc/rc.local`, and add
  `(cd /path to Challenger/roxen/server/;./start)`

- SysV (e.g. Solaris, IRIX)
  Copy `tools/init.d_roxen` to `/etc/init.d/roxen`.
  `cp tools/init.d_roxen /etc/init.d/roxen`

  Make a symlink in `/etc/rc3.d`
  `ln -s /etc/init.d/roxen /etc/rc3.d/S90roxen`

- DigitalUnix, HP-UX
  Copy `tools/init.d_roxen` to `/sbin/init.d/roxen`.
  `cp tools/init.d_roxen /sbin/init.d/roxen`

  Make a symlink in `/sbin/rc3.d`
  `ln -s /sbin/init.d/roxen /sbin/rc3.d/S90roxen`

- Linux / RedHat
  Copy `tools/init.d_roxen` to `/etc/rc.d/init.d/roxen`
  `cp tools/init.d_roxen /etc/rc.d/init.d/roxen`

  Make a symlink in `/etc/rc.d/rc3.d`
  `ln -s /etc/rc.d/init.d/roxen
  /etc/rc.d/rc3.d/S90roxen`

In most cases you have to edit the copy of `tools/init.d_roxen` and update `roxenhome` to your path to Challenger.

Options to the start script

`--version`
  Get only version information. Will not start Challenger.

`--help`
  Get help. Will not start Challenger.

`--log-dir=`dir``
  Change the log directory. Defaults to `logs/`, or rather `../logs/` since the current directory is `server/`.

`--config-dir=`dir``
  Change the configuration directory. Defaults to `configuration/`, or rather `../configuration/` since the current directory is `server/`. Must be set to allow several Challenger servers to share the same files.

`--with-threads`
  Run with threads if they are available.

`--without-threads`
  Disable threads.

`--with-profile`
  Enable runtime profiling of requests. The profiling information can be accessed through the action Development/Debug information for developers.

`--with-file-profile`
  Enable runtime profiling of requests on a per file bases. The profiling information can be accessed through the action Development/Debug information for developers.

`--with-keep-alive`
  Enable keep alive for the HTTP protocol module.

`--once`
  Run the server once with the debug log sent to stderr.

`--gdb`
  Run the server in gdb.

`--program program`
  Start a different program with Challenger's Pike interpreter.

`--with-debug`
  Enable debug mode.

`--without-debug`
  Disable all debug modes.

`--with-fd-debug`
  Enable file descriptor debugging.

`--truss`
  (Solaris only). Run the server in truss showing all system calls.

`--pid-file=file`
  Store the process id of the server and the start script in this file. Defaults to /tmp/roxen_$UID

Arguments passed to pike

`-Dsymbol`
  Define the symbol symbol.

`-dlevel`
  Set the runtime pike debug level. This only works if pike has been compiled with debug.

`-ssize`
  Set the stack size.

`-M path`
  Add the path to the pike module path.

`-I path`
  Add the path to the pike include path.

`-dt`
  Turn off tail recursion optimization.

`-t`
  Turn on pike level tracing.

`-tlevel`
  Turn on more verbose pike tracing. This only works if pike has been compiled with debug.

Environment Variables

`ROXEN_ARGS`
  The contents of this environment argument will be treated as default arguments. Same syntax as the options.

`ROXEN_CONFIGDIR`
  Same as --config-dir=`dir`.

`ROXEN_PID_FILE`
  Same as --pid-file=`file`.

`ROXEN_LANG`
  The default language for language related tags. Defaults to en for English.