Configure a Web server for a non-default profile
Overview
This topic describes installing a Web server plug-in and configuring an appserver that is not the default profile.
When multiple profiles exist, the plug-ins installer configures only the default profile.
If you intend to create a Web server definition for an appserver that is not the default profile, force the Plug-ins installation wizard to configure a profile that is not the default profile.
If you are planning to add the appserver 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 appserver with a Web server definition into the deployment manager cell.
This procedure assumes that you have installed the Web server on one machine and WAS on a separate machine.
If the Web server and the appserver profile are on the same machine select Remote installation when installing the plug-ins using the Plug-ins installation wizard in order to create the configuration script.
This procedure describes how to create a Web server definition for an appserver that is not the default profile. This procedure describes selecting a remote installation scenario and issuing a command for the configuration script that points the command to a profile that you select.
The ordinary behavior of the configuration script is to work on the default profile on the machine where the script runs. This procedure describes how to redirect the script to configure a profile that is not the default.
Procedure
- Log on to the operating system.
- For *nix systems, select a umask that allows the owner to read/write access.
For root, a umask of 022 is recommended.
For non-root 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,...
umaskTo set the umask setting to 022,...umask 022For Windows system, a Windows service is automatically created to autostart the appserver 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.
If you plan to run the appserver 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.
- 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.
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 WAS 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:
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 appserver to name the Web server definition. If the appserver 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 saveIn these commands, webserver1 is the Web server name.
- Type a value for the location of the plugin-cfg.xml file.
For a federated node, the deployment manager creates the file in...
app_server_root/profiles/Dmgr01/config/cells/cell_name/nodes/app_server_node_name/servers/web_server_name /plugin-cfg.xmlFor a stand-alone appserver node, the appserver creates the file in...
profile_root/config/cells/cell_name/nodes/web_server_name_node/servers/web_server_name/plugin-cfg.xmlSpecify the location in the field so that the Web server can access the file when the Web server and the appserver are on the same machine. Accept the default value if the Web server and the appserver are on separate machines.
The location of the plugin-cfg.xml file is used in the Web server configuration file. If you cannot enter the location correctly at this point, you can edit the Web server configuration file manually to correct the location so that the location points to the plugin-cfg.xml file in the non-default appserver profile. On a remote installation, the default location is within the plug-ins installation root directory. Propagation copies the current file from the appserver machine to the Web server machine.
- Identify the host name or IP address of the appserver 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.
The Plug-ins installation wizard also creates a default plugin-cfg.xml file in the plugins_root/config/web_server_name directory.
- 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 disc 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 directory...
plugins_root/config/Web_server_name...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 directory...
plugins_root/logsCorrect 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.sh script on systems such as AIX or Linux, the configureweb_server_name script on i5/OS, or the configureweb_server_name.bat script on Windows systems to the app_server_root/bin directory on the appserver machine.
For example, on a Linux system with an IBM HTTP Server named webserver1 in the default location, copy...
/opt/IBM/WebServer/Plugins/bin/configurewebserver1.sh...to...
/opt/IBM/WAS/AppServer/bin...on the appserver machine.
If one platform is a *nix system such as AIX or Linux, and the other is a Windows platform, copy the script from the crossPlatformScripts directory...
plugins_root/bin/configureWeb_server_name.sh
plugins_root/bin/crossPlatformScripts/configureWeb_server_name.bat
- 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.
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:
CHCPUse 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 ND 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.batThe 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 ND 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.shIf 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 appserver is running.
- Copy the configureweb_server_name.sh script on systems such as AIX or Linux, the configureweb_server_name.bat script on Windows systems, or the configureweb_server_name script on i5/OS from Machine B to...
app_server_root /bin...on Machine A. Use the startServer command to start the appserver...
profile_root/bin/startServer.sh server1
- Start the nodeagent process if the appserver is federated. Use the startNode command, for example:
profile_root/bin/startNode.sh
profile_root\bin\startNode
- Start the deployment manager if the appserver is federated. Use the startManager command, for example:
profile_root/bin/startManager.sh
profile_root\bin\startManager
- Stop the Web server if it is running.
- Run the script on the appserver machine to create a Web server definition for the non-default profile. The profile name should be passed as a parameter when the script is executed.
Open a command window to run the script that you copied to Machine A.
As soon as the Web server definition is created, the appserver creates a plugin-cfg.xml file for the Web server. For example, the file on a Linux system might have the following file path...
profile_root/config/cells/cellname/nodes/webserver1_node/servers/webserver1/plugin-cfg.xml
- From the 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.
- UNIX
. plugins_root/bin/setupPluginCfg.sh
- 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.
- 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 ND 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:
./startServer.sh server1
- Start the IBM HTTP Server or the Web server that you are using.
Use a command window to change the directory to the IBM HTTP Server installed image, or to the installed image of your Web server. Issue the appropriate command to start the Web server, such as these commands for IBM HTTP Server:
To start the IBM HTTP Server from the command line: Access the apache and apachectl commands
- UNIX/Linux
cd IBMHttpServer/bin
./apachectl start
- Windows
cd IBMHttpServer/bin
apache
- 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:
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...
IHS_root/conf/admin.passwdFor example:
c:\ws\ihs60\bin\htpasswd -cb c:\ws\ihs60\conf\admin.passwd adminUser adminPassword
- Use the 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 administrationSet 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...
IHS_root/logs/admin_error.log...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 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 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 WAS administrative console.
- Verify that the user ID and password that is specified in the WebSphere Application Server 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 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 WAS logs (trace.log file) to determine the cause of the problem.
Results
This procedure results in the installation of the Web server plug-ins for WAS on a Web server machine. After modification, the resulting script creates a Web server definition for an appserver that is not the default profile. The Plug-ins installation wizard also configures the Web server to support the appserver.
If you can see the Snoop servlet through the Web server, you have successfully configured the Web server and the appserver. The installation of the binary plug-in modules results in the creation of the Plugins directory and several subdirectories. The following directories are among those created on a Linux system...
plugins_root/uninstall Uninstaller program plugins_root/bin Binary plug-ins for all supported Web servers plugins_root/logs Log files plugins_root/properties Version information plugins_root/roadmap Roadmap for the Plug-ins installation wizard
What to do next
After configuring a Web server and creating a Web server definition, you can deploy applications and serve them through the Web server.
Related tasks
Installing Web server plug-ins
Edit Web server configuration files