Example: /opt/IBM/WebSphere/HTTPServer/bin/apxs -Wc,-m32 ...
. On z/Linux, -m31 is used.
IBM does not provide support for building third party modules, but the regular facilities used to build Apache modules are not restricted in any way. Some potential pitfalls in third party modules:
A defect exists in 6.1.0.23 on z/Linux only that causes apxs, the tool used to compile out-of-tree modules, to reference the compiled-in server root instead of the installation PATH. <ihsinst>/build/config_vars.mk is unnecessarily replaced by this fixpack and the logic to replace the "default" values is only run during a Full Install.
The file can be updated by changing to the <ihsinst> directory and running bin/updateinstallpath $PWD
.
On unaffected systems, or after re-running bin/updateinstallpath
, some entries in <ihsinst>/build/config_vars.mk will continue to reflect build-time values, but they are not required to match the installation directory for apxs.
WebSphere customers are licensed to use IHS in support of their WebSphere Application Server and not for any other purpose. For the vast majority of use cases, colocating PHP with IHS will not fall within these terms (as it effectively is using IHS as a (non-java) application server).
In contrast, "free web download" version of IBM HTTP Server has no such license limitations but is not supported by IBM.
When IBM HTTP Server is used under the z/OS Ported Tools license, there are no license limitations but support is limited to the components provided by IBM.
Supported versions of IBM HTTP Server uses a threaded MPM. The "standard" method of using PHP with Apache, mod_php, cannot be reliably used with this MPM. Alternatives include running PHP via CGI or FastCGI.
PHP may need modifications to its build system to accommodate IHS, see previous entry
mod_auth_form allows Apache to accept credentials via an HTML form instead of HTTP Basic Authentication. Unfortunately, it requires the services of mod_session to allow a once-per-session form-based challenge to authenticate a user for some period of time
In turn, mod_session requires at least one of session persistence (via a database abstraction layer) or additional cryptographic routines inside of Apache Portable Runtime (APR), a low level library Apache HTTP Server is built on. These functions are not available in the IBM's build of APR.
It is not consistent with IBM's strategy to replicate this application server functionality in IBM HTTP Server, and the drag of cryptography and database drivers into IBM HTTP Server is too great to include this module in IHS.
Because of these dependencies, it is not practical for users to compile their own mod_auth_form and mod_session in IBM HTTP Server.