IBM HTTP Server V5.3 for z/OS: Part 6: Programming

Various capabilities in IBM HTTP Server V5.3 for z/OSĀ® are available in IBM HTTP Server, but implemented differently. Learn about key differences in programming for the two web servers.

The part and chapters correspond to the part and chapters in publication number SC34-4826-09 of the z/OS HTTP Server Planning, Install, and Using guide for IBM HTTP Server V5.3 for z/OS.

The following topic applies to chapter 18:

The following topic applies to chapter 19:

The following topic applies to chapter 20:


CGI and FastCGI programs

IBM HTTP Server supports Common Gateway Interface (CGI) and FastCGI programs, but does not include any information about how to write code for them.


Go Webserver Application Programming Interface (GWAPI)

IBM HTTP Server provides Apache APIs that are similar to GWAPI in IBM HTTP Server V5.3 for z/OS, but the binary and sources are not compatible. These Apache APIs are part of the open source Apache HTTP Server, on which IBM HTTP Server is based.

IBM HTTP Server includes source for one example module and public headers that define the Apache API.

  • The example is in the <install_root>/example_module/mod_example.c file path.

  • The public headers are in the <install_root>/include/ subdirectory.

Apache HTTP Server includes source for a number of modules.

  • We can download the source and review these modules for pointers on how to accomplish a task in a plug-in.

  • Generally, use the apxs tool to compile and install Apache modules.

Learn more about Apache modules by reading white papers and publicly available books. Two useful white papers document the process of writing simple Apache modules for the z/OS operating system. One of the white papers contains information about the classification of URL requests in IBM HTTP Server by using WLM. Another white paper contains information about extending IBM HTTP Server with custom modules.

Attention: REXX plug-ins are not supported. We cannot develop Apache modules by using REXX.


Lightweight Directory Access Protocol (LDAP)

The plug-ins that you develop for IBM HTTP Server by default have limited access to LDAP data. If you manage your own connections, we can have more access.

Use the AuthLDAPUrl directive to define attributes. IBM HTTP Server adds each attribute that you define as an environment variable that is internal to the server itself. When IBM HTTP Server adds an attribute, it puts a prefix of AUTHENTICATE_ on the attribute name.

Use the mod_ldap module so that your LDAP modules can use connection pooling. For further information, consult the include/util_ldap.h file in the Apache HTTP Server source.


Related