JKL Toy Company configures an in-process WAR file with ASF Tomcat on HTTP Server (powered by Apache)

This scenario discusses how to configure ASF Tomcat to use an in-process WAR.

Important: Information for this topic supports the latest PTF levels for HTTP Server for i5/OS . It is recommended that you install the latest PTFs to upgrade to the latest level of the HTTP Server for i5/OS. Some of the topics documented here are not available prior to this update. See http://www.ibm.com/servers/eserver/iseries/software/http/services/service.htm Link outside Information Center for more information.

Scenario

The JKL Toy Company (a fictitious company) wants to take an existing Web application archive (WAR) file named jklwar.war and enable it to run in-process using the ASF Tomcat servlet engine with the HTTP Server (powered by Apache). The Servlet and JSP Enablement wizard is used to modify the existing HTTP Server (powered by Apache), JKLTEST.

Prerequisites

Start the IBM® Web Administration for i5/OS™ interface

Note: Enter your Webmaster user profile username and password when prompted.
  1. Start a Web browser.
  2. Enter http://[iSeries_hostname]:2001 in the location or URL field .

    Example: http://jkl_server:2001

    Note: If you have changed your port number for the IBM Web Administration for i5/OS interface, replace port 2001 with your port number.
  3. Click IBM HTTP Server for iSeries.
Note: If the IBM Web Administration for i5/OS interface does not start, see Install and test the HTTP Server.

Set up ASF Tomcat for your HTTP Server (powered by Apache)

  1. Click the Manage tab.
  2. Click the HTTP Servers subtab.
  3. Select your HTTP Server (powered by Apache) from the Server list.

    Example: JKLTEST

  4. Select Global configuration from the Server area list.
  5. Expand HTTP Tasks and Wizards.
  6. Click Servlet and JSP Enablement.
  7. Click Next.
    Note: If you have used the Servlet and JSP Enablement wizard prior to this scenario, the wizard will reset all values to the wizard default. Click Next to continue.
  8. Select I want to use a Web Application Archive (WAR) file containing an entire server application, and I either already have the WAR file or will provide it later.
  9. Click Next.
  10. Enter the name of your WAR file.

    Example: jklwar.war

  11. Click Next.
  12. Click Finish.

Place your JSP file in the Web applications directory

Using a file transfer method such as iSeries™ Navigator, Netserver mapped drives, or FTP, transfer your WAR file to your HTTP Server (powered by Apache) /www/[server_name]/webapps/ directory.

Example: /www/jkltest/webapps/

Restart your HTTP Server (powered by Apache)

Select one of the following methods below:

Manage one server

  1. Click the Manage tab.
  2. Click the HTTP Servers subtab.
  3. Select your HTTP Server from the Server list.
  4. Click the Stop icon if the server is running.
  5. Click the Start icon.

Manage all servers

  1. Click the Manage tab.
  2. Click the HTTP Servers subtab.
  3. Select All Servers from the Server list.
  4. Click the All HTTP Servers tab.
  5. Select your HTTP Server name in the table.

    Example: JKLTEST

  6. Click Stop if the server is running.
  7. Click Start.
Note: If your HTTP Server (powered by Apache) does not start, see Troubleshoot.

Test your HTTP Server (powered by Apache)

  1. Start a new Web browser.
  2. Enter http://[iSeries_hostname]:[port]/[WAR_file_name]/[WAR_file_content] in the location or URL field.

    Example: http://jkl_server:1975/jklwar/jklwar.html

The contents of your WAR file will be displayed.

View your HTTP Server (powered by Apache) configuration

Your configuration will look similar if you used the given example in this and previous examples.

  1. Click the Manage tab.
  2. Click the HTTP Servers subtab.
  3. Select your HTTP Server (powered by Apache) from the Server list.

    Example: JKLTEST

  4. Expand Tools.
  5. Click Display Configuration File.
LoadModule jk_module /QSYS.LIB/QHTTPSVR.LIB/QZTCJK.SRVPGM
Listen *:1975
DocumentRoot /www/jkltest/htdocs
ServerRoot /www/jkltest
Options -ExecCGI -FollowSymLinks -SymLinksIfOwnerMatch -Includes -IncludesNoExec -Indexes -MultiViews
HotBackup Off
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%{Cookie}n \"%r\" %t" cookie
LogFormat "%{User-agent}i" agent
LogFormat "%{Referer}i -> %U" referer
LogFormat "%h %l %u %t \"%r\" %>s %b" common
CustomLog logs/access_log combined
SetEnvIf "User-Agent" "Mozilla/2" nokeepalive
SetEnvIf "User-Agent" "JDK/1\.0" force-response-1.0
SetEnvIf "User-Agent" "Java/1\.0" force-response-1.0
SetEnvIf "User-Agent" "RealPlayer 4\.0" force-response-1.0
SetEnvIf "User-Agent" "MSIE 4\.0b2;" nokeepalive
SetEnvIf "User-Agent" "MSIE 4\.0b2;" force-response-1.0
JkWorkersFile /www/jkltest/conf/workers.properties
JkLogFile /www/jkltest/logs/jk.log
JkLogLevel Error
JkMount /jklwar/* inprocess
JkMount /servlet/* inprocess
JkMount /jklwar inprocess
<Directory />
   Order Deny,Allow
   Deny From all
</Directory>
<Directory /www/jkltest/htdocs>
   Order Allow,Deny
   Allow From all
</Directory>