This page describes how to configure Microsoft's IIS web server and frevvo such that IIS forwards requests on to frevvo, and responses back to the user.
frevvo is written in Java, and needs a Java Application Server (servlet container) to run. As IIS does not provide services of a Java Application Server, it is not possible to deploy frevvo directly into IIS. It is possible, however, to configure IIS to proxy requests for frevvo to an application server where frevvo is deployed. If you are not using the standalone frevvo distribution with Tomcat, please consult your application server's documentation to determine whether it is possible to integrate with IIS and how to achieve it. Also note that this is a guideline on how enable the interaction between frevvo and IIS.
On this page:
Install and Configure Live Forms
IIS configuration is a complex task. The integration steps below relating to your IIS web server should be performed by your IIS Web System Administrator.
It is very important that you first follow the basic Live Forms Installation & Configuration and verify that frevvo works by itself by pointing a browser to http://localhost:8082/frevvo/web/login.
Configure Tomcat
It is necessary to configure Tomcat to receive proxied requests from IIS.
- Stop Tomcat.
- In a text editor open FREVVO_HOME/tomcat/conf/server.xml
- Ensure that the AJP Connector is enabled by uncommenting out the section (Since version 4.1.2 uncommented is the default)
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" maxHttpHeaderSize="32768" useBodyEncodingForURI="true" tomcatAuthentication="false" /
- Start Tomcat
- Check that the configured AJP port is enabled and listening for requests. On a windows command prompt: netstat -na | findstr 8009
Download and Configure an ISAPI Filter
- Download frevvo isapi package [http://www.frevvo.com/bucket/isapi/isapi.zip here]. The archive is a pre-packaged isapi filter along with a recommended directory structure and pre-configured files. It is a starting point.
- Expand the archive. For the sake of this document we will assume the archive is expanded under your "c:\" drive. If you do that, you should have a folder c:\isapi after expanding.
- The isapi archive contains version 1.2.28 of the isapi connector for win 32. If you need to upgrade and/or IIS is running on win64, download the ISAPI Redirect DLL from the [[http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/ Apache ]] site. If you download a new isapi filter:
- When downloading, choose the version of Windows that IIS is running on (either win32 or win64), and then choose the latest available jk version.
- The file to download is named isapi_redirect_X.X.X.dll, where 'X.X.X' is the version number. You will need to remove the version number from the DLL file (i.e. it needs to be named isapi_redirect.dll).
- After downloading and renaming, update the dll in c:\isapi\bin.
- Under c:\isapi\bin you will find isapi_redirect.properties (shown below). If you expanded the filter in c:\isapi you don't have to change anything. Otherwise, just edit the paths accordingly.
# Configuration file for the Jakarta ISAPI Redirector # The path to the ISAPI Redirector Extension, relative to the website # This must be in a virtual directory with execute privileges extension_uri=/jakarta/isapi_redirect.dll # Full path to the log file for the ISAPI Redirector log_file=c:\isapi\logs\isapi_redirect.log # Log level (debug, info, warn, error or trace) log_level=info # Full path to the workers.properties file worker_file=c:\isapi\conf\workers.properties # Full path to the uriworkermap.properties file worker_mount_file=c:\isapi\conf\uriworkermap.properties
If you have modified the port for the AJP Connector you will need to modify the workers.properties file. The file c:\isap\conf\workers.properties assumes that Tomcat is running on the same machine as IIS and using the default port (8009) for AJP. Make adjustments if necessary.
worker.list=workerFrevvo worker.workerFrevvo.host=localhost worker.workerFrevvo.port=8009 worker.workerFrevvo.type=ajp13
The file c:\isap\conf\uriworkmap.properties lists the http request paths that will be forwarded to frevvo
/frevvo/*=workerFrevvo
Proceed to the IIS configuration for your specific version (IIS6 and IIS7 below).
IIS 6 Configurations
In your Windows Server:
- Open Control Panel, then Administrative Tools and open Internet Information Services.
- Add the ISAPI Filter to IIS
- Right-click on Default Web Site (or the Web Site that should be responsible for proxying requests to frevvo), and click on Properties.
- Click the ISAPI Filters tab.
- Click Add and create one. Enter jakarta as the Filter Name and enter the location of the isapi_redirect.dll file for the executable.
- Click OK, Apply and then OK.
[[Image:IIS6AddISAPIFilter.png]]
- Create a virtual directory for frevvo in IIS.
- Right-click on Default Web Site (or the Web Site that should be responsible for proxying requests to frevvo), choose New and then Virtual Directory.
- Go through the creation wizard. Set the alias to be the same as the context path configured in c:\isapi\bin\isapi_redirect.properties. If you kept the defaults in the section Download and Configure an ISAPI Filter you would enter jakarta.
[[Image:II6VirtualDirectoryCreation.png]]
- Enter the path to the directory that contains the isapi_redirect.dll
[[Image:IIS6PathToDLLFolder.png]]
- Grant the 'Execute' permission for the Virtual Directory by checking the 'Execute' checkbox.
- You will need to restart the IIS Service. To do this, browse to Control Panel, click Administrative Tools, click on Services, find the IIS Admin Service and click restart.
[[Image:IIS6Grant_ExecutionPermissionToVirtualDirectory.png]]
- Add a Web Service Extension
- Right-click on Web Service Extensions and choose Add a new Web Service Extension...
- Enter jakarta for the Extension Name and then add the isapi_redirect.dll file to the required files
- Select the Set extension status to Allowed check-box, then click OK
[[Image:IIS6AddWebService.png]]
The ISAPI filter is installed and configured. You can check the status of the filter: right click on Default Web Site and select the tab ISAPI Filters. The ISAPI filter should be listed with a green arrow pointing upwards as shown below:
[[Image:IIS6ISAPIStatus.png]]
IIS 7 Configurations
It is necessary to have the role Web Server ISAPI Extensions and ISAPI Filters configured in IIS. If this is a new installation of IIS:
- Navigate to Start Menu > Administrative Tools > Server Manager.
- Select 'Web Server (IIS)' in Server Manager > Roles.
- Click 'Add Role Services' and follow the Wizard.
- You also need to select '''Windows Authentication''' if you will be using [http://docs.frevvo.com/docs/index.php/V4_Working_with_LDAP#Single_Sign_On_with_Frevvo.2C_IIS_and_Active_Directory frevvo and LDAP SSO]
[[Image:IIS7RolesConfiguration.png]]
If this is not a new installation of IIS you can verify the installed roles:
- Navigate to Start Menu > Administrative Tools > Server Manager.
- Click on Roles and then Web Server (IIS).
- Check that the required role services are installed.
Configure the ISAPI Filter
- Navigate to Start > Administrative Tools > Internet Information Services (IIS) Manager
- Click the Default Web Site (or the Web Site that should be responsible for proxying requests to frevvo), and click on ISAPI Filters (on the right panel).
- Check if there is a Filter that points to the isapi_redirect.dll file and that it is in the right location. If not, click Add and create one. Enter '''jakarta''' as the Filter Name and enter the location of the isapi_redirect.dll file.
- Click OK.
Add a Virtual Directory
- Right-click on Default Web Site (or the Web Site that should be responsible for proxying requests to frevvo)
- Click on '''Add Virtual Directory'''
- Configure the alias to '''jakarta'''
- Set the path to c:\isapi\bin
Add a Web Service Extension
Navigate to the servers and highlight your server:
[[Image:IIS7AddCGIRestrictions.png]]
- Navigate to 'ISAPI and CGI Restrictions'.
- Add isapi_redirect.dll extension.
- In the wizard, allow the extension to execute.
Configure the HTTP Handler Mappings
- Open the IIS Manager
- Click on the Default Web Site
- Double click on "Handler Mappings" on the right.
- Select the ISAPI-dll mapping
- On the right column click on "Edit Feature Permissions"
- Check the "Execute" checkbox.
Restart IIS
- Navigate to Start Menu > Administrative Tools > Server Manager.
- In the Server Manager, click on Roles and right click Web Server (IIS).
- On the right panel, look for the section '''System Services'''.
- Restart World Wide Web Publishing Service.
If you already installed frevvo you can test the IIS configuration by pointing your browser to: http://localhost/frevvo/web/static/home
Trouble Shooting
Sometimes the IIS and ISAPI configurations may not work as described above. In a number of cases this may be related
to specific settings in your environment. Here are some things to check:
On windows 2008: Encrypt Content to Secure Data
- Right Click on the isapi forlder (c:\isapi if used the defaults)
- Select Properties.
- In the General Tab select '''Advanced'''
- In the Advanced Attributes verify that the checkbox '''Encrypt contents to secure data''' is not checked.
IIS user permissions
Check if the user running IIS has enough permissions to run the ISAPI dll.