Rebuilding the Tomcat Plugin in IBM i 7.5
Open 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.
Leave a Reply
Want to join the discussion?Feel free to contribute!