Monday 4 February 2013

IIS 6.0 - Configuring


IIS 6.0 - Configuring the WebSphere Application Server Web server plug-in for multiple Web sites

Question

Internet Information Services 6.0 (IIS), which ships with Microsoft Windows 2003, allows multiple Web sites to be run within a single IIS server. Given this ability, can the WebSphere Application Server Web server plug-in be used with multiple IIS Web sites?

Answer

Yes. Using the plug-in with multiple IIS Web sites is supported, but requires that each Web site run its own instance of the plug-in. The following guide provides a detailed example for configuring the plug-in with two IIS Web sites.


Tab navigation



Prerequisites


*

Minimum plug-in versions: 7.0, 6.1, 6.0

*

The following guide is meant as a post-install configuration. The initial plug-in installation wizard must be completed prior to performing these steps.

Creating the directory structure
In the following example, the initial plug-in has been installed to:
C:\IBM\WebSphere\Plugins

  1. From Windows Explorer, navigate to the plug-in install root and expand the bin, config and logs subdirectories as shown below:



  2. Under each of the expanded directories (bin, config, logs), create a copy of the current Web site-specific subdirectory as shown below:



  3. In this example, the original (webserver1) directories will be used for the first Web site and the directory copies for the second Web site. While the directory copies can be given any name without spaces, in this example, we rename the copies as webserver2.

Updating plug-in configuration files


  1. Under the ..bin\IIS_webserver2 directory, open the plugin-cfg.loc file in a text editor. Currently this points to the plugin-cfg.xml under config\webserver1

    C:​\​IBM​\​WebSphere​\​Plugins​\​config​\​webserver1​\​plugin​-​cfg.xml​​

    - Change this so it points to config\webserver2

    C:​\​IBM​\​WebSphere​\​Plugins​\​config​\​webserver2​\​plugin​-​cfg.xml​​

    - Save & Close.

  2. Under the ..config\webserver2 directory, open the plugin-cfg.xml in a text editor. Currently, the "Name" parameter of the <Log> tag points to logs\webserver1:

    <Log LogLevel="Error" Name​=​"C:​\​IBM​\​WebSphere​\​Plugins​\​logs​\​webserver1​\​http​_​plugin.log"​/​>​​

    - Change this so it points to logs\webserver2

    <Log LogLevel="Error" Name​=​"C:​\​IBM​\​WebSphere​\​Plugins​\​logs​\​webserver2​\​http​_​plugin.log"​/​>​​

    - Save & Close.
Updating the IIS configuration This section includes settings which may already have been configured by the initial plug-in install. This section also assumes that the two IIS Web sites intended for use with the plug-in have already been created.
  1. Launch the IIS Administrative Console.

  2. From the console tree, expand the Server node , right-click the "Web Sites" node and choose Properties.

    1. Select the "Service" tab and ensure that Isolation mode is disabled by unchecking "Run WWW service in IIS 5.0 isolation mode" if it is currently checked:


    2. Click Apply.

    3. Select the "ISAPI Filters" tab and remove any filters which point to the plug-in library (iisWASPlugin_http.dll). Example:



    4. Click Apply / OK.
  3. From the console tree, right-click the "Application Pools" node and choose New > Application Pool.

    1. Enter a name for the App pool ID relevant for the first Web site (eg. webserver1AppPool) and click OK.

    2. Repeat this step, creating a second Application Pool with a name relevant for the second Web site (eg. webserver2AppPool).

      Example:

  4. From the console tree, expand the "Web Sites" node, right-click the first Web site intended for the plug-in and choose Properties.

    1. Select the "ISAPI Filters" tab and click the "Add" button.

    2. For the "Filter name" value, enter iisWASPlugin.

    3. For the "Executable" value, browse and select the iisWASPlugin_http.dll that will be used for the first Web site:



    4. Click OK / Apply.

    5. Select the "Home Directory" tab and change the "Application pool" field to point to the Application Pool that was created for the first Web site:



    6. Click OK.

    7. Repeat this entire step for the second Web site making sure to choose the relevant iisWASPlugin_http.dll and Application Pool:




  5. From the console tree, right-click the first Web site and choose New > Virtual Directory, then click Next.

    1. For the "Alias" value, enter sePlugins.



    2. Click Next. For the "Path" value, browse and select the directory containing the iisWASPlugin_http.dll for the first Web site:



    3. Click Next. Put a check mark next to "Execute (such as ISAPI applications or CGI)":



    4. Click Finish.

    5. Repeat this entire step for the second Web site making sure to choose the relevant iisWASPlugin_http.dll directory:

  6. From the console tree, right-click the "Web Service Extensions" node and choose "Add a new Web service extension".

    1. For the "Extension name" value, enter WASPlugin.

    2. For the "Required files" value, click Add, then browse and select the iisWASPlugin_http.dll that will be used for the first Web site. Click OK.

    3. Click Add again, then browse and select the iisWASPlugin_http.dll that will be used for the second Web site. Click OK.

    4. Put a check mark next to "Set extension status to Allowed".

      Example:



    5. Click OK.
  7. Close the IIS Administrative Console and restart the following services:

    "IIS Admin Service"
    "World Wide Web Publishing Service"
Pre-Deployment
Because each IIS Web site uses its own independent plug-in configuration, most WebSphere Application Server deployments will require a unique "Web server definition" for each Web site. This enables the Application Server to generate separate plugin-cfg.xml files, thereby allowing each Web site to have its own independent set of application mappings. For detailed information on configuring Web server definitions, refer to the following IBM Information Centers:

WebSphere Application Server 7.0
WebSphere Application Server 6.0


Question

What steps are required to load the WebSphere Application Server 6.0 plug-in for Microsoft IIS 6.0 for use with Lotus Domino? You follow the steps in the Domino Administrator 7 help, but the configuration does not work as expected. The plug-in will not load.

Answer

This issue has been reported as a documentation error in SPR# AMIA6KPJBN. The steps as written apply to the WebSphere 4.0/5.0 plug-ins.
Use the steps below to set up Domino to work with Microsoft IIS 6.0 with the WebSphere 6.0 plug-ins. These steps are taken from the WebSphere Application Server 6 InfoCenter and modified to reflect Domino-specific information. Use these steps in place of Steps 3-15 in the Domino Administrator 7 help topic "To install the WebSphere plug-in on an IIS server." Note that you no longer create a registry key as in Step 14.
A. Complete Steps 1 & 2 as found in the Domino Administrator 7 help to copy the files from Domino to the IIS machine.
B. Start the IIS application, and create a new virtual directory for the Web site instance that you intend to work with WebSphere Application Server. These instructions assume that you are using the Default Web Site.
  1. Click Programs > Administrative Tools > Internet Information Services (IIS) Manager on a Windows Server 2003 Standard Edition system, for example.
  2. Expand the tree on the left until you see Default Web Site. Right-click Default Web Site > New > Virtual Directory to create the directory with a default installation.
  3. Type sePlugins in the Alias field in the Virtual Directory Alias panel of the Virtual Directory Creation Wizard, then click Next.
  4. Browse to the location of the plugins directory under the Domino Web server, or the WebSphere\bin folder you created.
  5. Select the appropriate permission check boxes in the Virtual Directory Access Permissions panel of the wizard. Select the Read check box and the Execute (such as ISAPI applications or CGI) check box, for example.
  6. Click Next to add the sePlugins virtual directory to your default Web site.
  7. Click Finish when the success message displays.
  8. Create a text file named plugin-cfg.loc in the same directory as the plugins. The first line of the plugin-cfg.loc file identifies the location of the plugin-cfg.xml file.
  9. Right-click the Web Sites folder in the left pane navigation tree of the IIS Manager panel, and click Properties.
  10. Add the Internet Services Application Programming Interface (ISAPI) filter into the IIS configuration.
  11. Set the value in the plugin-cfg.loc file to the location of the configuration file, for example,
    C:\WebSphere\config\plugin-cfg.xml.
    Note that the last line of the .loc file should be a blank line (carriage return).
  12. Configure the Web server to run WebSphere Application Server extensions:
    1. Expand the left pane navigation tree until you see the Web Service Extensions folder in the IIS Manager panel.
    2. Click Web Service Extensions to display information about what Web service extensions are allowed.
    3. Click All Unknown ISAPI Extensions on the right side of the panel.
    4. Click Allow in the middle pane. The status field for the All Unknown ISAPI Extensions changes to Allowed.
    NOTE: If you are concerned with allowing all unknown ISAPI extensions because you have other ISAPI extensions on this server, follow the steps in Technote 1168244 to add a new Web service extension for Domino.

C. To complete the setup, continue with the steps in the following topics in the Domino Administrator Help:


Additional information

After following these instructions, you might notice the following error displaying recorded in the native.log file:
    "ERROR: ws_common: GetIISErrorLocation: Failed to open registry: SOFTWARE\IBM\Web server Plug-ins for IBM WebSphere Application Server\6.0.0.0"

The error will reflect 6.1.0.0 if you are using the WebSphere Application Server 6.1 plug-in.

This error message does not cause any loss of functionality. To prevent it from occurring in the native.log file, create the registry key listed in the error message and restart the IIS service.