IBM web server Plugin may need LD_LIBRARY_PATH when used with Apache 2.2 - United States  TECHNOTE (TROUBLESHOOTING)

PROBLEM(ABSTRACT)
 IBM web server Plug-in provides the connection between the web server tier and the IBM WebSphere Application Server (WAS) tier.

When using Apache 2.2 web server on Linux operating systems, the IBM web server Plug-in may need to have the LD_LIBRARY_PATH environment variable set in a certain way, in order to be able to locate the IBM Global Security Kit (GSKit) libraries needed for SSL (HTTPS).

Without the GSKit libraries, the IBM web server Plug-in will be unable to initialize SSL, and will use only HTTP for connections to the WAS appservers. 

SYMPTOM
During web server start-up, errors like the following will be logged into the Plug-in log file (http_plugin.log): 

ERROR: lib_security: loadSecurityLibrary: Failed to load gsk library from /opt/IBM/WebSphere/Plugins/gsk8/gsk8_64
ERROR: ws_transport: transportInitializeSecurity: Unable to load security library
ERROR: ws_server: serverAddTransport: Failed to initialize security
ERROR: ws_server: serverAddTransport: HTTPS Transport is skipped


RESOLVING THE PROBLEM
To resolve the problem, you must set the LD_LIBRARY_PATH environment variable to point to the library directory of the GSKit that comes with the IBM web server Plug-in. The precise directory location will depend of the version of Plug-in, and on the bit depth being used (32-bit or 64-bit). 

 

For example..... 

If you installed the 32-bit Plug-in v7.0 and are using with a 32-bit Apache 2.2, use this: 

export LD_LIBRARY_PATH=/opt/IBM/WebSphere/Plugins/gsk7/lib/ 

 

If you installed the 64-bit Plug-in v7.0 and are using it with a 32-bit Apache 2.2, use this: 

export LD_LIBRARY_PATH=/opt/IBM/WebSphere/Plugins/gsk7/gsk7_32/lib/ 

 

If you installed the 64-bit Plug-in v7.0 and are using it with a 64-bit Apache 2.2, use this: 

export LD_LIBRARY_PATH=/opt/IBM/WebSphere/Plugins/gsk7/gsk7_64/lib64/ 

 

If you installed the 32-bit Plug-in v8.x and are using with a 32-bit Apache 2.2, use this: 

export LD_LIBRARY_PATH=/opt/IBM/WebSphere/Plugins/gsk8/lib/ 

 

If you installed the 64-bit Plug-in v8.x and are using it with a 32-bit Apache 2.2, use this: 

export LD_LIBRARY_PATH=/opt/IBM/WebSphere/Plugins/gsk8/gsk8_32/lib/ 

 

If you installed the 64-bit Plug-in v8.x and are using it with a 64-bit Apache 2.2, use this: 

export LD_LIBRARY_PATH=/opt/IBM/WebSphere/Plugins/gsk8/gsk8_64/lib64/ 

 

 

Please note that for Apache 2.2 on Linux, simply setting the LD_LIBRARY_PATH environment variable from the command line prior to starting the web server, MAY NOT WORK. In that case, you must set this variable as follows...

For SLES and SUSE Linux add the export command into the /usr/sbin/envvars file.

For RHEL Linux add the export command into the /etc/sysconfig/httpd file.

By adding the export command into the files shown above, it means that the environment variable will be set when the web server is started. That will enable the Plug-in to be able to locate the appropriate GSKit libraries and be able to initialize SSL transports. 



RELATED INFORMATION
#Web server plug-in setupGSKitLibPath script contains in [http://www-01.ibm.com/support/docview.wss?uid=swg21441018]

Question: Why Plug-in log file reports an error message after install & configure the WebSphere Plugin 8.5 version on a Apache 2.4 webserver. 

During web server start-up, errors like the following will be logged into the Plug-in log file (http_plugin.log):

ERROR: lib_security: loadSecurityLibrary: Failed to load gsk library from /opt/IBM/WebSphere/Plugins/gsk8/gsk8_64 ERROR: ws_transport: transportInitializeSecurity: Unable to load security library ERROR: ws_server: serverAddTransport: Failed to initialize security ERROR: ws_server: serverAddTransport: HTTPS Transport is skipped

Note: This is an Apache 2.4 version on a Linux platform

Answer: To resolve the problem, you must set the LD_LIBRARY_PATH environment variable to point to the library directory of the GSKit that comes with the IBM web server Plug-in. The precise directory location will depend of the version of Plug-in, and on the bit depth being used (32-bit or 64-bit).