[AIX Solaris HP-UX Linux Windows][IBM i]

Configuring a web server and an application server profile on the same machine

WebSphere® Application Server provides web server plug-ins that you can configure to communicate with a particular brand of web server. Learn how to install the web server, its web server plug-in for WebSphere Application Server, and the application server on the same machine.

Before you begin

[AIX Solaris HP-UX Linux Windows]When multiple profiles exist, you can select the profile that the Web Server Plug-ins Configuration Tool configures. See Plug-ins configuration for a description of the flow of logic that determines how to select the profile to configure.

If the WebSphere Application Server product family supports a particular brand of web server, such as IBM® HTTP Server or Microsoft Internet Information Services (IIS), your WebSphere Application Server product provides a binary plug-in for the web server that you must install.

If the WebSphere Application Server 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.

[AIX Solaris HP-UX Linux Windows]Suppose that you create a new profile and you also want to use a web server. You must install a new web server for the new profile, install the Web Server Plug-ins, and use the Web Server Plug-ins Configuration Tool to configure both the web server and the application server.

If the web server is not already installed, you can still install the Web Server Plug-ins for future use.

This procedure configures the application server profile that is the default profile on the machine. A one-to-one relationship exists between a web server and the application server.

However, a standalone application server profile and a managed profile can each have multiple web servers defined, each in a separate web server definition.

This topic describes how to create the following topology:

Application Server with optional web server on one machine

Note: Nonroot installation for the plug-in component is only supported if the application server was also installed by the same nonroot user. Otherwise, the web server configuration scripts will fail to run against the application server installation.

About this task

Note: This topic references one or more of the application server log files. As a recommended alternative, you can configure the server to use the High Performance Extensible Logging (HPEL) log and trace infrastructure instead of using SystemOut.log , SystemErr.log, trace.log, and activity.log files on distributed and IBM i systems. You can also use HPEL in conjunction with your native z/OS® logging facilities. If you are using HPEL, you can access all of your log and trace information using the LogViewer command-line tool from your server profile bin directory. See the information about using HPEL to troubleshoot applications for more information on using HPEL.
The Web Server Plug-ins Configuration Tool configures the plug-in for the supported web server after collecting the following information:
  • Type of web server to configure
  • Architecture of your installed target web server (64 bit or 32 bit)
  • Location of the configuration file or files for the web server to be configured
  • Web server port
  • For IBM HTTP Server, the following information:
    • Port number for optional IBM HTTP Server administrative server setup
    • User ID and password to authenticate to the optional IBM HTTP Server administrative server from the administrative console
    • [Linux][AIX][HP-UX][Solaris]System user ID and group to have write permission to IBM HTTP Server, the IBM HTTP Server administrative server, and the web server plug-in configuration files
    • [Windows]User ID and password if you choose to run the IBM HTTP Server administrative server as a Window service
  • Name of the web server definition
  • Configuration scenario to be used
    • If it is a remote scenario, the tool collects the host name or IP address of the application server.
    • If it is a local scenario, the tool collects the installation root directory of the WebSphere Application Server product.
  • Profile to be configured with the web server plug-in

The Web Server Plug-ins Configuration Tool edits the configuration file or files for a web server by creating directives that point to the location of the binary plug-in module and the plug-in configuration file.

The name of the binary plug-in module varies per web server type. The plug-in configuration file is always the plugin-cfg.xml file.

The Web Server Plug-ins Configuration Tool creates a web server definition in the configuration of the application server unless one already exists.

You can use the administrative console to manage the web server configuration. For example, when you install an application on the application server, you can also choose to install it on the web server definition. If so, the updated plugin-cfg.xml file shows that the new application is available. When the web server reads the updated plug-in configuration file, the web server becomes aware of the new application that it can serve to web clients.

If you choose not to install the new application on the web server definition, the application is not added to the plug-in configuration file. The web server is not aware of the application and cannot serve it to web clients.

[AIX Solaris HP-UX Linux Windows]Tip: As an alternative to using the Web Server Plug-ins Configuration Tool, you can use the pct command-line tool with a response file to configure a web server. Read Configuring a web server plug-in using the pct tool for more information.

Use this procedure to install the web server plug-in, configure the web server, and create a web server definition in the default application server profile.

Procedure

  • Configure a standalone application server.
    1. Log on to the operating system.

      If you are installing as a nonroot or non-administrative user, then there are certain limitations.

      [Linux][AIX][HP-UX][Solaris]In addition, select a umask that allows the owner to read/write to the files, and allows others to access them according to the prevailing system policy. For root, a umask of 022 is recommended. For nonroot users, a umask of 002 or 022 could be used, depending on whether or not the users share the group. To verify the umask setting, issue the following command:
      umask
      To set the umask setting to 022, issue the following command:
      umask 022
      [Windows]When installing as an administrative user on a Windows operating system, a Windows service is automatically created to autostart the application server. The installer user account must have the following advanced user rights:
      • Act as part of the operating system
      • Log on as a service
      For example, on some Windows operating systems, click Control Panel > Administrative Tools > Local Security Policy > Local Policies > User Rights Assignments to set the advanced options. See your Windows operating system documentation for more information.

      [Windows]If you plan to run the application server as a Windows service, do not install from 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 restriction, install with a user ID that does not contain spaces.

    2. Install Installation Manager.
    3. Use Installation Manager to install the following:
      • WebSphere Application Server Network Deployment
      • Web Server Plug-ins for WebSphere Application Server
      • WebSphere Customization Toolbox
    4. Use Installation Manager to install the IBM HTTP Server, or install another supported web server.
    5. Open the WebSphere Customization Toolbox, and launch the Web Server Plug-ins Configuration Tool.
    6. Select a Web Server Plug-ins runtime location.
      If the location of a previously installed web server plug-in that you want to use is not in the list, perform the following actions to add the location to your working set:
      1. Click Add.
      2. Enter a name for the web server plug-in location.
      3. Perform one of the following actions:
        • Enter the location.
        • Click Browse, find the location, and click OK.
    7. Click Create.
    8. Select the type of web server that you are configuring, and click Next.
    9. Select the architecture of your installed target web server (64 bit or 32 bit) and click Next if you are asked.
    10. Click Browse to select the configuration file or files 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_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 Web Server Plug-ins Configuration Tool verifies that the files exist but the tool does not validate either file.

      IBM HTTP Server
      [AIX Solaris HP-UX Linux Windows]IHS_root/conf/httpd.conf
      [IBM i]IHS_profile_root/conf/httpd.conf
      Microsoft Internet Information Services (IIS)
      The Web Server Plug-ins Configuration Tool can determine the correct files to edit.
      Sun Java™ System Web Server (formerly Sun ONE Web Server and iPlanet Web Server) Version 6.0 and later
      obj.conf and magnus.conf
    11. If you are configuring an IBM HTTP web server plug-in, perform the following actions.
      1. Optionally, set up the administration server configuration to administer the web server.
        Attention: When using the Web Server Plug-ins Configuration Tool to configure the IBM HTTP Server Administration Server, the Websphere Customization Toolbox must be run as a local account with administrator/root privileges.
        1. Select Setup IBM HTTP Server Administration Server.
        2. Specify a port number on which the IBM HTTP administration server will communicate.
        3. Optionally, select Create a user ID for IBM Server Administration Server authentication and enter a user ID and password to authenticate to the IBM HTTP Server administrative server from the administrative console.
      2. Click Next.
      3. [Linux][AIX][HP-UX][Solaris]Specify the system user ID and group to have write permission to IBM HTTP Server, the IBM HTTP Server administrative server, and the web server plug-in configuration files.

        Select Create a new unique system user ID and group using the credentials if necessary.

        [AIX][Solaris]Restriction: The configuration might fail if you specify a new user ID or group name that exceeds the platform limit, which is commonly 8 characters and is sometimes configurable.
      4. [Windows]Optionally, set up the IBM HTTP Server Administration Server to run as a Window service.
        1. Select Run IBM HTTP Server Administration Server as a Windows Service.
        2. Perform one of the following actions:
          • Select Log on as a local system account.
          • Select Log on as a specified user account, and enter the user ID and password for that account.
            The user ID requires the following advanced user rights:
            • Act as part of the operating system
            • Log on as a service
        3. Choose whether your startup type will be automatic or manual.
      5. Click Next.
    12. Specify a unique name for the web server definition, and click Next.
    13. Select the configuration scenario.
      1. Choose the local scenario.
      2. Perform one of the following actions:
        • Enter the installation location of WebSphere Application Server (app_server_root).
        • Click Browse, find the installation location of WebSphere Application Server (app_server_root), and click OK.
      3. Click Next.
    14. Select the profile to configure with the current web server plug-in, and click Next.
    15. Review the summary information, and click Configure to begin configuring the web server, web server plug-in, and application server profile.
    16. Verify the success of the installation on the summary panel, and click Finish.

      If a problem occurs and the installation is unsuccessful, examine the logs in the plugins_root/logs directory. Correct any problems and re-configure.

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

      On platforms such as AIX® or Linux®, 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. Open a command window.
      2. Change directories to the plug-ins installation root directory.
      3. Issue the appropriate command for the plugins_root/bin/setupPluginCfg.sh script:
        • [AIX][HP-UX][Solaris]. plugins_root/bin/setupPluginCfg.sh (Notice the space between the period and the installation root directory.)
        • [Linux]source plugins_root/bin/setupPluginCfg.sh

      The script is also in the lotus_root/notesdata directory on operating systems such as AIX or Linux.

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

    18. 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 profile_root/bin directory and run the startServer command:
        • [Linux][AIX][HP-UX][Solaris]./startServer.sh server1
        • [Windows]startServer server1
        • [IBM i]startServer server1
      2. Start the IBM HTTP Server or the web server that you are using.

        [IBM i]Use either the 2001 page or use the STRTCPSVR SERVER(*HTTP) HTTPSVR(instance_name ) command to start the IBM HTTP Server.

        [AIX Solaris HP-UX Linux Windows]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:

        [AIX Solaris HP-UX Linux Windows]To start the IBM HTTP Server from the command line:

        [AIX Solaris HP-UX Linux Windows]Access the apache and apachectl commands in the IBMHttpServer/bin directory.
        • [Linux][AIX][HP-UX][Solaris]./apachectl start
        • [Windows]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. 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.

        Tip: In the event of a verification failure where an HTTP error code of 500 appears, go to IIS Manager > Default Web Site > sePlugins. Right-click, and choose to edit permissions. Click on the sharing tab, and choose to share with everyone (permissions level: read/write).
      5. Remote IBM HTTP Server only:
        [AIX Solaris HP-UX Linux Windows]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_root /conf/admin.passwd file. For example: c:\ws\ihs80\bin\htpasswd -cb c:\ws\ihs80\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_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 WebSphere Application Server 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 WebSphere Application Server 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 WebSphere Application Server administrative console.
        4. Verify that the user ID and password that is specified in the WebSphere Application Server 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 WebSphere Application Server 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 WebSphere Application Server logs (trace.log file) to determine the cause of the problem.
  • Configure an application server that is federated into a deployment manager cell.
    Note: The following procedure describes installing the plug-ins on two machines. However, you could perform this procedure on a single machine.

    The following topology is considered a local distributed topology because it involves a cell:

    Application Server with optional web server on one machine

    This part of the procedure assumes that you have already installed Installation Manager and the Network Deployment product on both machines. Also assumed is that you have already configured a deployment manager profile on Machine A and an application server profile on Machine B.

    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 configuring the plug-in. You cannot add an application server with a web server definition into the deployment manager cell.

    A web server definition on a federated application server is installed on the same managed node as the application server. There is one node, but with two server processes, the application server and the web server definition.

    If you are installing the plug-ins for use with a federated application server, start the deployment manager. Verify that the node agent process on the managed node is also running. Both the deployment manager and the node agent must be running to successfully configure a managed node.

    1. Use Installation Manager to install the following on Machine B.
      • Web Server Plug-ins for WebSphere Application Server
      • WebSphere Customization Toolbox
    2. Use Installation Manager to install IBM HTTP Server on Machine B, or install another supported web server on Machine B.
    3. Open the WebSphere Customization Toolbox and launch the Web Server Plug-ins Configuration Tool on Machine B.
    4. Select a web server plug-in runtime location.
      If the location of a previously installed web server plug-in that you want to use is not in the list, perform the following actions to add the location to your working set:
      1. Click Add.
      2. Enter a name for the web server plug-in location.
      3. Perform one of the following actions:
        • Enter the location.
        • Click Browse, find the location, and click OK.
    5. Click Create.
    6. Select the type of web server that you are configuring, and click Next.
    7. Select the architecture of your installed target web server (64 bit or 32 bit), and click Next.
    8. Click Browse to select the configuration file or files 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_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 web Server Plug-ins Configuration Tool verifies that the files exist but the tool does not validate either file.

      IBM HTTP Server
      [AIX Solaris HP-UX Linux Windows]IHS_root/conf/httpd.conf
      [IBM i]IHS_profile_root/conf/httpd.conf
      Microsoft Internet Information Services (IIS)
      The Web Server Plug-ins Configuration Tool can determine the correct files to edit.
      Note: The best practice is to use 32-bit plug-ins on IIS 7.
      Sun Java System Web Server (formerly Sun ONE Web Server and iPlanet Web Server) Version 6.0 and later
      obj.conf and magnus.conf
    9. Specify a unique name for the web server definition, and click Next.
    10. Select the configuration scenario.
      1. Choose the local scenario.
      2. Perform one of the following actions:
        • Enter the installation location of WebSphere Application Server (app_server_root).
        • Click Browse, find the installation location of WebSphere Application Server (app_server_root), and click OK.
      3. Click Next.
    11. Select the profile to configure with the current web server plug-in, and click Next.
    12. Review the summary information, and click Configure to begin configuring the web server, web server plug-in, and application server profile.
    13. Verify the success of the installation on the summary panel, and click Finish.

      If a problem occurs and the installation is unsuccessful, examine the logs in the plugins_root/logs directory. Correct any problems and re-configure.

    14. Copy the configureweb_server_name script to paste on Machine A.
    15. Create the web server definition on Machine A.

      You can use the administrative console of the deployment manager to create the web server definition on a federated node; or you can run the configuration script that the Web Server Plug-ins Configuration Tool created.

      The script already contains all of the information that you must gather when using the administrative console option.

      Select one of the following options:
      • Using the administrative console

        Click Servers > Web servers > New and use the Create new web server entry wizard to create the web server definition.

      • Running the configuration script
        1. Paste the configureweb_server_name script from Machine B to the app_server_root/bin directory on Machine A.
        2. Issue the appropriate command from a command window:
          • [Linux][AIX][HP-UX][Solaris]./plugins_root/bin/configureweb_server_name.sh
          • [Windows]plugins_root\bin\configureweb_server_name.bat
          • [IBM i]./plugins_root/bin/configureweb_server_name

        If you have enabled security or changed the default JMX connector type, edit the script and include the appropriate parameters on the wsadmin command.

    16. From the administrative console of the deployment manager, click System administration > Save Changes to Master Repository > Synchronize changes with Nodes > Save.
    17. Domino web server only: Set the WAS_PLUGIN_CONFIG_FILE environment variable.

      On platforms such as AIX or Linux, 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.

    18. Start the Snoop servlet.

Results

The installation of the Web Server Plug-ins results in the creation of the Plugins directory and several subdirectories. The following directories are among those created on a Linux system, for example:
  • plugins_root/bin contains the binary plug-ins for all supported web servers
  • plugins_root/logs contains log files
  • plugins_root/properties contains version information

The Web Server Plug-ins Configuration Tool creates a web server definition within the application server profile unless one already exists.

The Web Server Plug-ins Configuration Tool configures the web server to use the profile_root/plugin-cfg.xml file.

The application server regenerates the web server plug-in configuration file, plugin-cfg.xml whenever an event occurs that affects the file. Such events include the addition or removal of an application, server, or virtual host. The standalone application server regenerates the file in the following location:
profile_root
   /config/cells/cell_name/nodes/
   web_server_name_node/servers/
   web_server_name/plugin-cfg.xml
On a federated node, the creation or removal of clusters and cluster members also causes file regeneration. The deployment manager regenerates the file for a federated application server in the following location:
profile_root
   /config/cells/cell_name/nodes/
   node_name_of_AppServer/servers/
   web_server_name/plugin-cfg.xml

What to do next

You can start a standalone application server and the web server immediately after configuring the plug-in for the local web server. Open the administrative console of the application server after you start the server and save the changed configuration.

After configuring the plug-in for the local web server, you can start a federated application server and the web server after running the script that completes the configuration. Open the administrative console of the deployment manager. Wait for node synchronization to occur. Save the changed configuration that includes the new web server definition.

See Selecting a web server topology diagram and roadmap for an overview of the installation procedure.

See [AIX Solaris HP-UX Linux Windows][IBM i]Plug-ins configuration for information about the location of the plug-in configuration file.

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

See Editing web server configuration files for information about how the Web Server Plug-ins Configuration Tool configures supported web servers.

See Installing and configuring web server plug-ins for information about other installation scenarios for installing web server plug-ins.