Install IBM HTTP Server - z/OS
This topic describes how to install a running version (server instance) of the IBM HTTP Server for WAS on z/OS using the installer program.
Before we begin
Prior to using the installer program:
- Obtain and apply the WAS V6.1 PTF that provides support of IBM HTTP Server for z/OS systems using SMP/E. The IBM HTTP Server code is installed into the WASs Optional Materials tree. The default directory name is: /usr/lpp/zWebSphere_OM/V6R1/HTTP/Server.
- Mount the file system containing this directory on the z/OS system where the IBM HTTP Server instance will run.
- Perform the z/OS system configurations that are required for IBM HTTP Server.
- Create a System Authorization Facility (SAF) user ID and group for use by IBM HTTP Server. For details, see z/OS system configurations.
The examples that follow in this topic assume a server user ID of WWWSERV and a server group of WWWGROUP.
- Create an installation directory to hold the configuration files for the server instance. See Migrating and installing IBM HTTP Server > z/OS systems for more information.
The examples that follow in this topic assume an installation directory of /etc/websrv1. Set the directory permissions to 770 and the directory ownership to the server user ID and group:
mkdir /etc/websrv1 chown WWWSERV:WWWGROUP /etc/websrv1 chmod 770 /etc/websrv1
- The user running the installer must have write access to the selected installation directory. The user ID must have a valid OMVS segment, and the user ID must be the same as the user ID that the Web server runs as. (See the z/OS system configuration section referenced in the previous steps.)
Overview
Use the installer program, perform the following tasks to install a running instance of IBM HTTP Server for z/OS on our machine.
Procedure
- Log in to the UNIX System Services shell with the user ID that will run the installer. (See the Before we begin section for this topic.) Change the directory to the IBM HTTP Server product code directory:
cd /usr/lpp/zWebSphere_OM/V6R1/HTTP/Server
- Run the installer program to install the product files into the installation directory, perform initial customization, and create symbolic links from the installation directory to the product directory.
The installer program is: bin/install_ihs.
There are two parameters for the invocation of the installer program.
- The installation directory for the server instance. This must not be the same as the product directory.
- Optional: The non-SSL port for the Web server. The default is port 80. We can also change the port on the Listen directive later.
The following instruction is an example for invoking the installer program:
bin/install_ihs /etc/websrv1 80Where /etc/websrv1 is the installation directory, and 80 is the non-SSL port for the Web server.
- Optional: To enable the WAS
console to edit the httpd.conf file:
- Specify the -admin option when we run install_ihs. For example:
bin/install_ihs -admin /etc/websrv1 80If we have already run install_ihs without the -admin option, we can run the bin/enable_admin script later to set the necessary permissions.
- The WAS control region user ID must be added to the IBM HTTP Server group via SAF. For example, to add user ASCR1 to group WWWGROUP:
CONNECT ASCR1 GROUP(WWWGROUP) OWNER(WWWGROUP)
- To use the WebSphere administration console to start and stop IBM HTTP Server, we must set this up with a cataloged JCL procedure. For more information see Use JCL procedures to start IBM HTTP Server on z/OS. Ensure that the JCL procedure is assigned to the user and group we defined for IBM HTTP Server, as described in Performing required z/OS system configurations.
- Optional: We can start the IBM HTTP Server instance from the MVS console by creating a JCL cataloged procedure for the instance. See Use JCL procedures to start IBM HTTP Server on z/OS for more information.
- Optional: We can create multiple instances of IBM HTTP Server. By running the IBM HTTP Server installer program more than once, we can create multiple instances. However, be sure to use a different installer program each time we run the installer program.
Results
Perform the following steps to confirm that we have successfully installed a running version of the product on our machine:
- Log in to the OMVS shell using the server user ID. Verify that the server user ID has a non-zero UID value. Change the directory to the server instance's installation directory:
cd /etc/websrv1
- Executes to verify the installation of the program: apachectl -v and apachectl configtest
The following sample output is an example of a successful program installation:
# bin/apachectl -v Server version: IBM _HTTP_Server/6.1-rc2 Apache/2.0.47 Server built: Oct 6 2006 17:33:30 # bin/apachectl configtest Syntax OKThe actual version string and build date will vary.
- Start IBM HTTP Server.
bin/apachectl start
- Load the default Web page from the browser to confirm that IBM HTTP Server is operational: Point a Web browser to the IP name or address of our z/OS system, using either the non-SSL port number we specified when running the installer program, or the default port of 80.
- Stop IBM HTTP Server by running the following command:
bin/apachectl stop
What to do next
- Install and configure the WAS plug-in for IBM HTTP Server.
- For information on editing the IBM HTTP Server configuration file httpd.conf and information on supported Apache modules, see Configure IBM HTTP Server.
Typical changes that we can make to the configuration file are:
- Edit the DocumentRoot directive to point to the Web pages for our site.
- Enable the WAS plug-in for IBM HTTP Server by adding the following directives to the end of httpd.conf:
LoadModule was_ap20_module <plugin_config_hfs>/bin/mod_was_ap20_http.so WebSpherePluginConfig /path/to/existing/plugin-cfg.xmlIf the plug-in configuration file has been used with a WAS V5.0 or 5.1 plug-in, then the file is in EBCDIC. Before using the file with this WAS V6.0 or higher plug-in, you need to convert it to ASCII. The following example is for converting the plug-in configuration file from EBCDIC to ASCII:
$ iconv -f IBM 1047 -t ISO8859-1 < /path/to/existing/plugin-cfg.xml \ > /path/to/ascii/plugin-cfg.xml
- Enable SSL support by adding the following directives to the end of httpd.conf:
LoadModule ibm_ssl_module modules/mod_ibm_ssl.so Listen 443 <VirtualHost *:443>The Keyfile directive can instead specify an HFS filename using the syntax: Keyfile /path/to/keyfile.kdb. The .sth file must be in the same directory as the .kdb file. For more information, see Securing with SSL communications and SSL directives.
SSLEnable </VirtualHost> SSLDisable Keyfile /saf saf-keyring-name
- Enable mod_status by removing the comment delimiters in the default configuration file which are highlighted below:
<IfModule mod_status.c> ExtendedStatus On </IfModule> ... #<Location /server-status> # SetHandler server-status # Order deny,allow # Deny from all # Allow from.example.com #</Location>If we want to restrict access to specific networks, uncomment the sample mod_access configuration, but modify the Allow from directive to specify the proper domain or network.
- We can install the Web server to an HFS shared R/W by multiple hosts in a sysplex.
There are special configuration requirements for components of the Web server which utilize AF_UNIX sockets. AF_UNIX sockets are not supported by an HFS which are shared R/W, so configuration directives are used to place the AF_UNIX sockets on a filesystem owned by the host on which the Web server runs.
- If mod_ibm_ssl is loaded, use the SSLCachePortFilename directive to specify a file on a filesystem owned by the local host.
- If mod_fastcgi is loaded, use the FastCGIIpcDir directive to specify a directory on a filesystem owned by the local host.
Related concepts
Use JCL procedures to start IBM HTTP Server on z/OS
Related tasks
Performing required z/OS system configurations
Uninstall IBM HTTP Server
Installing and configuring the WebSphere Application Server plug-in for IBM HTTP Server on z/OS
Related reference
FastCGI directives
SSL directives