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 the Web server and its Web server
plug-in for WebSphere Application Server on one machine and configuring the
application server in the default profile on another machine to communicate
with the Web server.
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 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.
This topic describes how to create the following
topology:
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:
This topic describes
the installation of a Web server on one machine and the application server
on a separate machine. In this situation, the Plug-ins installation wizard
on one machine cannot create the Web server definition in the application
server configuration on the other machine.
In such a
case, the Plug-ins installation wizard creates a script on the Web server
machine that you can copy to the application server machine. Run the script
on the application server machine to create the Web server configuration definition
within the application server configuration.
Perform the
following procedure to install the plug-in and configure both the Web server
and the application server.
- 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.
- 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
- 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 will need the following parameters:
Profile Name
(Optional) Admin user ID
(Optional) Admin user password
For example: configurewebserver1.sh
Dmgr01 myUserID myPassword
The webserver will be configured via
wsadmin.
- 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.
See Configuring Lotus Domino
- 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.