This topic describes installing a Web server plug-in that WebSphere
Application Server provides to communicate with a particular brand of Web
server. This procedure describes installing multiple Web servers and their
Web server plug-ins for WebSphere Application Server on one machine and on
multiple application servers on another machine.
Before you begin
When multiple profiles exist, you can either let
the plug-ins installer configure the default profile, or you can select
the profile that the plug-ins installer configures. See Plug-ins configuration for a description
of the flow of logic that determines how the installer selects the
profile to configure.
When multiple profiles
exist, the plug-ins installer configures only the default profile.
You need the configureweb_server_name script to
configure a non-default profile. See Plug-ins configuration for a description of the flow of logic that
determines how the installer selects 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), then 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. 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, you can still install the
plug-ins for future use. If the WebSphere Application
Server product is not installed, you can still install the plug-ins.
However, it is recommended that you install the Web server and the WebSphere Application Server
product before installing the plug-ins for the supported Web server.
About this task
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 you 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.
Attention: 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.
You 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:
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.
- Log on to the operating system.
![[Windows]](../../windows.gif)
When installing on a Windows
® system, a Windows service is automatically created
to autostart the application server if your installer user account
has 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 set the advanced options. See your Windows documentation for more
information.
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 problem, install with a user ID that does not contain
spaces.
- Install WebSphere Application
Server Network
Deployment on Machine A.
See Installing the product and additional software.
See Task overview: installing.
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.
- 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.
- 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.
- 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.
- Read the license agreement and accept the agreement
it if you agree to its terms. Click Next when
you are finished.
- 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 an operating
system such as AIX® or Linux®.
If you stop the installation, see the log file
in the /tmp/InstallShield/niflogs directory of the user who installed
the plug-ins.
- If you continue the installation in spite of warnings about missing
prerequisites, see the plugins_root/logs/install/log.txt file
after the installation is complete.
See Troubleshooting installation for
more information about log files.
- 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 you 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.
- Select Web server machine (remote) and
click Next.
- Accept the default location for the installation
root directory for the plug-ins. Click Next.
You 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 shown in Directory conventions.
A possibility exists that the Web server
might run on a platform that WebSphere Application
Server does not support.
- 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_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_root/conf/httpd.conf
IHS_profile_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, Version 6.1
- obj.conf and magnus.conf
The wizard displays a naming panel for the nickname
of the Web server definition.
- 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 { -serverName webserver1 -nodeName webserver1_node }
$AdminTask removeUnmanagedNode { -nodeName webserver1_node }
$AdminConfig save
In these commands,
webserver1 is the
Web server name.
- Accept the default location for the plugin-cfg.xml file
that the wizard creates on the Web server machine, then click Next.
You can type a change to the value or click Browse to
select a file in another location. If you do not accept the default
location, the plugin-cfg.xml file must exist.
- Identify the host name or IP address of Machine
A, which is the application server machine, then click Next.
- 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 configureWeb_server_name script
in the plugins_root/bin/ directory
on Machine B (the machine with the Web server).
The Plug-ins
installation wizard 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.
- 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.
- 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 the plugins_root directory.
The plugins_root/config/Web_server_name directory
contains the plugin-cfg.xml file.
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 plugins_root/logs directory.
Correct any problems and reinstall.
- Close the road map and click Finish to
exit the wizard.
Log files from the installation are
in the plugins_root/logs/install directory.
- 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 in step 12. 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 i5/OS® 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).
![[AIX HP-UX Linux Solaris Windows]](../../dist.gif)
If one platform is a
system such as AIX or Linux and the other is a Windows platform, copy the script
from the
crossPlatformScripts directory. For
example:
- 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.
- Run the following command on a system such as AIX or Linux:
locale charmap
- Run the following command on a Windows machine:
CHCP
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 system such as AIX or Linux
Run the following
command on the 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 \
configureWeb_server_name.bat
Omit
the 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 machine with a system such
as AIX or Linux.
Web server running on a Windows machine
Run
the following command on the machine with a system such as AIX or Linux 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 \
configureWeb_server_name.sh
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.
- Start the application server on Machine A.
Use the
startServer command, for example:
- 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 Dmgr01 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:
. 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 > Web server. 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
6.0 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 HP-UX Linux Solaris Windows]](../../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 and any installed Samples.
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 HP-UX Linux Solaris Windows]](../../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\ihs60\bin\htpasswd -cb c:\ws\ihs60\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. The script that the Plug-ins installation
wizard 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.
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
Plug-ins installation wizard 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, 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.
- The Plug-ins installation wizard 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
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.