This page last changed on Feb 08, 2005 by mattlangston.

An ISAPI connector is used to bridge between the glast-ground IIS server and a Tomcat 5 instance running the system tests backend.

Configuration Files

The current configuration on glast05 is: (note these are currently in c:\tony\jakarta to keep them distinct from similar files Matt has installed elsewhere, but should probably be moved to somewhere more appropriate).

\bin\isapi_redirect.dll
    \isapi_redirect.properties
\conf\uriworkermap.properties
     \web007-tomcat5.properties
\logs\iis_redirect.log

The files are:

isapi_redirect.dll

This is the core of the ISAPI connector. I have been using this particular version for many years without problems. Some other versions I have tried have not worked. I believe it originally came from the tomcat 3 distribution (currently at http://archive.apache.org/dist/jakarta/tomcat-3/bin/win32/i386/). It does not appear to have a version #.

isapi_redirect.properties

Used to configure the isapi_redirect.dll. By putting this file in the same directory as the isapi_redirect.dll its configuration is read from here rather than from the windows registry. This makes it possible to use more than one connector with the same server if necessary.

Currently the file contains:

isapi_redirect.properties
extension_uri=/jakarta/isapi_redirect.dll
log_file=c:\tony\jakarta\logs\iis_redirect.log
log_level=error
worker_file=c:\tony\jakarta\conf\web007-tomcat5.properties
worker_mount_file=c:\tony\jakarta\conf\uriworkermap.properties

This file configures the log file location and logging level, and points to other configuration files (described below).

uriworkermap.properties

This file maps areas of the glast-ground namespace to (potentially different) tomcat servers. Currently only the /SystemTests/* space is mapped:

uriworkermap.properties
default.worker=ajp13

/SystemTests/=$(default.worker)
/SystemTests/*=$(default.worker)

Note the name ajp13 defined here is just a symbolic name looked up in web007-tomcat5.properties.

web007-tomcat5.properties

This file is contains many comments and unused entries, but the relevant lines are:

web007-tomcat5.properties
worker.ajp13.port=8019
worker.ajp13.host=web007
worker.ajp13.type=ajp13

The second token (ajp13) is the name defined in uriworkermap.properties. These lines configure the server to point to tomcat5 on web007 (its ajp13 connector currently listens on port 8019).

IIS6 Setup

Three things need to be done to get the ISAPI filter installed under IIS6.

  • Configure a virtual directory (called jakarta) which points to the directory containing isapi_redirect.dll. This directory must be given "Scripts and Executables" permissions.
  • Install the ISAPI filter itself. This can be called anything (typically jakarta), and must point to the dll in the directory above.
  • Register the DLL under "Web Service Extensions" with any name (I used Tomcat ISAPI) and set its status to allowed.

Unresolved/Confusing issues

Material on the web recommends switching the service to "IIS 5.0 isolation mode". I did not do this since I wasn't sure what this does, and since it was a global setting that might cause problems for other applications. Things seem to work without this, but there may be some hidden issues we need to worry about later.

When making changes to the dll or the configuration files it is unclear exactly when the changes take effect. To be safe restart the entire web server, although it also appears to (sometimes) work to just start and stop the virtual server in question (which is much faster). Best is just to get them right first time!

Background Info

There is plenty of background info available at:

http://wiki.apache.org/jakarta-tomcat/Tomcat_2fLinks

much of it refers to the (no longer supported) jk2, but most of it is also relevant for jk1.2


setup1.png (image/png)
setup2.png (image/png)
setup3.png (image/png)
Document generated by Confluence on Aug 21, 2008 10:27