You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 3 Next »

Configuring Tomcat and IIS is documented at [http://jakarta.apache.org/tomcat/connectors-doc/howto/iis.html the IIS Howto page] . The instructions there work fine but there is a [http://www.apache.org/dist/jakarta/tomcat-connectors/jk/binaries/win32/jk-1.2.10/isapi_redirect-1.2.10.exe setup program] which allows you to skip steps 1 through 6 in the "Configuring the ISAPI Redirector" section of this page. Also, steps 7 and 8 can be done using a VBScript file like this:

'Taken from http://msdn.microsoft.com/library/en-us/iissdk/html/8fcd5343-07cb-49e9-a206-0c65a988dcca.asp?frame=true and
' http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iissdk/html/425ff52d-9998-44a9-95dd-b46b2e390db8.asp
' or Google the Microsoft web site for "Creating Sites and Virtual Directories Using ADSI" and "Enabling ISAPI Filters Using ADSI"
' with http://www.google.com/search?q=%22Creating+Sites+and+Virtual+Directories+Using+ADSI%22+site%3Amsdn.microsoft.com 
' and http://www.google.com/search?q=%22Enabling+ISAPI+Filters+Using+ADSI%22+site%3Amsdn.microsoft.com

Option Explicit
Dim IIsPath
Dim ConnectorPath
Dim IIsWebVDirRootObj
Dim IIsWebVDirObj

Dim FiltersObj 
Dim FilterObj 
Dim LoadOrder 
Dim Name 'of the filter and the virtual directory
Dim DLLName

'Double-check this path
ConnectorPath = "C:\Program Files\Apache Software Foundation\Jakarta Isapi Redirector\bin\"
 
'Configure the first (default) web site on a machine. Change to "2" for the second web site, etc.
IIsPath = "IIS://LocalHost/W3SVC/1/"

'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
'SHOULDN'T NEED TO CHANGE ANYTHING BELOW THIS LINE
'=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Name = "jakarta"
DLLName = "isapi_redirect.dll"

'Create an instance of the virtual directory object  
Set IIsWebVDirRootObj = GetObject(IIsPath & "Root") 

'Use the Windows ADSI container object "Create" method to create  
' a new virtual directory. 
Set IIsWebVDirObj = IIsWebVDirRootObj.Create("IIsWebVirtualDir", Name) 

'Set some required properties.
IIsWebVDirObj.Put "Path", ConnectorPath
IIsWebVDirObj.Put "AccessRead", True
IIsWebVDirObj.Put "AccessScript", True

'Save the data to the metabase.
IIsWebVDirObj.SetInfo

'Configure the filter order (add it at the bottom of the list)
Set FiltersObj = GetObject(IIsPath & "Filters")
LoadOrder = FiltersObj.FilterLoadOrder
If LoadOrder <> "" Then
  LoadOrder = LoadOrder & ","
End If
LoadOrder = LoadOrder & Name 
FiltersObj.FilterLoadOrder = LoadOrder 
FiltersObj.SetInfo 

'Actually create the filter
'ToDo: set priority. This might be possible with the FilterFlags property, but the IIS doc says:
' "Because this property is internally configured by IIS, you should consider it to be read-only. Do not configure this property."
Set FilterObj = FiltersObj.Create("IIsFilter", Name) 
FilterObj.FilterPath = ConnectorPath & DLLName 
FilterObj.SetInfo

Save this script to a file with a VBS extension. Open it in Notepad and verify that the ConnectorPath variable is correct for your connector installation. Then open a command prompt and run it with the cscript interpreter: cscript filename.vbs . Restart IIS, and test the connector as mentioned in the Howto (go to http://localhost/servlets-examples/ ).

Corrections on the above script and suggestions on how to get it into the Setup program are welcome.

You still need to do the other steps on the [http://jakarta.apache.org/tomcat/connectors-doc/howto/iis.html IIS Howto page], such as adding your contexts, etc.

  • No labels