IIS Website Setup

Using Internet Information Services (IIS) Manager you can now create a new website definition that will be connected to your Apache Tomcat Catalina Base instance by performing the following steps.

  1. Expand the sitemap on the left until you find Sites
  2. Select Sites
  3. Select Add Web Site ...
  4. Set the following properties where ann is your new instance
    Site name: Ittrium ann
    Application Pool: Ittrium ann
    Physical Path: Click ... to browse and select the webapps directory for your instance (ex. /var/ittrium/webserver/ann/webapps
    Port = Any unique port through which you will access this site.  For testing purposes we typically set the port to match the number of the app instance.  For example a01 with port 81 and a02 with port 82.  If you will be mapping a unique host name, you can set the port to the default port value of 80.
  5. Uncheck "Start Immediately"
  6. Save your changes by clicking OK.

Create jakarta Virtual Directory

The jakarta virtual directory will be used to connect IIS to the ISAPI filter that is included with your new instance.  Follow these steps to setup this virtual directory.

  1. Select Add Virtual Directory...
  2. Set the following properites
    Alias: jakarta (this name must match exactly)
    Physical Path: Press ... to browse and select the following directory.
    /var/ittrium/webserver/ann/bin/windows/x64

This points to the directory that contains the isapi_redirect.dll and associated properties files.

Create site Virtual Directory

This directory is required by Ittrium and is used to locate standard public files that are required for building webpages such as images, css and javascript files.

  1. Select Add Virtual Directory...
  2. Set the following properites
    Alias: site (this name must match exactly)
    Physical Path: Press ... to browse and select the following directory.
    /var/ittrium/webserver/ann/webapps/ittrium

Create images Virtual Directory

This is an optional virtual directory that is included directly under the site virtual directory.  This directory is used when you want to reduce the burden on the Ittrium software by having the web server download images directory to the browser.

Follow these steps to setup the images virtual directory.

  1. Select site virtual directory that you just created in the previous step.
  2. Select Add Virtual Directory...
  3. Set the following properites
    Alias: images (this name must match exactly)
    Physical Path: Press ... to browse and select the following directory.
    /var/ittrium/webserver/ann/webapps/ittrium/WEB-INF/blobs

Note: if your blobs are located elsewhere, you will need to change the physical path set here to match the directory location of your blobs.

Configure ISAPI Filter

The ISAPI filter is the actual code that connects IIS to Tomcat.  We configure here so that we can support different filters for each instance of the Ittrium software.  This also allows us to upgrade or configure the filter differently for each instance.

Follow these steps to configure your ISAPI filter.

  1. Select your website (e.g. Ittrium ann)
  2. Double Click ISAPI Filters option
  3. Click Add ...
  4. Set the following properties
    Filter Name: jakarta-ann
    Executable: Click ... to browse and select the isapi_redirect.dll for your instance.
    /var/ittrium/webserver/ann/bin/windows/x64/isapi_redirect.dll

Allow ISAPI Filter

This is the final step to tell IIS that you really want to use the ISAPI filter.  It's a bit redundant at this point, but you need to follow these steps to make it work.

  1. Click on the Server in the IIS site map on the left
  2. Click ISAPI and CGI Restrictions
  3. Click to Add ...
  4. Set the following properties
    ISAPI or CGI Path: /var/ittrium/webserver/ann/bin/windows/x64/isapi_redirect.dll
    Description: jakarta-ann
    Allow extension path to execute: check this option
  5. Click OK

You'll need to do this for each website you define provided that each website is using a unique ISAPI filter.

One More ISAPI Step - Handler Mappings

This is really the last ISAPI related step.  I'm not even sure I know why we have to perform this step, but leave it to Microsoft to make things overly complex.

If you want your ISAPI filter to work, you need to perform this one last set of steps on each the jakarta virtual directory for each of your websites.

  1. Click on jakarta virtual directory
  2. Click Handler Mappings
  3. Click ISAPI-dll which is disabled by default
  4. Click Edit Feature Permissions...
  5. Check Execute
  6. Click OK

ISAPI Filter Configuration Changes

Next you need to update the ISAPI Filter configuration to reflect the location of the filter for your new instance by completing the following steps.

  1. cd /var/ittrium/webserver/ann/bin/windows/x64
  2. Edit isapi_redirect.properties
  3. Change a00 to ann for the following three parameters
    log_file
    worker_file
    worker_mount_file
    Note: The drive and path must match jakarta/ISAPI configuration you will setup later through IIS.  If you receive an ISAPI error, check to verify that the drive and path have been entered correctly for all three parameters.
  4. Save your changes
  5. Edit uriworkermap.properties
  6. Change a00 to ann for all map configurations listed
  7. Save your changes
  8. Edit worker.properties
  9. Change a00 to ann for the following items.
    work.list
    comment for the actual work
    worker.a00.type
    worker.a00.host
    worker.a00.port
  10. Change the actual worker port from 8009 to 8nn9
  11. Save your changes.

9. Stop and Start Web Wide Publishing Services

10. Start Website

11. Open browser and test new website.

12. Execute preset scripts 1 - 4