Configure multiple Web servers and remote stand-alone application servers

 

+

Search Tips   |   Advanced Search

 

This topic describes installing a Web server plug-in that WAS provides to communicate with a particular brand of Web server. This procedure describes installing multiple Web servers and their Web server plug-ins for WAS on one machine and multiple application servers on another.

 

Before you begin

If the WAS product family supports a particular brand of Web server, such as IBM HTTP Server or Microsoft Internet Information Services (IIS), then your WAS product provides a binary plug-in for the Web server that install.

If the WAS product family does not provide a binary plug-in for a particular brand of Web server, then the Web server is not supported. The purpose of the binary plug-in is to provide the communication protocol between the Web server and the application server.

Suppose that you create a new profile. Suppose also that you want to use a Web server. You must install a new Web server for the new profile and use the Plug-ins installation wizard to install the binary plug-in module and to configure both the Web server and the application server.

If the Web server is not already installed, one can still install the plug-ins for future use. If the WAS product is not installed, one can still install the plug-ins. However, it is recommended that you install the Web server and the WAS product before installing the plug-ins for the supported Web server.

 

Overview

The Plug-ins installation wizard installs the plug-in module, configures the Web server for communicating with the application server, and creates a Web server configuration definition in the application server, if possible.

This topic describes how to create the following topology:

Perform the following procedure to install the plug-ins and configure both Web servers and both application servers.

This topology lets each profile have unique applications, configuration settings, data, and log files, while sharing the same set of system files. Creating multiple profiles creates multiple application server environments that one can then dedicate to different purposes.

For example, each application server on a Web site can serve a different application. In another example, each application server can be a separate test environment that you assign to a programmer or a development team.

 

Application Server Nodes

If you are planning to add the application server node into a deployment manager cell but have not done so yet, start the deployment manager and federate the node before installing the plug-in. We cannot add an application server with a Web server definition into the deployment manager cell.

The following topology is considered a remote topology because the Web server is on a separate machine. The diagram shows a typical remote topology for a distributed environment:

Remote scenario for a stand-alone Application Server

A deployment manager by itself is also considered a remote scenario if the deployment manager has no managed nodes. Although multiple application servers are not shown in the preceding diagram, Machine B could have more than one application server profile.

 

Procedure

  1. Log on as root on a Linux or UNIX operating system, or as a member of the administrator group on a Windows system.

    In addition, verify that the umask setting is 022. To verify the umask setting, issue the following command

    umask
    
    To set the umask setting to 022, issue the following command

    umask 022
    
    Some steps of the installation on a Windows platform require the administrator group user to have the following advanced user rights:

    • Act as part of the operating system

    • Log on as a service

    For example, on some Windows systems, click Administrative Tools > Local Security Policy > User Rights Assignments to see the advanced options. See your Windows documentation for more information.

    The installation wizard grants your Windows user ID the advanced user rights, if the user ID belongs to the administrator group. The silent installation does not grant these rights. If you create a new user ID on a Windows platform to perform a silent installation, restart the system to activate the proper authorizations for the user ID before you can perform a successful silent installation.

    When installing the WAS as a Windows service, do not use a user ID that contains spaces. A user ID with spaces cannot be validated. Such a user ID is not allowed to continue the installation. To work around this problem, install with a user ID that does not contain spaces, or do not choose to install Windows services.

  2. Install WAS Network Deployment on Machine A.

    See Installing the product and additional software.

  3. Create the first application server profile using the Profile creation wizard on Machine A.

  4. Install the IBM HTTP Server or another supported Web server on Machine B.

    See Installing IBM HTTP Server or refer to the product documentation for your Web server for more information.

  5. Launch the Plug-ins installation wizard on the machine with the Web server.

    Select the Plug-ins installation wizard from the launchpad or change directories to the plugin directory on the product disc or in the downloaded installation image and issue the install command.

  6. Clear the check box for the roadmap or select the check box to view the roadmap, then click Next.

    If you are unsure of which installation scenario to follow, display the roadmap instead. Print and keep the roadmap as a handy overview of the installation steps.

    Press Ctrl-P to print the roadmap if the Web browser navigation controls and the menu bar are not present on the browser window that displays the Plug-ins roadmap. Press Ctrl-W to close the browser window if the navigation controls and the menu bar do not display. Or close the browser window with the window control in the title bar.

  7. Read the license agreement and accept the agreement it if you agree to its terms. Click Next when you are finished.

  8. If your system does not pass the prerequisites check, stop the installation, correct any problems, and restart the installation. If your system passes the prerequisites check, click Next.

    Look for the appropriate log file for information about missing prerequisites:

    • If you stop the installation, see the temporaryPluginInstallLog.txt file in the temporary directory of the user who installed the plug-ins. For example, the /tmp/temporaryPluginInstallLog.txt file might exist if the root user installed the plug-ins on a Linux or UNIX system.

    • If you continue the installation in spite of warnings about missing prerequisites, see the plugins_install_root/logs/install/log.txt file after the installation is complete.

    See Troubleshooting installation for more information about log files.

  9. Select the type of Web server that you are configuring and click Next.

    The Plug-ins installation wizard panel prompts you to identify the Web servers to configure. Actually one can select only one Web server each time you run the Plug-ins installation wizard.

    Stop any Web server while you are configuring it. A step later in the procedure directs you to start the Web server as you begin the snoop servlet test.

    If you select the Web server identification option labeled None, the Web server installs the binary plug-ins but does not configure the Web server. A known problem in the wizard panel causes the English word None to appear in translated versions of the wizard. However, the selectable option is functional in every locale in spite of the missing translation.

  10. Select Web server machine (remote) and click Next.

  11. Accept the default location for the installation root directory for the plug-ins. Click Next.

    We can type another new directory or click Browse to select an empty directory. The fully qualified path identifies the plug-ins installation root directory.

    The default location is:

    • /usr/IBM/WebSphere/Plugins
    • /opt/IBM/WebSphere/Plugins
    • C:\Program Files\IBM\WebSphere\Plugins

    A possibility exists that the Web server might run on a platform that WAS does not support.

  12. Click Browse to select the configuration file for your Web server, verify that the Web server port is correct, and then click Next when you are finished.

    Select the file and not just the directory of the file. Some Web servers have two configuration files and require you to browse for each file.

    The following list shows configuration files for supported Web servers:

    Apache HTTP Server

    apache_install_root/config/httpd.conf

    Domino Web Server

    names.nsf and Notes.jar

    The wizard prompts for the notes.jar file. The actual name is Notes.jar.

    The Plug-ins installation wizard verifies that the files exist but the wizard does not validate either file.

    IBM HTTP Server

    ihs_install_root/conf/httpd.conf

    Microsoft Internet Information Services (IIS)

    The Plug-ins installation wizard can determine the correct files to edit.

    Sun ONE Web Server 6.0 or Sun Java System Web Server, V6.1

    obj.conf and magnus.conf

    The wizard displays a naming panel for the nickname of the Web server definition.

  13. Specify a nickname for the Web server. Click Next when you are finished.

    The wizard uses the value to name configuration folders in the plug-ins installation root directory. The wizard also uses the name in the configuration script for the application server to name the Web server definition.

    If the application server profile already has a Web server definition, delete the Web server definition before continuing. Use the following commands to delete the Web server definition

    $AdminTask deleteServer { -serverNamewebserver1 -nodeName webserver1_node }
    $AdminTask removeUnmanagedNode { -nodeName webserver1_node } 
    $AdminConfig save
    
    

  14. Accept the default location for the plugin-cfg.xml file that the wizard creates on the Web server machine, then click Next.

    We can type a change to the value or click Browse to select a file in another location. If you do accept the default location, the plugin-cfg.xml file must exist.

  15. Identify the host name or IP address of Machine A, which is the application server machine, then click Next.

  16. Examine the summary panel. Click Next when you are finished.

    The panel notifies you that you have manual steps to perform to complete the installation and configuration. The type of Web server, the nickname of the Web server, and the location of the plugin-cfg.xml file displays on the panel.

    The Plug-ins installation wizard creates the configurewebserver script in the plug-ins_$WAS_INSTALL/bin/ directory on Machine B.

    The Plug-ins installation wizard also creates the plugin-cfg.xml file in the plug-ins_$WAS_INSTALL/config/webserver directory.

    The Web server reads the plugin-cfg.xml file to determine the applications that the application server on Machine A can serve to the Web server on Machine B. Whenever the configuration changes, the application server regenerates the file. When regeneration occurs, propagate, or copy the actual plugin-cfg.xml file from the application server machine to the Web server machine. We can automatically propagate the file to the IBM HTTP Server product.

  17. Click Next on the pre-installation summary panel to begin the installation or click Back to change any characteristics of the installation.

    The panel specifies the plug-ins installation root directory, the Web server plug-ins feature, and the disk size of the code that installs when you click Next.

  18. After the wizard installs the code and creates the uninstaller program, examine the post-installation summary panel. Click Next when you are finished to display the Plug-ins installation roadmap.

    The Plug-ins installation wizard installs the binary plug-in module. On a Linux system, for example, the installation creates...

    /opt/IBM/WebSphere/Plugins

    The plugin-cfg.xml file is located at...

    /opt/IBM/WebSphere/Plugins/config/webserver/plugin-cfg.xml

    The wizard displays the name and location of the configuration script and the plugin-cfg.xml file. The wizard also displays the type of Web server that is configured and the nickname of the Web server.

    If a problem occurs and the installation is unsuccessful, examine the logs in the plug-ins_install_root/logs directory.

    Correct any problems and reinstall.

  19. Close the road map and click Finish to exit the wizard.

    Log files from the installation are in...

    plug-ins_install_root/logs/install

  20. Copy the configurewebserver.sh script on Linux and UNIX systems or the configurewebserver.bat script on Windows systems from Machine B to the was_install_root/bin directory on Machine A.

    For example, on a Linux system with an IBM HTTP Server named webserver1 in the default location, copy...

    /opt/IBM/WebServer/Plugins/bin/configurewebserver1.sh

    ...from Machine B to...

    /opt/IBM/WebSphere/AppServer/bin

    ...on Machine A.

    If one platform is a Linux or UNIX system and the other is a Windows platform, copy the script from the crossPlatformScripts directory. For example:

    • plug-ins_install_root/bin/configurewebserver.sh

    • plug-ins_install_root/bin/crossPlatformScripts/configurewebserver.bat

  21. Compensate for file encoding differences to prevent script failure.

    The content of the configurewebserver.bat script or the configurewebserver.sh script can be corrupt if the default file encoding of the two machines differs. This scenario is possible when one machine is set up for a DBCS locale and the other machine is not.

    Determine the file encoding and use one of the following procedures to circumvent the failure. To determine the default file encoding, run the appropriate command:

    • Run the following command on a Windows machine

      CHCP
      

    • Run the following command on a Linux or UNIX machine

      locale
      

    Use the result of the command on each machine as the value of the web_server_machine_encoding variable and the application_server_machine_encoding variable in one of the following procedures.

    Procedures for compensating for encoding differences

    Suppose that the Web server is running on a Linux machine and Network Deployment is running on a Windows machine.

    Web server running on a Linux or UNIX system

    Run the following command on the Linux or UNIX system to encode the script file that configures the Web server definition, before you FTP the file to the Windows machine in binary mode

    iconv -f web_server_machine_encoding \
       -t application_server_machine_encoding \
       configurewebserver.bat 
    
    Omit the Linux and UNIX continuation characters (\) if you enter the command on one line.

    Important: The name of the Web server (nick name) is used in the name of the script file. The name cannot contain characters from a double-byte character set (DBCS) if you intend to set up IBM HTTP Server for automatic propagation.

    Suppose that the Web server is running on a Windows machine and Network Deployment is running on a Linux or UNIX machine.

    Web server running on a Windows machine

    Run the following command on the Linux or UNIX system to encode the script file that configures the Web server definition, after you FTP the file in binary mode

    iconv -f web_server_machine_encoding \
       -t application_server_machine_encoding \
       configurewebserver.sh 
    
    Omit the Linux and UNIX continuation characters (\) if you enter the command on one line.

    If the conversion mapping is not supported by the iconv command on your system, copy the contents of the Web server configuration script to a clip board and paste it onto the machine where the application server is running.

  22. Start the application server on Machine A.

    Use the startServer command, for example:

    • profiles_install_root/profile/bin/startServer.sh server1

    • profiles_install_root\profile\bin\startServer server1

  23. Run the script on Machine A to create the Web server definition in the configuration for the application server.

    Open a command window to run the script that you copied to Machine A.

    As soon as the Web server definition is created, the application server creates a plugin-cfg.xml file for the Web server. For example, the file on a Linux system might have this file path:

    /opt/IBM/WebSphere/AppServer/profiles/default/config/cells/cell/nodes/node/servers/server/plugin-cfg.xml

  24. From the administrative console of the deployment manager, click...

    System administration | Save Changes to Master Repository | Synchronize changes with Nodes | Save

  25. Domino Web Server only: Set the WAS_PLUGIN_CONFIG_FILE environment variable.

    To configure Domino, set the WAS_PLUGIN_CONFIG_FILE environment variable. On Linux and UNIX-based platforms, sourcing a script to the parent shell allows child processes to inherit the exported variables. On Windows systems, run the script as you would run any other command. Sourcing is automatic on Windows systems.

    1. Source the setup script using one of following...

      • . plug-ins_install_root/bin/setupPluginCfg.sh

      • source plug-ins_install_root/bin/setupPluginCfg.sh

    The script is also in the lotus_install_root/notesdata directory on Linux and UNIX systems.

    Issue the appropriate command for the script before starting the Domino Web Server.

  26. Start the Snoop servlet to verify the ability of the Web server to retrieve an application from the Application Server.

    Test your environment by starting your Application Server, your Web server, and using the snoop servlet with an IP address.

    1. Start the Application Server. In a Network Deployment environment, the Snoop servlet is available in the cell only if you included the DefaultApplication when adding the Application Server to the cell. The -includeapps option for the addNode command migrates the DefaultApplication to the cell. If the application is not present, skip this step.

      Change directories to the install_root/profiles/profile/bin directory and run the startServer command:

      • ./startServer.sh server1

      • startServer server1

    2. Start the IBM HTTP Server or the Web server that you are using.

      Use a command window to change the directory to the IBM HTTP Server installed image, or to the installed image of your Web server. Issue the appropriate command to start the Web server, such as these commands for IBM HTTP Server:

      To start the IBM HTTP Server from the command line:

      Access the apache and apachectl commands in the IBMHttpServer/bin directory.

      • ./apachectl start

      • apache

    3. Point your browser to http://localhost:9080/snoop to test the internal HTTP transport provided by the Application Server. Point your browser to http://Host_name_of_Web_server_machine/snoop to test the Web server plug-in.

      The HTTP Transport port is 9080 by default and must be unique for every profile. The port is associated with a virtual host named default_host, which is configured to host the installed DefaultApplication and any installed Samples. The snoop servlet is part of the DefaultApplication. Change the port to match your actual HTTP Transport port.

    4. Verify that snoop is running.

      Either Web address should display the Snoop Servlet - Request/Client Information page.

    5. Remote IBM HTTP Server only: Verify that the automatic propagation function can work on a remote IBM HTTP Server by using the following steps. This procedure is not necessary for local Web servers.

      1. Create a user=adminUser, password=adminPassword in the IHS_install_root /conf/admin.passwd file. For example: c:\ws\ihs60\bin\htpasswd -cb c:\ws\ihs60\conf\admin.passwd adminUser adminPassword

      2. Use the administrative console of the deployment manager or the Application Server to enter the User ID and password information that you created for the administrative user of IBM HTTP Server. Go to Servers > Web server > Web_server_definition > Remote Web server administration. Set the following values: admin Port=8008, User Id=adminUser, Password=adminPassword.

      3. Set the correct read/write permissions for the httpd.conf file and the plugin-cfg.xml file. See the IHS_install_root /logs/admin_error.log file for more information.

      Automatic propagation of the plug-in configuration file requires the IBM HTTP administrative server to be up and running. If you are managing an IBM HTTP Server using the WAS administrative console, the following error might display

      "Could not connect to IHS Administration server error"
      

      Perform the following procedure to correct the error:

      1. Verify that the IBM HTTP Server administration server is running.

      2. Verify that the Web server host name and the port that is defined in the WAS administrative console matches the IBM HTTP Server administration host name and port.

      3. Verify that the fire wall is not preventing you from accessing the IBM HTTP Server administration server from the WAS administrative console.

      4. Verify that the user ID and password that is specified in the WAS administrative console under remote managed, is created in the admin.passwd file, using the htpasswd command.

      5. If you are trying to connect securely, verify that you export the IBM HTTP Server administration server keydb personal certificate into the WAS key database as a signer certificate. This key database is specified by the com.ibm.ssl.trustStore directive in the sas.client.props file in the profile where your administrative console is running. This consideration is primarily for self-signed certificates.

      6. If you still have problems, check the IBM HTTP Server admin_error.log file and the WAS logs (trace.log file) to determine the cause of the problem.

  27. Regenerate the plugin-cfg.xml file on Machine A using the administrative console. Click Servers > Web server. Select the Web server, then click Generate Plug-in.

    During the installation of the plug-ins, the temporary plugin-cfg.xml file is installed on Machine B in the plugins_install_root/config/web_servername directory. The Web server plug-in configuration service regenerates the plugin-cfg.xml file automatically. To use the real plugin-cfg.xml file from the application server, propagate the plugin-cfg.xml file as described in the next step.

    This step shows you how to regenerate the plugin-cfg.xml file. WAS products are configured to automatically regenerate the file each time a significant event occurs. Such events include installing applications on the application server and the Web server, for example. Creating a new virtual host is another such event.

  28. Propagate the plugin-cfg.xml file from the application server to the Web server using the administrative console. Click Servers > Web server. Select the Web server, then click Propagate Plug-in. Web servers other than IBM HTTP Server require manual propagation.

    The Web server plug-in configuration service propagates the plugin-cfg.xml file automatically for IBM HTTP Server 6.0 only. For all other Web servers, propagate the plug-in configuration file by manually copying the plugin-cfg.xml file from the profiles_install_root/config/cells/cell/nodes/node/servers/web_servername directory on Machine A to the plugins_install_root/config/web_servername directory on Machine B.

  29. Create the second application server profile using the Profile creation wizard on Machine A. Make the profile the default profile during the profile creation by selecting the check box on the appropriate panel.

    The script that the Plug-ins installation wizard creates works on the default profile only. So, this script can create only a Web server definition on the profile that is the default profile at the time that the script runs.

  30. Install a second IBM HTTP Server or another supported Web server on Machine B.

  31. On Machine B, install the Web server plug-ins to configure the second Web server using the Plug-ins installation wizard. Both Web servers share a single installation of the plug-in binaries but must be configured individually.

  32. The Plug-ins installation wizard creates a script named configurewebserver for the second Web server. The script is in the plugins_install_root/bin directory on Machine B. Copy the script to the install_root/bin directory on Machine A.

  33. Start the second application server.

  34. Run the configurewebserver script to create a Web server definition in the administrative console. We can then use the administrative console to manage the Web server.

  35. Propagate the plugin-cfg.xml file from the second application server to the Web server using the administrative console. Click Servers > Web server > Propagate Plug-in. Web servers other than IBM HTTP Server require manual propagation.

  36. Run the snoop servlet on the second Web server to verify that it is operational.

 

Result

This procedure results in installing two or more application servers on one machine and installing dedicated Web servers on another machine. This procedure installs the Web server plug-ins for both Web servers and configures both Web servers and both application servers.

 

What to do next

See Select a Web server topology diagram and roadmap for an overview of the installation procedure.

See Web server configuration for more information about the files involved in configuring a Web server.

See Editing Web server configuration files for information about how the Plug-ins installation wizard configures supported Web servers.