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.