3 November 2003   danielh@crosslink.net

                        The SRE2003 http Server

This directory contains the SRE2003 ver 1.12 http server for OS/2.

Note: the latest version of SRE2003 can be found at 
        http://sre2003.srehttp.org/

Usage:
  Assuming that SRE2003 has been installed properly, to run SRE2003:
     a) open up an OS/2 command prompt
     b) CD to this directory
     c) run SRE2003 from the command prompt
  For example (assuming this SRE2003 is in the D:\SRE directory)
        D:\SRE>sre2003

Configuration:
  Before you run SRE2003 the first time, you should modify the SRE2003.CFG
  file (located in the CFG subdirectory). It's a text file, so you can modify
  it with your favorite text editor. Or, you can run SRE2003 with a -M (modify
  main parameters) or -MALL (modify all parameters) switch.
  For example:
     D:\SRE>sre2003 -mall
  If you don't want to tinker with the SRE2003 settings, 
  the only variable in SRE2003.CFG that you'll need to change is 
  DATADIR -- DATADIR tells SRE2003 where the "root" of your 
  web tree is.

  Actually, the SRE2003 installation program allows you to set the most
  important parameters. If you got it right on installation, you won't
  need to modify SRE2003.CFG!

  You can also use the ADD_PLUG utility to remove and install filters and other
  SRE2003 "plugins". There are two ways of running ADD_PLUG:
    1)   D:\SRE>sre2003 -install
    2)   D:\SRE>ADD_PLUG
  (assuming that D:\SRE is where you installed SRE2003).

Using a Filter:
  SRE2003 requires a seperate "filter". The "filter" does the work of
  matching a request to a resource (such as a file on your hard drive),
  as well as checking on user privileges, writing log information,
  etc.  Technically speaking, SRE2003 only provides an application user 
  interface,  which a filter uses to implement a web server.

  SRE2003 comes with a "simple" filter that can handle basic
  requests. If you have more complicated needs (for example, if 
  you want to use cgi-bin scripts) then you ought to get
  a more complex filter. Two such filters are sreLite2 and
  SREhttp/2, both of which can be found on the SREhttp/2 site
  (at http://srehttp2.srehttp.org).

  Or, you can write your own filter -- it's all described in the 
  documentation!

Displaying status:

    SRE2003 displays status in two areas: the PMPRINTF window, and in the message
    areas of the OS/2 box from which you started SRE2003.
          *  PMPRINTF: to enable a PMPRINTF window, run PMPRINTF.EXE. You can get
              PMPRINTF.EXE from http://www2.hursley.ibm.com/goserve/pmprtf.zip
          *  SRE2003 creates a text-based message window in the OS/2 box from which
              it was executed.  To increase the amount of material this box can display,
              you can use the MODE command before running SRE2003.
              For example, to have 95 column by 35 row OS/2 box (hence a larger SRE2003
              status window), you can use (assuming you've installed SRE2003 to D:\SRE):
                     d:\sre\>MODE CO95,35
               and then run SRE2003.

Documentation:
  The SRE2003 documentation is contained in the DOC subdirectory, SRE2003.HTM
  is the main documentation file.

  Files in the documentation directory include:

      RXPROC.TXT   -- description of procedures contained in RXPROC.DLL
      RXGZLIB.TXT  -- description of procedures contained in RXGZLIB.DLL

      SRE2003.HTM  -- html version of the SRE2003 manual

      SREAPI.TXT   -- Description of the SRE2003 API. This is meant for 
                      users who wish to write filters (or scripts) to run
                      under SRE2003.
      SRE2PRC.HTM  -- Description of the SRE2003 procedure library.
                      This is meant for users who wish to write filters (or scripts) 
                      to run under SRE2003.

      SRXFUNC.TXT  -- Description of the procedures contained in SRXFUNC.DLL
      UPGRADER.TXT -- Uprgrade notes for those migrating to SRE2003 from
                      the GoServe version of SREhttp.

Source code:
  Since SRE2003 is written in REXX, most of the programs are distributed as
  source code.  There is one exception: SRE2003 uses a "macrospace" library,
  which it loads from the SRE2003.RXL file (located in the BIN subdirectory).
  The source code for SRE2003.RXL is in SRE2PRC.ZIP (also located in the
  BIN subdirectory).  

List of Directories:

  The following directories are created when SRE2003 is installed. If you install
  other filters (such as SREhttp/2), additional directories will be created.

     BAK  -- Backup directory, used for old versions of the software
     BIN  -- Various programs and modules used by SRE2003
             Also contains modules used by the SIMPLE filter
     CFG  -- Configuration files for SRE2003. 
     DATA -- Data storage directory (for use by filters, etc)
     TEMP -- Temporary files
     LOG  -- Log files
     DOC  -- Documentation and manuals
   SIMPLE -- The "SIMPLE" filter for SRE2003. 

REXX Programs (in the main directory):
  ADD_PLUG.CMD  --  add & remove filters and other SRE2003 "plugins"
  DOGET.CMD     -- issues GET, HEAD, POST, DELETE and other types of requests
                   to a web server
  DOTEST.CMD    -- issue a TEST request to a web server (proprietary to SRE2003)
  EDIT-2003.CMD -- let's you edit one of several SRE2003 configuration files
  GOS2SRE.CMD   -- partially convert GoServe style filters (and addons) to 
                   SRE2003 syntax
  SRE2003.CMD   -- the SRE2003 web server 
  SREWATCH.CMD  -- lauches SRE2003.CMD, and monitors the state of the server

Components of the SIMPLE filter (in the SIMPLE subdirectory)
  SIMPLE.RXX   -- the "simple" filter. SIMPLE.RXX contains a number of 
                  customization parameters, that can be used for
                  redirection, access control, and other tricks.
  FASTFILT.RXX -- a very simple "fast filter"
  SIMPLE.TXT   -- a brief manual describing for the SIMPLE filter
  SCRIPTS directory -- several "scripts" that can be run under the 
                       SIMPLE filter (report server status, etc).

  Note: by default, SRE2003 is configured to use this SIMPLE filter
                  

Dynamic link libraries (in the DLL directory):
   REXXLIB.DLL  -- a variety of procedures, including semaphore and
                   thread launch procedures
   RXGZLIB.DLL  -- GZIP compression and decompression
   RXPROC.DLL   -- queue manipulation functions 
   SRXFUNC.DLL  -- MD4 and MD5 functions
   MKEY.DLL     -- query keyboard for a keystroke

   If you want, you can move these to a directory in your LIBPATH, such as
   x:\OS2\DLL (where x is your boot drive).

   Note that SRE2003 also uses REXXUTIL and RXSOCK -- these should be
   part of the standard OS/2 setup (hence they are not included with the
   SRE2003 distribution files).


                       
