You can install and configure multiple web servers and application servers on separate
machines.
Before you begin
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.
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.
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.
About this task
Installing the Web Server Plug-ins installs the plug-in
module. The Web Server Plug-ins Configuration Tool configures the
web server for communicating with the application server and creates
a web server configuration definition in the application server, if
possible.
This article 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 you can then dedicate to different purposes.
For example, each application server on a website 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.
Supported configurations: This tool is supported
only on AIX®, Linux, and
Windows. 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.
sptcfg
Procedure
- Install Installation Manager on Machine A and Machine B.
- Use Installation Manager to install WebSphere
Application Server Network Deployment on Machine A.
Create the first application server profile using the Profile Management Tool on Machine A.
Use the managedProfile command to create the first application server
profile on Machine A.
- Use Installation Manager to install the following on Machine B.
- Web Server Plug-ins for WebSphere Application
Server
- WebSphere Customization Toolbox
- Use Installation Manager to install the IBM HTTP Server on Machine B, or
install another supported web server on Machine B.
Open the WebSphere Customization Toolbox, and launch
the Web Server Plug-ins Configuration Tool on the machine with the
web server.
- Select a web server plug-in runtime location.
If the location of a previously installed web server that you want to use is not in the list,
perform the following actions to add the location to your working set:
- Click Add.
- Enter a name for the web server plug-in location.
- Perform one of the following actions:
- Enter the location.
- Click Browse, find the location, and click OK.
- Click Create.
- Select the type of web server that you are configuring, and click Next.
- Select the architecture of your installed target web server (64 bit or 32 bit) and click
Next if you are asked.
- 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 Web 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
IHS_root/conf/httpd.conf
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.
- Oracle iPlanet Web Server
- obj.conf and magnus.conf
- If you are configuring an IBM HTTP web server plug-in,
perform the following actions.
- 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.
- Select Setup IBM HTTP Server Administration
Server.
- Specify a port number on which the IBM HTTP administration
server will communicate.
- 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.
- Click Next.
![[AIX]](../images/aixlogo.gif)
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.
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.
Optionally, set up the IBM HTTP Server
Administration Server to run as a Window service.- Select Run IBM HTTP Server Administration Server as a
Windows Service.
- 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
- Choose whether your startup type will be automatic or manual.
- Click Next.
- Specify a unique name for the web server definition, and click Next.
- Select the configuration scenario.
- Choose the remote scenario.
- Identify the host name or IP address of Machine A, which is the application server machine.
- Click Next.
- Select the profile to configure with the current web server plug-in, and click
Next.
- Examine the summary panel, and click Configure to
begin configuring.
The panel notifies you that you
have manual steps to perform to complete the installation and configuration.
The Web Server Plug-ins Configuration Tool creates
the configureweb_server_name script
in the plugins_root/bin/ directory
on Machine B (the machine with the web server).
The
Web Server Plug-ins Configuration Tool also creates the plugin-cfg.xml file
in the plugins_root/config/web_server_name 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. You
can automatically propagate the file to the IBM HTTP Server product.
- 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.
- Copy the configureweb_server_name script
from Machine B (the machine with the web server) to the app_server_root /bin directory
on Machine A (the application server machine).
web_server_name is
the nickname of the web server that you specified. web_server_name is
not a vendor name, such as IIS or Apache.
On
an operating system such as AIX or Linux, the file is configureweb_server_name.sh.
On a Windows system, the
file is configureweb_server_name.bat.
For example, on a Linux system
with an IBM HTTP Server named
web_server_1 in the default location, copy plugins_root/bin/configureweb_server_1.sh from
Machine B (the machine with the web server) to the app_server_root/bin directory
on Machine A (the application server machine).
For
example, on an IBM i system
with an IBM HTTP Server named
web_server_1 in the default location, copy plugins_root/bin/configureweb_server_1 from
Machine B (the machine with the web server) to the app_server_root/bin directory
on Machine A (the application server machine).
- Compensate for file encoding differences
to prevent script failure.
The content
of the configureweb_server_name.bat script
or the configureweb_server_name.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 double-byte
character set (DBCS) locale and the other machine is not.
The content of the configureweb_server_name 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 double-byte
character set (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.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
- Run the locale charmap command on a system
such as AIX or Linux.
- Run the CHCP command on a Windows machine.
Use the result of the command on each machine as the value for
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
Omit the 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.
Note: If you copy over a .sh file
onto a UNIX-based operating system after remote configuration on a Windows operating system, you
must perform chmod 755.
- Start the application server on Machine A.
Start the IBM HTTP Server administration server.
The administration server must be started so that the
configureweb_server_name.bat/.sh script can generate and
propagate the plugin-cfg.xml file. For more information, see Starting and stopping the IBM HTTP Server administration
server.
If you do not start the administration server, the script can configure the web server, but the
plug-in is not propagated, and PLGC0063E, PLGC0049E, and
PLGC0053E errors occur.
- Open a command window and change to the profile
directory where the web server should be assigned. Run the script
that you copied to Machine A (the application server machine). You need the following parameters:
- Profile Name
- (Optional) Admin user ID
- (Optional) Admin user password
For example, you could enter the
following:configurewebserver1.sh AppSrv01 my_user_ID my_Password
The
web server will be configured via wsadmin.The contents of the configurewebserver1.sh script will
be similar to
this:
wsadmin.bat -profileName AppSrv01 -user my_user_ID -password my_Password
-f "%WAS_HOME%\bin\configureWebserverDefinition.jacl" webserver1 IHS..
- From the administrative console of the deployment manager, click System
administration > Save Changes to Master Repository > Synchronize changes with Nodes >
Save.
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.
- Open a command window.
- Change directories to the plug-ins installation root
directory.
- Issue the appropriate command for the plugins_root/bin/setupPluginCfg.sh script:
![[AIX]](../images/aixlogo.gif)
![[HP-UX]](../images/hpux.gif)
. plugins_root/bin/setupPluginCfg.sh (Notice
the space between the period and the installation root directory.)
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.
- Regenerate the plugin-cfg.xml file
on Machine A (the application server machine) using the administrative
console. Click Servers > Server Types > Web servers.
Select the web server, then click Generate Plug-in.
During the installation of the plug-ins, the default plugin-cfg.xml file
is installed on Machine B (the machine with the web server) in the plugins_root/config/web_server_name directory.
The web server plug-in configuration service regenerates the plugin-cfg.xml file
automatically. To use the current 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. WebSphere Application Server
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.
- 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
only. For all other web servers, propagate the plug-in configuration
file by manually copying the plugin-cfg.xml file
from the profile_root/config/cells/cell_name/nodes/node_name/servers/web_server_name directory
on Machine A (the application server machine) to the plugins_root/config/web_server_name directory
on Machine B (the machine with the web server).
- 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.
- 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.
- Start the IBM HTTP
Server or the web server that you are using.
Use either the 2001 page or use the STRTCPSVR
SERVER(*HTTP) HTTPSVR(instance_name ) command to
start the IBM HTTP Server.
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:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
Access the
apache and
apachectl commands
in the
IBMHttpServer/bin directory.
- 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.
- Verify that Snoop is running.
Either Web
address should display the Snoop Servlet - Request/Client Information
page.
- Remote IBM HTTP
Server only:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
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.
- Create a user=adminUser, password=adminPassword in the IHS_root
/conf/admin.passwd file. For example: c:\ws\ihs90\bin\htpasswd -cb
c:\ws\ihs90\conf\admin.passwd adminUser adminPassword
- 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.
- 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:
- Verify that the IBM HTTP
Server administration server is running.
- 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.
- Verify that the fire wall is not preventing you from accessing
the IBM HTTP Server administration
server from the WebSphere Application
Server administrative console.
- 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.
- 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.
- 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.
Create the second application server profile using the Profile Management Tool on Machine A.
Make the profile the default profile during the profile creation by selecting the check box on the
appropriate panel.
Use the managedProfile command to create the second application server
profile. During the creation process, designate this profile the default profile.The script that the
Installation Manager creates only works on the default profile. 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.
- Install a second IBM HTTP Server or another supported web
server on Machine B.
- On Machine B, configure the second web server using the Web Server Plug-ins Configuration Tool.
Both web servers share a single installation of the plug-in binaries but must be configured
individually.
- The Installation Manager creates a script named
configureweb_server_name for the second web server. The
script is in the plugins_root/bin directory on Machine B.
Copy the script to the app_server_root/bin directory on
Machine A.
- Start the second application server.
- Run the configureweb_server_name script on Machine A to
create a web server definition in the administrative console. You can then use the administrative
console to manage the web server.
- 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.
- Run the Snoop servlet on the second web server to verify that it is operational.
Results
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 Selecting a web server topology diagram and
roadmap for an overview of the installation procedure.
See Editing web server configuration files for information about how the Web Server
Plug-ins Configuration Tool configures supported web servers.
See Web server configuration for more information about the files
involved in configuring a web server.
For IHS web servers, you can stop and start the web server and propagate the
plugin-cfg.xml file from the WebSphere Application Server machine to the web server machine. For all other web servers, you
cannot start/stop or propagate the
plugin-cfg.xml file in the admin console.
You will need to propagate the
plugin-cfg.xml file manually. The following
three steps describes how to perform manual propagation:
- After completion of configuration with web servers, verify that the
plugin-cfg.xml file exists at
<WAS_HOME>/profiles/<PROFILE_HOME>/config/cells/<CELL_NAME>/nodes/<SERVER_NAME>/servers/<WEBSERVER_DEFINITION>
- Transfer the above plugin-cfg.xml to replace
<PLUGIN_HOME>/config/<WEBSERVER_DEFINITION>/plugin-xfg.xml
- Restart the web server and corresponding profile.