main | demo | docs
download | community | pike
2000 Roxen Internet Software
Suggestions, Comments or Complaints

DocsRoxen2.0Administrator ManualScripting

  • CGI
  • CGI scripting support
  • Fast CGI
  • Fast CGI scripting support
  • SSI
  • Java servlets
  • Roxen modules
  • Pike scripts
  • Pike script support
  • Pike tag
  • Pike tag
  • CGI scripting support

    Support for the CGI/1.1 interface, and more.


    Allow symlinks
    If set, allows symbolic links to binaries owned by the directory owner. Other symlinks are still disabled. NOTE: This option only has effect if scripts are run as owner.
    Provide the <cgi> and <runcgi> tags
    If set, the <cgi> and <runcgi> tags will be available.
    Log file
    Where to log errors from CGI scripts. You can also choose to send the errors to the browser or to the main Roxen log file. Some substitutions of the file name will be done to allow automatic rotating:%y Year (i.e. '1997') %m Month (i.e. '08') %d Date (i.e. '10' for the tenth) %h Hour (i.e. '00')
    Send decoded password
    If set, the variable REMOTE_PASSWORD will be set to the decoded password value.
    Limits: Core dump size
    The maximum size of a core-dump, in 512 byte blocks. -2 is unlimited.
    Limits: Memory size
    The maximum size of the memory used, in Kb. -2 is unlimited.
    Pass environment variables
    If this is set, all environment variables roxen has will be passed to CGI scripts, not only those defined in the CGI/1.1 standard. This includes PATH. (For a quick test, try this script with and without this variable set:#!/bin/sh echo Content-type: text/plain echo '' env )
    Handle *.cgi
    Also handle all '.cgi' files as CGI-scripts, as well as files in the cgi-bin directory. This emulates the behaviour of the Apache server (the extensions to handle can be set in the CGI-script extensions variable).
    CGI-script extensions
    All files ending with these extensions, will be parsed as CGI-scripts.
    Extra environment variables
    Extra variables to be sent to the script, format:NAME=value NAME=value Please note that normal CGI variables will override these.
    Limits: Maximum file size
    The maximum size of any file created, in 512 byte blocks. -2 is unlimited.
    Limits: Time before killing scripts
    The maximum real time the script might run in minutes before it's killed. 0 means unlimited.
    CGI-bin path
    This is where the module will be inserted in the namespace of your server. The module will, per default, also service one or more extensions, from anywhere in the namespace.
    Allow listing of cgi-bin directory
    If set, the users can get a listing of all files in the CGI-bin directory.
    Limits: Maximum CPU time
    The maximum CPU time the script might use in seconds. -2 is unlimited.
    Limits: Nice value
    The nice level to use when running scripts. 20 is nicest, and 0 is the most aggressive available to normal users. Defining the Nice value to anyting but 0 will override the 'Priority' setting.
    Treat non-executable files as ordinary files
    If this flag is set, non-executable files will be returned as normal files to the client. Otherwise an error message will be returned.
    Limits: Maximum number of open files
    The maximum number of files the script can keep open at any time. It is not possible to set this value over the system maximum. On most systems, there is no limit, but some unix systems still have a static filetable (Linux and *BSD, basically).
    Limits: Priority
    The priority, in somewhat general terms (for portability, this works on all operating systems). 'realtime' is not recommended for CGI scripts. On most operating systems, a process with this priority can monopolize the CPU and IO resources, even preemtping the kernel in some cases.
    Raw user info
    If set, the raw, unparsed, user info will be sent to the script, in the HTTP_AUTHORIZATION environment variable. This is not recommended, but some scripts need it. Please note that this will give the scripts access to the password used.
    Run scripts as
    If you start roxen as root, and this variable is set, CGI scripts will be run as this user. You can use either the user name or the UID. Note however, that if you don't have a working user database enabled, only UID's will work correctly. If unset, scripts will be run as nobody.
    Parse RXML in CGI-scripts
    If this is set, the output from CGI-scripts handled by this module will be RXMl parsed. NOTE: No data will be returned to the client until the CGI-script is fully parsed.
    Search path
    This is where the module will find the CGI scripts in the real file system.
    Set the supplementary group access list
    If set, the supplementary group access list will be set for the CGI scripts. This can slow down CGI-scripts significantly if you are using eg NIS+. If not set, the supplementary group access list will be cleared.
    Limits: Stack size
    The maximum size of the stack used, in kilobytes. -2 is unlimited.
    Log CGI errors to...
    By changing this variable you can select where error messages (which means all text written to stderr) from CGI scripts should be sent. By default they will be written to the main log file - logs/debug/[name-of-configdir].1. You can also choose to send the error messages to a special log file or to the browser.
    Run user scripts as owner
    If set, scripts in the home-dirs of users will be run as the user. This overrides the Run scripts as variable.
    Warn for CGIs executing as root
    If this flag is set, a warning will be issued to the event and debug log when a script is run as the root user. This will only happend if the 'Run scripts as' variable is set to root (or 0)