Rebuilding the Tomcat Plugin in IBM i 7.5

Apache Tomcat on IBM iOpen source saves the day once again.

When one of our open source support clients discovered that Tomcat plugin for Apache was not supported on their test IBM i 7.5 system, they needed a solution. They relied on Tomcat to serve their Java web applications.

Further investigation showed that IBM had been recommending for several years that users build their own Tomcat plugin from source code to get the latest features. IBM removed the old Tomcat plugin in IBM i 7.5. The client knew we built open source projects and asked us to build the Tomcat plugin so that they could complete their IBM i 7.5 upgrade.

If you attempt to use the old plugin on IBM i 7.5, your web server joblog will receive this message:

The HTTP Server module /QSYS.LIB/QHTTPSVR.LIB/QZTCJK.SRVPGM specified on the LoadModule directive cannot be added into the server.

Here is how to correct the issue.

From QZTCJK to mod_jk

In releases prior to IBM i 7.5, IBM shipped the service program QZTCJK. Apache web server configurations in httpd.conf would include this directive:

LoadModule jk_module /QSYS.LIB/QHTTPSVR.LIB/QZTCJK.SRVPGM

Starting with IBM i 7.5, it is necessary to use the open source version, called mod_jk. Once this plugin is built, the web server directive should be changed to resemble:

LoadModule jk_module /QSYS.LIB/QHTTPSVR.LIB/MOD_JK.SRVPGM

How to build mod_jk

IBM has documented how to build the Apache Tomcat plugin from the latest open source code.

We successfully followed the instructions and got our client up and running. There were a couple of tricky moments along the way involving hardcoded paths (we solved using symbolic links) and cleaning up extra spaces in the source code.

If you need help

If you run into this issue with needing to rebuild the Apache Tomcat plugin for IBM i 7.5 and need a hand, let us know.

 

0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.