Normally IIS can not execute Java Servlets and Java Server Pages (JSPs) actiTIME is based on.
However, it's possible to configure IIS so that it redirects HTTP requests to configured URLs to
Tomcat Web server. This way IIS can serve clients of a Java-based web application.
To enable this interoperability between IIS and Tomcat Web Server, an additional component -
'JK ISAPI Redirector plug-in for IIS' should be installed on the same machine with IIS.
Then IIS and Tomcat Web Server should be configured to work through this component.
This document contains step-by-step instructions on how to install JK ISAPI Redirector plug-in for
IIS and configure IIS and Tomcat Web server properly. IIS and Tomcat Web Server should be installed
before performing the steps below.
This installation instruction was verified in the following configuration only:
Windows 2003, IIS 6.0, Apache Tomcat 5.5.9, Java 1.5.0.
The first step is the usual installation of actiTIME under Apache Tomcat Web Server.
This procedure is described in the actiTIME installation guide.
Go to the "[Tomcat Installation Directory]\conf\" and check that the following XML element exists
and is not commented in the server.xml file:
<Connector port="8009"
enableLookups="false" redirectPort="8443" protocol="AJP/1.3" />
The above example configures Tomcat to listen for HTTP requests redirected from IIS on port 8009.
If this port is already in use on the machine where actiTIME is being installed, it can be changed.
If you change the server.xml file on this step, you should restart Tomcat Web Server.
You can download the ISAPI Redirector plug-in installer from the following location:
http://archive.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/
jk-1.2.15/isapi_redirect.msi
Run the installer by executing the downloaded file and follow the installation wizard steps.
By default the files are installed into the "C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector"
directory (hereafter referred to as [JK Redirector Dir]).
You will need to modify two files in the "[JK Redirector Dir]/conf" folder:
- uriworkermap.properties - tells IIS what requests to redirect to Tomcat
- workers.properties.minimal - tells IIS where (IP address and port) Tomcat is running.
The following modifications should be performed:
uriworkermap.properties
- comment out all the mappings (by adding the '#' character at the beginning of each line) except '/jkmanager=jkstatus'
- add the following mapping "/actitime/*=wlb"
Now the file should look like this:
# uriworkermap.properties - IIS
#
# This file provides sample mappings for example wlb
# worker defined in workermap.properties.minimal
# The general syntax for this file is:
# [URL]=[Worker name]
#/admin/*=wlb
#/manager/*=wlb
#/jsp-examples/*=wlb
#/servlets-examples/*=wlb
/actitime/*=wlb
# Optionally filter out all .jpeg files inside that context
# For no mapping the url has to start with exclamation (!)
#!/servlets-examples/*.jpeg=wlb
#
# Mount jkstatus to /jkmanager
# For production servers you will need to
# secure the access to the /jkmanager url
#
/jkmanager=jkstatus
The actiTIME mapping (e.g. '/actitime/*') must be the same as the context path of actiTIME under Tomcat.
In the example above the mapping '/actitime/*' means that actiTIME in available at 'http://my.server.com/actitime/'
under Tomcat Web Server.
workers.properties.minimal
In this file you need to modify the 'worker.ajp13w.host' property. This property should be set to the host name
or the IP address of the machine where Tomcat (with actiTIME) is running. If Tomcat is running on the same
machine as IIS, you can leave this property set to localhost. If you have specified host name other than
localhost, please make sure the IIS machine can correctly resolve it to the appropriate IP address.
Also, if you have modified the port for the Tomcat AJP Connector on step 2,
you will need to modify the 'worker.ajp13w.port' property as well.
You will find the example of the file contents below for the situation when Tomcat
and IIS servers are running on the same machine, and the default port (8009)
is used for AJP connections:
# workers.properties.minimal -
#
# This file provides minimal jk configuration properties needed to
# connect to Tomcat.
#
# The workers that jk should create and work with
#
worker.list=wlb,jkstatus
#
# Defining a worker named ajp13w and of type ajp13
# Note that the name and the type do not have to match.
#
worker.ajp13w.type=ajp13
worker.ajp13w.host=localhost
worker.ajp13w.port=8009
#
# Defining a load balancer
#
worker.wlb.type=lb
worker.wlb.balance_workers=ajp13w
#
# Define status worker
#
worker.jkstatus.type=status