head	1.15;
access;
symbols;
locks; strict;
comment	@# @;


1.15
date	98.11.09.23.52.53;	author stefano;	state dead;
branches;
next	1.14;

1.14
date	98.08.31.02.51.30;	author ed;	state Exp;
branches;
next	1.13;

1.13
date	98.08.13.00.28.14;	author jonbolt;	state Exp;
branches;
next	1.12;

1.12
date	98.08.04.10.27.20;	author ianosh;	state Exp;
branches;
next	1.11;

1.11
date	98.08.03.10.55.16;	author ianosh;	state Exp;
branches;
next	1.10;

1.10
date	98.08.03.10.34.21;	author ianosh;	state Exp;
branches;
next	1.9;

1.9
date	98.08.01.01.56.27;	author ianosh;	state Exp;
branches;
next	1.8;

1.8
date	98.07.31.16.54.03;	author ianosh;	state Exp;
branches;
next	1.7;

1.7
date	98.07.29.15.09.31;	author ianosh;	state Exp;
branches;
next	1.6;

1.6
date	98.07.29.15.01.36;	author ianosh;	state dead;
branches;
next	1.5;

1.5
date	98.07.20.23.40.13;	author ianosh;	state Exp;
branches;
next	1.4;

1.4
date	98.07.18.00.39.52;	author ianosh;	state Exp;
branches;
next	1.3;

1.3
date	98.07.15.23.41.01;	author ianosh;	state Exp;
branches;
next	1.2;

1.2
date	98.07.15.18.15.55;	author ianosh;	state Exp;
branches;
next	1.1;

1.1
date	98.07.15.14.52.26;	author ianosh;	state Exp;
branches;
next	;


desc
@@


1.15
log
@Removed because obsolete
@
text
@How to install:
--------------

  Unix Systems:

    1) Create a directory under the Apache modules source tree called "jserv"
        ex. "apache/src/modules/jserv"

    2) Copy all files from this tree into that directory.


    3) Modify the Apache "Configuration" file which is in your source
       directory (eg. /usr/local/apache/src/Configuration).

      Apache 1.2.x:
         Edit the EXTRA_LIBS line and add:
            -L./modules/jserv -ljserv

         At the bottom of the file add:
            AddModule jserv_module modules/jserv/mod_jserv.o

      Apache 1.3.x:
         Depending on whether you want a compiled-in module or a shared module
         loaded at startup by "mod_so" module, add one of the following lines:

            AddModule modules/jserv/mod_jserv.o
                or
            SharedModule modules/jserv/mod_jserv.so

    4) Run Apache "Configure" script

    5) Run "make"

  Win32 Systems:

    1) Create a directory under the Apache modules source tree called "jserv"
        ex. "apache/src/modules/jserv"

    2) Copy all files from this tree into that directory.

    3) In this new-created dir issue "nmake -f Makefile.nt"

    4) Copy "ApacheModuleJServ.dll" into your modules directory

    5) Add to Apache "httpd.conf" file this line
        "LoadModule jserv_module modules/ApacheModuleJServ.dll"

  Standalone wrapper for Win32 systems:

    1) Proceed making directories and copying files as described for module
       compilation in step 1 and 2 above.

    2) Get in the directory you create and run:
        "nmake -f Makefile.nt wrapper"
       This will create jserv.exe

    3) Simply run:
        jserv [your_jserv_properties_file_name]

Apache Directives:
------------------

These are found in Apache configuration files (httpd.conf...)

ApJServManual [on/off]
    Wether Apache must start JVM or not (On=Manual Off=Autostart)
    Default: "Off"

ApJServProperties [filename]
    Properties filename for Apache-JServ in Automatic Mode. In manual this
    directive is ignored
    Default: "./conf/jserv.properties"

ApJServDefaultProtocol [name]
    Protocol used by this host to connect to Apache-JServ
    Default: "ajpv11"

ApJServDefaultHost [hostname]
    Host on which Apache-JServ is currently running
    Default: "localhost"

ApJServDefaultPort [number]
    Port used to connect to Apache-JServ
    Default: protocol-dependant (for ajpv11 protocol this is "8007")

ApJServMount [name] [jserv-url]
    Mount point for Apache-JServ zones.
    Default: NONE
    Notes: [name] is the name of the Apache virtual path to mount jserv-url on
           [jserv-url] is something like "protocol://host:port/zone"
                    if protocol, host or port are not specified then the values
                    from "ApJServDefaultProtocol", "ApJServDefaultHost" or 
                    "ApJServDefaultPort" will be used.
                    if zone is not specified all zones will be mounted as sub
                    directories of "name"
                        EX: "ApJServMount /servlets ajpv11:localhost:8007"
                            if user requests "http://host/servlets/kzla/Class"
                            the servlet "Class" in zone "kzla" will be executed
                        EX: "ApJServMount /servlets /kzla"
                            if user requests "http://host/servlets/Class"
                            the servlet "Class" in zone "kzla" on default host
                            thru default protocol on defaul port will be
                            executed

ApJServMountCopy [on/off]
    Wether <VirtualHost> inherits base host mount points or not
    Default: "On"

ApJServLogFile [filename]
    Apache-JServ log file relative to Apache root directory. When "DISABLED" is
    supplied the log will be redirected to Apache error log
    Default: "./logs/jserv.log"

ApJServSecretKey [filename]
    Apache-JServ secret key file relative to Apache root directory. When
    "DISABLED" is supplied the authentication will be disabled.
    Default: "./conf/jserv.secret.key"

ApJServProtocolParameter [name] [parameter] [value]
    Passes parameter and value to specified protocol.
    Default: NONE
    Notes: Currently no protocols handle this. It is kept for future protocols
           compatibility

ApJServAction [extension] [servlet-uri]
    Executes a servlet passing filename with proper extension in
    PATH_TRANSLATED property of servlet request.
    Defaults: NONE
    Notes: This is used for ServerSide includes, like GSP or JServSSI wich
           handles the <servlet> tags 
           EX:
            "ApJServAction .jhtml /servlets/org.apache.jserv.servlets.JServSSI"

Properties:
-----------

These are found in Apache-JServ properties file (jserv.properties...)

wrapper.bin=[filename]
    The JAVA Virtual Machine binary
    Default: "/usr/bin/java" for Unix systems
             "c:\jdk\bin\java.exe" for Win32 systems

wrapper.bin.parameters=[string]
    Optional arguments passed to java binary
    Default: NONE

wrapper.class=[classname]
    Class executed by JAVA Virtual Machine
    Default: "org.apache.jserv.JServ"

wrapper.class.parameters=[string]
    Optional arguments passed to java class after this properties filename
    Default: NONE

wrapper.path=[path]
    PATH environment value passed to JAVA Virtual Machine
    Default: "/bin:/usr/bin:/usr/local/bin" for Unix systems
             "c:\(windows-dir);c:\(windows-system-dir)" for Win32 systems
    Notes: if more than one line is supplied these will be concatenated using
           ":" or ";" (depending wether Unix or Win32) characters
           Under Win32 (windows-dir) and (windows-system-dir) will be
           automatically evaluated to match your system requirements

wrapper.classpath=[path]
    CLASSPATH environment value passed to JAVA Virtual Machine
    Default: NONE (Sun's JDK/JRE already have a default classpath)
    Notes: if more than one line is supplied these will be concatenated using
           ":" or ";" (depending wether Unix or Win32) characters

wrapper.env=[name]=[value]
    An environment name with value passed to JAVA Virtual Machine
    Default: NONE on Unix Systems
             SystemDrive and SystemRoot wit appropriate values on Win32 systems

wrapper.env.copy=[name]
    An environment name with value copied from caller to JAVA Virtual Machine
    Default: NONE

wrapper.env.copyall=[true/false]
    Copies all environment from caller to JAVA Virtual Machine
    Default: "false"

wrapper.protocol=[name]
    Protocol used for signal handling
    Default: "ajpv11"

port=[number]
    Port used by Apache-JServ and for signal handling
    Default: 8007

security.authentication=[true/false]
    Wether Apache-JServ uses or not security (also signal handling uses this)
    Default: "true"

security.secretKey=[filename]
    File used by Apache-JServ and singal handling as a secret password
    Default: NONE

Apache JServ-Status pages:
--------------------------

In your apache configuration files simply add this lines:

    <Location /jserv-status/>
        SetHandler jserv-status
    </Location>

(Replace /jserv-status/ with the name you want to use for accessing status
 pages, but remember the trailing / -slash- )
Then from your favourite browser access to "http://host/jserv-status/" to see
configuration status.
@


1.14
log
@provided a more specific description of where to edit the Configuration
file (this was a source of confusion for one person, in the past, so...).
@
text
@@


1.13
log
@added apache 1.2.x and apache 1.3.x specific directions on unix
@
text
@d12 2
a13 1
    3) Modify the Apache "Configuration" file.
@


1.12
log
@Bug fix for clean compilation under Apache 1.3.0 (ap_is_empty_table).
Removed description about making standalone for UNIX (this could confuse
users, will be re-added as soon as Makefile is ready)
@
text
@d11 17
a27 5
    3) Modify Apache "Configuration" file and add this line
        "AddModule modules/jserv/mod_jserv.o" or
        "SharedModule modules/jserv/mod_jserv.so"
       depending on the fact you want a compiled-in module or a shared module
       loaded at startup by "mod_so" module.
@


1.11
log
@New directive names ApJServ... to avoid copyright problems.
@
text
@d35 1
a35 1
  Standalone:
d41 2
a42 3
        "make -f Makefile.tmpl wrapper" under Unix
        "nmake -f Makefile.nt wrapper" under Win32
       This will create jserv(.exe - on Win32 systems).
@


1.10
log
@Patch to compile cleanly as DSO module under UNIX.
@
text
@d53 1
a53 1
JServManual [on/off]
d57 3
a59 2
JServProperties [filename]
    Properties filename for JServ in Automatic Mode. Manual mode ignores this
d62 2
a63 2
JServDefaultProtocol [name]
    Protocol used by this host to connect to JServ
d66 2
a67 2
JServDefaultHost [hostname]
    Host on which JServ is currently running
d70 2
a71 2
JServDefaultPort [number]
    Port used to connect to JServ
d74 2
a75 2
JServMount [name] [jserv-uri]
    Mount point for JServ zones.
d77 2
a78 2
    Notes: [name] is the name of the Apache virtual path to mount jserv-uri on
           [jserv-uri] is something like "protocol://host:port/zone"
d80 2
a81 2
                    from "JServDefaultProtocol", "JServDefaultHost" or 
                    "JServDefaultPort" will be used.
d84 1
a84 1
                        EX: "JServMount /servlets ajpv11:localhost:8007"
d87 1
a87 1
                        EX: "JServMount /servlets /kzla"
d93 2
a94 2
JServMountCopy [on/off]
    Wether <VirtualHost> inherits base host mount points
d97 2
a98 2
JServLogFile [filename]
    JServ log file relative to Apache root directory. When "DISABLED" is
d102 3
a104 3
JServSecretKey [filename]
    JServ secret key file relative to Apache root directory. When "DISABLED" is
    supplied the authentication will be disabled.
d107 1
a107 1
JServProtocolParameter [name] [parameter] [value]
d113 1
a113 1
JServAction [extension] [servlet-uri]
d119 2
a120 1
           EX: "JServAction .jhtml /servlets/org.apache.jserv.servlets.JServSSI
d125 1
a125 1
These are found in JServ properties file (jserv.properties...)
d177 1
a177 1
    Port used by JServ and for signal handling
d181 1
a181 1
    Wether JServ uses or not security (also signal handling uses this)
d185 1
a185 1
    File used by JServ and singal handling as a secret password
@


1.9
log
@Patched the wrapper protocol to work better in UNIX and under Apache 1.2.
Added the standalone wrapper for UNIX and description on how to compile it.
@
text
@d12 4
a15 1
        "AddModule modules/jserv/mod_jserv.o"
@


1.8
log
@Added informations on how to set-up the jserv-status pages.
@
text
@d32 13
@


1.7
log
@Makefile for unix and win32 added.
README file describing properties/directives added.
@
text
@d169 14
@


1.6
log
@Rebuilding directory structure.
@
text
@d1 168
a168 67
-------------------------------------------------------------------------------
README FILE FOR MOD_JSERV.C AND RELATIVE FILES:
    by Pierpaolo Fumagalli <ianosh@@iname.com> 15/07/98 16:18

-------------------------------------------------------------------------------
NOTE:
    This file is supposed to be read by development people, it should not go
    with distribution tar/zip-balls.

-------------------------------------------------------------------------------
WHAT CHANGED:
    The module was completely rewritten from scratch, to meet different needs:
    new directives, future compatibility and ease-of-use.
    The module now relies on indipendent "protocols" (see the jserv_protocols.c
    and jserv_protocol structure) that are called when Apache starts, shuts
    down and process a reques.
    The new structure is divided into several files, one for each separate
    function:
    mod_jserv.c: directive handling, talks to Apache directly, and passes
                 servlet requests to protocols. JServStatus requests are
                 handled alone.
    jserv_status.c: processes a status request and shows informations on how
                    jserv is configured (both module and java)
    jserv_utils.c: different "utilities" calls
    jserv_protocols.c: gets the different things from mod_jserv, chooses the
                       right protocol and forward data to it
    jserv_ajpv11.c and jserv_dummy.c: the two basic protocols AJPv1.1 and DUMMY
                                      in the future we'll have AJPv2.1 and JNI
                                      (hopefully) too.
    jserv_mkimg.c and jserv_image.c: just our image for JServStatus requests
                                     (code is self explanatory)

-------------------------------------------------------------------------------
DIRECTIVES:
    See the html file... something is still missing but basically these are!
    See source code too for wrapper.??? directives in jserv.properties

-------------------------------------------------------------------------------
HOWTO:
    Simply copy all in apache/src/modules/jserv, then run
        nmake -f Makefile.nt (under Win32)
    or add the following row in apache/src/Configuration
        AddModule modules/jserv/mod_jserv.o
    then just run
        ./Configure
        make
    and it's all...
    BTW Under Win32 it will run ONLY under 1.3.1 and sequent versions, since
        into it there is a patch I supplied (See Apache bugs database #2467)
        or under 1.3.0 if apache-1.3.0.patch is applied to http_main.c.

-------------------------------------------------------------------------------
BAD THINGS:
    Tell me whatever... if you don't like my indenting style, if you find bugs,
    anything...
    I know many of you "UNIX GURUS" will not like having compiled in a gif
    image, but I think that also look is important (italian style?) :-)
    This module is intended for use under 1.3.x only. A port back to 1.2
    will be available ASAP.

-------------------------------------------------------------------------------
TODO:
    Automatic java startup for unix and port back to 1.2.x coming soon!

-------------------------------------------------------------------------------
STATUS:
    Apache part is complete. Standalone/Automatic mode for Win32 complete.
@


1.5
log
@BIG post... Windows Automatic/Standalone modes added... protocols now
support function request, jserv.properties is parsed... and more things
I don't remember...
FOUND BUG: When JServ receives restart signal it reports a "bind"
           exception. Stefano is already working on it...
@
text
@@


1.4
log
@Error handling, Protocols redefinition, Automatic start for Win32 with
names compiled in. MISSING: Automatic start for Unix and parser for
properties file
@
text
@d36 1
d64 4
@


1.3
log
@Wrapper implementation description, unix makefile changes, minor bugfixes
@
text
@d57 2
d62 1
a62 2
    Automatic java startup and better error handling coming soon!

@


1.2
log
@Basic log handling added, some bugfixes under security and cleanup calls
@
text
@d38 14
d61 1
@


1.1
log
@commit of some files missing
@
text
@d46 1
a46 1
    Log handling and automatic java startup... coming soon!
@

