[Windows]

Configuring Microsoft Internet Information Services (IIS)

You can manually configure Microsoft Internet Information Services (IIS). Alternatively, IBM WebSphere Application Server provides the WebSphere Customization toolbox that includes the Plug-ins Configuration Tool that you can use to automatically configure IIS.

Tip: Automatically configuring IIS is recommended using details in Configuring a web server plug-in using the pct tool.

Before you begin

The Web Server Plug-ins Configuration Tool (PCT) configures the web server. This topic describes how to configure the Internet Information Services (IIS) Web Server manually. Other procedures in Editing web server configuration files describe configuring other supported web servers.

You must have read/write access to the plugins_root directory to perform this task.

About this task

Use the following procedure to manually reproduce how the Web Server Plug-ins Configuration Tool configures the Microsoft Internet Information Services Web Server.

Procedure

Configure Microsoft Internet Information Services Web Server.
The procedure describes the required configuration settings to run IBM WebSphere Application Server web server plug-ins with Internet Information Services (IIS). When following these instructions, please pay careful attention to word casing.
  1. Review IBM WebSphere Application Server Detailed requirements to ensure compatibility between IIS and IBM WebSphere Application Server web server plug-ins.
  2. Verify non-default roles for the plug-in.
    IBM WebSphere Application Server web server plug-in requires non-default roles to be installed when used with IIS. Verify the following roles are installed in addition to the default roles that are already selected.
    Table 1. Webserver IIS roles
    Default roles selected  
    Web Server
    • Application Development
      • ISAPI Extensions
      • ISAPI Filters
    Management Tools
    • IIS Management Console
    • IIS Version 6.0 Management Compatibility
      • IIS Metabase compatibility
      • IIS Version 6.0 Management Console
      • IIS Version 6.0 Scripting Tools
      • IIS Version 6.0 WMI Compatibility
    • IIS Management Scripts and Tools
    Figure 1. Webserver IIS roles
    Roles checked for Webserver IIS
  3. Install IBM WebSphere HTTP Web Server plug-in on the machine where IIS is installed.
  4. Create new directories named IIS_webserver1 in directories.
    1. plugins_root\bin
    2. plugins_root\config
    3. plugins_root\logs
    Note: The new directory paths illustrated do not have to be named as shown in this step.
    • cd “\Program Files\IBM\WebSphere\plugins\bin\”
    • mkdir IIS_webserver1
    • cd “\Program Files\IBM\WebSphere\plugins\config\”
    • mkdir IIS_webserver1
    • cd “\Program Files\IBM\WebSphere\plugins\logs\”
    • mkdir IIS_webserver1
    Note: If this web server is managed by IBM WebSphere Deployment Manager, the directory names must match the web server plug-in properties in the definition.
    Figure 2. Webserver IIS administrative console
    IIS admin console
    Important: Do not skip this step and attempt to use existing directories. Files will be overwritten if they are not copied to new directories.
  5. Manually copy the plug-in binaries to the new directory created in the step 4a, plugins_root\bin\IIS_webserver1
    copy “c:\Program Files\IBM\WebSphere\Plugins\bin\64bits\iisWASPlugin_http.dll”
                   “c: \Program Files\IBM\WebSphere\plugins\bin\IIS_webserver1\”
    Note: If you are running a 32-bit version of IIS, copy iisWASPlugin_http.dll from the 32 bits directory instead of the 64 bits directory. See the Note in Step 9.
  6. Create a file named plugin-cfg.loc in the new directory created in step 4a. plugins_root\bin\IIS_webserver1. The plugin-cfg.loc file provides the plugin module the location of the configuration file, plugin-cfg.xml. Edit the plugin-cfg.loc file and enter the directory created in step 4b, plugins_root\config\IIS_webserver1 and the plugin's configuration filename.

    plugin-cfg.loc sample contents:

    C:\Program Files\IBM\WebSphere\Plugins\config\IIS_webserver1\plugin-cfg.xml
  7. If secure transports are defined for communication between plug-in and the application server, copy the plugin keyfile to the directory created in step 4b, plugins_root\config\IIS_webserver1
    Note: The plug-in key file should be created using company specific security settings to ensure secure communication.
  8. Use Internet Information Services (IIS) Manager to complete the following steps:
    1. Navigate to the Default Web and select to add a virtual directory. Enter sePlugins as the alias (note the casing) and enter the directory created in step 4 as the physical directory.
      Alias:
      sePlugins
      Physical Path:
      c:\Program Files\WebSphere\Plugins\bin\IIS_webserver1
      
    2. In the navigation tree, select the sePlugins virtual directory that you just created. In the Handler Mappings action, verify read, script, and execute permissions are enabled within Edit Feature Permissions.
    3. Add a filter in the ISAPI Filters of the Default Web Site. Enter iisWASPlugin as the filter name. Select the copied file from step 5 as the executable.
      Filter name:
      iisWASPlugin
      Executable:
      
      c:\Program Files\WebSphere\plugins\bin\IIS_webserver1\iisWASPlugin_http.dll
      
      Note: If there is more than one ISAPI filter defined, you must have the plugin’s filter set to the top so it has the 1st opportunity to handle the request.
      Figure 3. ISAPI filters - default Web Site
      ISAPI filters
    4. In the navigation tree, select the top-level server node.
    5. Grant the plugin executable execute permission by adding a restrict webserver connection.
      1. Enter the fully qualified iisWASPlugin_http.dll from step 5.
      2. Enter WASPlugin as the Description (note the casing).
      3. Select Allow extension path to execute.
        Figure 4. ISAPI and CGI extensions
        ISAPI and CGI restrictions
  9. Restart IIS and your WebSphere Application Server profile.
    Note: The WebSphere Application Server fixpack installations (after V8.5.5.18) will remove the iisWASPlugin_http.dll copied in step 5 and create a symbolic link to the original file. This minimizes disk usage and ensures that the plugin module is updated to the expected level.
    If you prefer, you can do the same thing instead of copying the physical file into the plugin-root\bin\IIS_webserver1 folder. Example:
    mklink   “c:\Program Files\WebSphere\plugins\bin\IIS_webserver1\iisWASPlugin_http.dll” 
                     “c:\Program Files\WebSphere\plugins\bin\64bits\iisWASPlugin_http.dll”
    
  10. Optional: Configure multiple websites
    Given:
    • There are two websites defined: website1 and website2.
    • The DLL files are already created as:
      • bin/IIS_website1/iisWASPlugin_http.dll
      • bin/IIS_website2/iisWASPlugin_http.dll
    • The plugin-cfg.loc files are created in the same folders as the DLL files. Each plugin-cfg.loc file points to a unique plugin-cfg.xml file.
    • Run IIS in worker process isolation mode (default).
    To enable worker process in isolation mode:
    1. Open the IIS Manager console and expand the local computer by clicking the plus sign.
    2. Expand the Web Sites folder, then control-click the Default Web Sites folder.
    3. Click Properties, then click the Service tab.
    4. Under Isolation mode, clear the Run web service in IIS isolation mode check box to enable worker process isolation mode.
      • Define two application pools; one for website1 and the other for website2.
        Note: Do not use the predefined application pool DefaultAppPool.
      • Define the two websites, including the filter setting, virtual host setting, and extension settings.
      • Assign an application pool for each website.
    5. Under each website folder, right click on the website name.
    6. Select Properties and select the Home Directory tab 2.
    7. In the application settings, select the application pool you defined for website 1 from the drop down list of application pools.
    8. Click OK.
    9. Repeat the previous steps for the second website and select the application pool you defined for website 2.
      • Start the IIS service and start each website.

Results

This procedure results in re-configuring the Internet Information Services (IIS) Web Server.

[Windows]Note: On some editions of the Windows operating system, the http_plugin.log file is not created automatically when the plug-in is installed and the IIS Web Server is started. If the http_plugin.log file is not created after performing the previously described procedure, take the following steps:
  1. Open a Windows Explorer window.
  2. Browse to the plugins_root\logs\web_server_name directory.
  3. Share the folder and give full-control permission to everyone.

What to do next

You can now install applications on the configured Web server. See the Applications section of the documentation for more information.

Tip: To unconfigure a web server, reverse the manual steps and remove what was manually added in this procedure.