# Web server plug-in installation roadmaps for WebSphere Application Server Network Deployment

Getting started
Plug-in installation roadmaps:

1. Web server plug-in installation for standalone application servers
2. Web server plug-in installation for distributed environments

## Web server plug-in installation for standalone application servers

| Remote installation scenario | Local installation scenario
## Typical environment | # Production (recommended) | # Development
## Installation and configuration |
Installation of the application server:
(Machine A)
1. | Install IBM Installation Manager.
2. | Use Installation Manager to install the WebSphere Application Server Network Deployment product.
3. | Create a standalone application server.
Installation of a Web server and the Web Server Plug-ins:
(Machine B)
4. | Install IBM Installation Manager.
5. | Use Installation Manager to install IBM HTTP Server, or install another supported Web server.
6. | Use Installation Manager to install the Web Server Plug-ins for WebSphere Application Server.
Configuration of the Web server plug-in:
(Machine B)
7. | Use Installation Manager to install the WebSphere Customization Tools.
8. | Open the WebSphere Customization Tools, and launch the Web Server Plug-ins Configuration Tool to configure the Web server plug-in. The script for creating and configuring the Web server is created in the plugins_root`/bin` directory.
9. | Copy the configureWeb_server_name script to paste on Machine A. See the Cross-platform considerations section of this document for more information about running configuration scripts when: One machine is running Windows and the other is running Linux or UNIX. One machine is running a different file encoding.
Creation of the Web server definition:
(Machine A)
10. | Paste the `configureWeb_server_name` script from Machine B to the app_server_root`/bin` directory on the Machine A
11. | Start the application server on Machine A.
12. | Run the script on Machine A.
Verification:
(Machine A)
13. | Verify that the application server is running.
(Machine B)
14. | Start IBM HTTP Server, or start another supported Web server.
15. | Run the Snoop servlet.
| To verify with your own application, regenerate and propagate the `plugin-cfg.xml` file after configuring (installing) the application.
Installation of the application server:
(Machine A)
1. | Install IBM Installation Manager.
2. | Use Installation Manager to install the WebSphere Application Server Network Deployment product.
3. | Create a standalone application server.
Installation of a Web server and the Web Server Plug-ins:
(Machine A)
4. | Use Installation Manager to install IBM HTTP Server, or install another supported Web server.
5. | Use Installation Manager to install the Web Server Plug-ins for WebSphere Application Server.
Configuration of the Web server plug-in and creation of the Web server definition:
(Machine A)
6. | Use Installation Manager to install the WebSphere Customization Tools.
7. | Open the WebSphere Customization Tools, and launch the Web Server Plug-ins Configuration Tool to configure the Web server plug-in and create the Web server definition.
8. | Start the application server.
Verification:
(Machine A)
9. | Verify that the application server is running.
10. | Start IBM HTTP Server, or start another supported Web server.
11. | Run the Snoop servlet.
## Regeneration of the `plugin-cfg.xml` file | During configuration, the temporary `plugin-cfg.xml` file is installed on Machine B 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 actual `plugin-cfg.xml` file from the application server, propagate the `plugin-cfg.xml` file as described in the next section. | The Web server plug-in configuration service regenerates the `plugin-cfg.xml` file automatically. The `plugin-cfg.xml` file is generated at the location profile_root `/config/cells/cell_name/nodes/node_name/servers/Web_server_name` directory when the Web server definition is created.
## Propagation of the `plugin-cfg.xml` file | The Web server plug-in configuration service propagates the `plugin-cfg.xml` file automatically for IBM HTTP Server only. To enable automatic propagation, perform the one-time setup. 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 to the `plugins_root/config/web_server_name` directory on Machine B. | Use the propagate option to move the `plugin-cfg.xml` file from the profile_root/config/cells/cell_name /nodes/node_name/servers/Web_server_name directory to the plugins_root/config/web_server_name directory.

### Remote topology | ### Local topology

# Web server plug-in installation for distributed environments (cells)
| Remote distributed installation scenario | Local distributed installation scenario
## Typical environment | # Production (recommended) | # Development
## Installation and configuration |
Installation of the deployment manager:
(Machine A)
1. | Install IBM Installation Manager.
2. | Use Installation Manager to install the WebSphere Application Server Network Deployment product.
3. | Create a deployment manger profile.
4. | Verify that the deployment manager is running to allow node synchronization of changed configuration files.
Installation of the application server:
(Machine B)
5. | Install IBM Installation Manager.
6. | Use Installation Manager to install the WebSphere Application Server Network Deployment product.
7. | Create a standalone application server.
8. | Add the node into the deployment manager cell to start the node agent process. Start the node agent on an existing managed node. The deployment manager and the node agent must be running to allow node synchronization of changed configuration files.
Installation of a Web server and the Web Server Plug-ins:
(Machine C)
9. | Install IBM Installation Manager.
10. | Use Installation Manager to install IBM HTTP Server, or install another supported Web server.
11. | Use Installation Manager to install the Web Server Plug-ins for WebSphere Application Server.
Configuration of the Web server plug-in:
(Machine C)
12. | Use Installation Manager to install the WebSphere Customization Tools.
13. | Open the WebSphere Customization Tools, and launch the Web Server Plug-ins Configuration Tool to configure the Web server plug-in. The script for creating and configuring the Web server is created in the plugins_root`/bin` directory.
14. | Copy the configureWeb_server_name script to paste on Machine A. See the Cross-platform considerations section of this document for more information about running configuration scripts when: One machine is running Windows and the other is running Linux or UNIX. One machine is running a different file encoding.
Creation of Web server definition:
(Machine A)
15. | Paste the configureWeb_server_name script from Machine C to the app_server_root `/bin` directory on Machine A.
16. | Run the script from a command line. This step requires that the deployment manager and the node agent are running. If you have enabled security or changed the default JMX connector type, edit the script and include the appropriate parameters.
Verification:
(Machines A and B)
17. | Use the administrative console of the deployment manager on Machine A to start the application server on Machine B.
(Machine C)
18. | Start IBM HTTP Server, or start another supported Web server.
19. | Run the Snoop servlet.
Note: The following procedure describes installing the plug-ins on two machines. However, you could perform this procedure on a single machine.
Installation of the deployment manager:
(Machine A)
1. | Install IBM Installation Manager.
2. | Use Installation Manager to install the WebSphere Application Server Network Deployment product.
3. | Create a deployment manger profile.
4. | Verify that the deployment manager is running to allow node synchronization of changed configuration files.
Installation of the application server:
(Machine B)
5. | Install IBM Installation Manager.
6. | Use Installation Manager to install the WebSphere Application Server Network Deployment product.
7. | Create a standalone application server.
8. | Add the node into the deployment manager cell to start the node agent process. Start the node agent on an existing managed node. The deployment manager and the node agent must be running to allow node synchronization of changed configuration files.
Installation of a Web server and the Web Server Plug-ins:
(Machine B)
9. | Use Installation Manager to install IBM HTTP Server, or install another supported Web server.
10. | Use Installation Manager to install the Web Server Plug-ins for WebSphere Application Server.
Configuration of the Web server plug-in:
(Machine B)
11. | Use Installation Manager to install the WebSphere Customization Tools.
12. | Open the WebSphere Customization Tools, and launch the Web Server Plug-ins Configuration Tool to configure the Web server plug-in and create the Web server definition. The script for creating and configuring the Web server is created in the plugins_root`/bin` directory.
13. | Copy the configureWeb_server_name script to paste on Machine A. See the Cross-platform considerations section of this document for more information about running configuration scripts when: One machine is running Windows and the other is running Linux or UNIX. One machine is running a different file encoding.
Creation of Web server definition:
(Machine A)
14. | Paste the configureWeb_server_name script from Machine B to the app_server_root `/bin` directory on Machine A.
15. | Run the script from a command line. This step requires that the deployment manager and the node agent are running. If you have enabled security or changed the default JMX connector type, edit the script and include the appropriate parameters.
Verification:
(Machines A and B)
16. | Use the administrative console of the deployment manager on Machine A to start the application server on Machine B.
17. | Start IBM HTTP Server, or start another supported Web server. Before starting the Domino Web Server on a Linux or UNIX system, source the plug-ins_root`/setupPluginCfg.sh` script.
18. | Run the Snoop servlet.
## Regeneration of the `plugin-cfg.xml` file | During configuration, a temporary `plugin-cfg.xml` file is installed on Machine C 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 real `plugin-cfg.xml` file from the application server, propagate the `plugin-cfg.xml` file as described in the next section. | The `plugin-cfg.xml` file is generated in the profile_root`/config/cells/cell_name /nodes/node_name/servers/Web_server_name` directory when the Web server definition is created. Regenerate the `plugin-cfg.xml` file in the Web server definition in the application server whenever the configuration changes. The Web server has immediate access to the file whenever it is regenerated. When the Web server plug-in configuration service (an administration service) is enabled on Machine A, the `plugin-cfg.xml` file is automatically generated for all Web servers.
## Propagation of the `plugin-cfg.xml` file | The Web server plug-in configuration service propagates the `plugin-cfg.xml` file automatically for IBM HTTP Server only. To enable automatic propagation, perform the one-time setup described in the last section of this roadmap. 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 to the plugins_root `/config/Web_server_name` directory on Machine C. | Use the propagate option to move the `plugin-cfg.xml` file from the profile_root/config/cells/cell_name/nodes/node_name/servers/Web_server_name directory to the plugins_root/config/web_server_name directory.

### Remote topology | ### Local topology

# Set-up and troubleshooting procedure for automatic propagation The Web server plug-in configuration service propagates the `plugin-cfg.xml` file automatically for IBM HTTP Server only. To enable automatic propagation, perform the following one-time setup: Create a user=adminUser, password=adminPassword in the IHS_root `/conf/admin.passwd` file. For example: c:\ws\ihs85\bin\htpasswd -cb c:\ws\ihs85\conf\admin.passwd adminUser adminPassword In the administrative console, click Servers > Web servers > webserver1 > Remote Web server management. 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: 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.

- # Cross-platform considerations for running the configuration script Several differences in operating systems and machine platforms can occur when configuring a remote Web server: One machine is running Windows and the other is running Linux or UNIX. One machine is running a default encoding that is different than the other. One machine is running Windows and the other is running Linux or UNIX If one machine is running under Linux or UNIX and the other machine is running under Windows, use the script created in the `plugins_root /bin/crossPlatformScripts` directory. One machine is running a default encoding that is different than the other The content of the `configureWeb_server_name.bat` script or the `configure Web_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 for each machine and use one of the following procedures as a workaround. To determine the default file encoding, run the appropriate command: Windows systems:
      CHCP
- Linux and UNIX systems:
      locale
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 correcting 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 Linux machine Run the following command on the Linux or UNIX 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 Linux and UNIX 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. Now suppose that the Web server is running on a Windows machine and Network Deployment is running on a Linux or UNIX machine. Web server running on a Windows machine Run the following command on the Linux or UNIX system 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 Linux and UNIX 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.