Bootstrap FreeKB - IBM IHS Web Server - Resolve "Failed parsing plugin config file"
IBM IHS Web Server - Resolve "Failed parsing plugin config file"

Updated:   |  IBM IHS Web Server articles

Let's say your IBM WebSphere Plugin http_plugin.log file contains something like this.

[05/Oct/2023:00:24:00.18139] 001736fb 42110500 - ERROR: ws_common: websphereUpdateConfig: Failed parsing plugin config file:
[05/Oct/2023:00:24:00.18169] 001736fb 42110500 - ERROR: ws_common: websphereInit: Failed to load the config file
[05/Oct/2023:00:24:00.18169] 001736fb 42110500 - ERROR: mod_was_ap24_http: as_post_config: unable to initialize websphere

 

This suggests there is some issue with the IBM WebSphere Web Server Plugin. Check out my article Getting Started with the web server plugin (plugin-cfg.xml) if you are not familiar with the IBM WebSphere Web Server Plugin.

I once had this issue when I installed version 9.0.5.16 of the IBM WebSphere Web Server Plugin. Check out my article list installed packages using the imcl listInstalledPackages command.

~]$ /opt/WebSphere/InstallationManager/eclipse/tools/imcl listInstalledPackages -long
/opt/WebSphere/InstallationManager/eclipse : com.ibm.cic.agent_1.9.2004.20230323_1254 : IBM® Installation Manager : 1.9.2.4
/opt/WebSphere/Plugins90 : com.ibm.java.jdk.v8_8.0.8005.20230425_1032 : IBM SDK, Java Technology Edition, Version 8 : 8.0.8.5
/opt/WebSphere/Plugins90 : com.ibm.websphere.PLG.v90_9.0.5016.20230609_0954 : Web Server Plug-ins for IBM WebSphere Application Server : 9.0.5.16

 

Notice the http_plugin.log mentions mod_was_ap24_http.so. This is the module that the web server uses. The web servers httpd.conf file will use the LoadModule directive to load the mod_was_ap24_http.so module. Additionally, there should also be a WebSpherePluginConfig directive that points to the IBM WebSphere Web Server Plugin configuration file plugin-cfg.xml.

LoadModule was_ap24_module /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so
WebSpherePluginConfig /opt/WebSphere/Plugins90/config/myWebServer/plugin-cfg.xml

 

So the first thing I did was to use the httpd or apachectl command to see if the mod_was_ap24_http.so module was Loaded. Check out my articles Display loaded modules using the httpd command or Display loaded modules using the apachectl command.

~]# /path/to/bin/httpd -M
Loaded Modules:
 was_ap24_module (shared)

 

Assuming the module was loaded, fortunately we had multiple servers, where some servers had version 9.0.5.14 of the IBM WebSphere Web Server Plugin installed and others had version 9.0.5.16 of the IBM WebSphere Web Server Plugin installed. I noticed that the servers at version 9.0.5.14, the mod_was_ap24_http.so file was 2611303 bytes, whereas the servers at version 9.0.5.16, the mod_was_ap24_http.so file was 2714692 bytes. In other words, something was different with the mod_was_ap24_http.so file on version 9.0.5.14 vs version 9.0.5.16.

[john.doe@server1 ~]$ ll /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so
-rwxr-xr-x. 1 nobody admins 2714692 Oct  5  2022 /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so

[john.doe@server2 ~]$ ll /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so
-rwxr-xr-x. 1 nobody admins 2611303 Oct  5  2022 /opt/WebSphere/Plugins90/bin/64bits/mod_was_ap24_http.so

 

I stopped the web server instances. Check out my article Start Stop Restart web server using the apachectl command.

/path/to/bin/apachectl -k stop

 

I took a copy of the mod_was_ap24_http.so file from the server at version 9.0.5.14 and copied it onto the server at version 9.0.5.16, restarted the IBM IHS web server instances, and then re-checked the http_plugin.log file, and saw the Plugin was successfully loaded.

[05/Oct/2023:00:52:54.64911] 00175616 62eab500 - PLUGIN: Plugins loaded.
[05/Oct/2023:00:52:54.64914] 00175616 62eab500 - PLUGIN: --------------------System Information-----------------------
[05/Oct/2023:00:52:54.64914] 00175616 62eab500 - PLUGIN: Bld version: 9.0.5.14
[05/Oct/2023:00:52:54.64915] 00175616 62eab500 - PLUGIN: Bld date: Oct  5 2022, 13:05:30
[05/Oct/2023:00:52:54.64915] 00175616 62eab500 - PLUGIN: Webserver: IBM_HTTP_Server/9.0.5.16 (Unix)
[05/Oct/2023:00:52:54.64916] 00175616 62eab500 - PLUGIN: OS : Linux x86_64
[05/Oct/2023:00:52:54.64916] 00175616 62eab500 - PLUGIN: Hostname = server1.example.com
[05/Oct/2023:00:52:54.64917] 00175616 62eab500 - PLUGIN: NOFILES = hard: 65536, soft: 65536
[05/Oct/2023:00:52:54.64917] 00175616 62eab500 - PLUGIN: MAX COREFILE SZ = hard: INFINITE, soft: 0
[05/Oct/2023:00:52:54.64918] 00175616 62eab500 - PLUGIN: DATA = hard: INFINITE, soft: INFINITE
[05/Oct/2023:00:52:54.64918] 00175616 62eab500 - PLUGIN: --------------------------------------------------------------

 

You may want to try setting these parameters in the WebSphere admin console at Servers > Server Types > Web servers > your web server > Plug-in properties > Custom properties.

  • SecureHostVerification = true-nomarkdown or false
  • HostVerificationStartupCheck = false
  • UseInsecure = true

 

You should be able to see these parameters set in your web servers server.xml file.

~]$ cat /opt/WebSphere/AppServer/profiles/your_profile/config/cells/your_cell/nodes/your_code/servers/your_server/server.xml
      <properties xmi:id="Property_1696497760186" name="SecureHostVerification" value="false" required="false"/>
      <properties xmi:id="Property_1696498841890" name="HostVerificationStartupCheck" value="false" required="false"/>
      <properties xmi:id="Property_1696499442733" name="UseInsecure" value="true" required="false"/>

 

Or, wsadmin.sh can be used.

~]$ /opt/WebSphere/AppServer/profiles/your_dmgr_profile/bin/wsadmin.sh -c "print AdminConfig.list('Property', '(cells/your_cell/nodes/your_web_node/servers/your_web_server|server.xml#PluginProperties_1665772887624)')" -lang jython
WASX7209I: Connected to process "dmgr" on node your_dmgr using SOAP connector;  The type of process is: DeploymentManager
HostVerificationStartupCheck(cells/your_cell/nodes/your_web_node/servers/your_web_server|server.xml#Property_1696498841890)
SecureHostVerification(cells/your_cell/nodes/your_web_node/servers/your_web_server|server.xml#Property_1696497760186)
UseInsecure(cells/your_cell/nodes/your_web_node/servers/your_web_server|server.xml#Property_1696499442733)

 

Then generate the web server plugin plugin-cfg.xml file using one of these methods.

 

And verify SecureHostVerification and HostVerificationStartupCheck and UseInsecure are in the plugin-cfg.xml file on your WebSphere deployment manager. There is a defect with certain versions of WebSphere where SecureHostVerification and HostVerificationStartupCheck are not in plugin-cfg.xml. To resolve this, you would want to install interim fix 8.5.5.14-WS-WAS-IFPH48747.

~]$ head /opt/WebSphere/AppServer/profiles/your_profile/config/cells/your_cell/nodes/your_web_node/servers/your_web_server/plugin-cfg.xml
HostVerificationStartupCheck="false"
SecureHostVerification="false"
UseInsecure="true"

 

 




Did you find this article helpful?

If so, consider buying me a coffee over at Buy Me A Coffee



Comments


Add a Comment


Please enter 56514e in the box below so that we can be sure you are a human.