Sunday 8 September 2013

Configuring IIS 7.0 and Cognos 8


This is a 6 step process:

1. Check CGI or ISAPI is enabled in IIS
2. Create the Cognos 8 virtual directories
3. Edit ISAPI or CGI Extensions
4. Add module mapping
5. Edit Module mapping
6. Allow CGI application to use execute
1. Check CGI or ISAPI is enabled in IIS

Go to Start > Administrative Tools>Server Manager

On the right hand side next to ‘roles’ click ‘add role services’
Underneath Application Development’ ensure CGI and ‘ISAPI Extensions’ are listed as ‘Installed’. If not then check them and click ‘Install’
 
2. Create the Cognos 8 virtual directories

In the left Connections pane, expand the server node, expand Sites, right-click on Default Website, and click Add Virtual Directory

Enter "c84" for the Alias and enter the path to the c8\webcontent directory in the Physical Path (default C:\Program Files\cognos\c8\webcontent). Click OK.

  Right click on the newly-created cognos8 Virtual Directory and click Add Virtual Directory
Enter "cgi-bin" for the Alias and enter the path to the c8/cgi-bin directory in Physical Path (default C:\Program Files\cognos\c8\cgi-bin). Click OK.
 
3. Edit ISAPI or CGI Extensions
In the left Connections pane, select the server node, then double-click ISAPI and CGI Restrictions in the right pane.
 
In the Actions pane click Add, enter the path to either cognosisapi.dll or cognos.cgi depending on which you will use (default C:\Program Files\cognos\c8\cgi-bin\cognosisapi.dll or C:\Program Files\cognos\c8\cgi-bin\cogno.cgi), check the "Allow extension path to execute" box, then click OK.

(you may need to surround the path in double quotes if it contains any spaces)

Or
Click ‘edit feature settings’ on right-hand side and ‘Allow unspecified CGI Modules’

4. Add Module Mapping

Within IIS expand the virtual directory and click on the cgi-bin virtual directory, Double click Handler Mapping within the main pane.

Within the actions pane click Add Module Mapping.

Enter either *.cgi or *.dll in the Request Path depending on which one it is you require. Within the Module Path choose either CGIModule or ISAPIModule. In the name section give it a realistic name i.e. ISAPI-cognos

If you are using ISAPI Module you will need to click the ellipsis next to the Executable section within here navigate to cognosisapi.dll

Click Request Restrictions

N.b. if you are using a CGI Module you do not need to select anything in the executable section

Under the Mapping tab Select Invoke handler only if request is mapped to: File

Under the verbs tab ensure All verbs is Selected

Under the Access Tab, Select Execute

Depending on the method used in section 3 a message may appear select Yes

Your new module mapping should be added to the Module Mapping List

5. Edit Module Mapping

In order for Cognos Administration to function properly, the directive added to the IIS configuration file in previous step has to be edited manually.  This will have been written to
C:\Windows\System32\inetsrv\config\applicationhost.config. Open up using Wordpad Check those files for the following entry:

It’s in the web.xml directory in in the cognos cgi-bin

For CGI it will originally look like:

<add name="CGI-cognos" path="*.cgi" verb="*" modules="CgiModule" resourceType="Unspecified"  />

Add allowPathInfo="true" at the end of the statement so it looks like:

<add name="CGI-cognos" path="*.cgi" verb="*" modules="CgiModule" resourceType="Unspecified" allowPathInfo="true" />

For ISAPI it will originally look like:

<add name="ISAPI-Cognos" path="cognosisapi.dll" verb="*" modules="IsapiModule" scriptProcessor="E:\Program Files\Cognos\C84_64\cgi-bin\cognosisapi.dll" resourceType="Unspecified" requireAccess="Execute" preCondition="bitness32" />

Add allowPathInfo=”true” at the end of the statement so it looks like

<add name="ISAPI-Cognos" path="cognosisapi.dll" verb="*" modules="IsapiModule" scriptProcessor="E:\Program Files\Cognos\C84_64\cgi-bin\cognosisapi.dll" resourceType="Unspecified" requireAccess="Execute" preCondition="bitness32" allowPathInfo="true"/>

n.b. you may need to ensure that you have access permissions on the folder to enable you to save to this file

6. Allowing CGI application to use execute

Select cgi-bin virtual directory within IIS, Select Handler Mappings and click Edit Feature Permissions.
 
Select OK and Click OK



1 comment: