Wednesday, 19 May 2010

Problem with IBM HTTP Server Plugin configuration file when attempting to propagate from WebSphere Application Server

Some more weirdness from the front line.

In order to run two web servers ( one on port 80, one on port 81 ) on the same (virtual) machine, running IBM HTTP Server 6.1.0.29, I configured a pair of configuration files ( equivalent to httpd.conf ); one called itim50.conf and one called wps615.conf for IBM Tivoli Identity Manager 5.0 and IBM WebSphere Portal 6.1.5 respectively.

I've actually got two VMs, each running IHS, so I'll end up with four instances, spread across two VMs, one on each VM for each product.

So far so good.

However, I then needed to create unique webserver configurations ( called webserver3 on one box and webserver on the second box ), as I had webserver1 and webserver2 already set up.

Using the ConfigureIHSPlugin.sh script, that was relatively easy: -

/ConfigureIHSPlugin.sh -plugin.home /opt/IBM/HTTPServer/Plugins/ -plugin.config.xml /opt/IBM/HTTPServer/Plugins/config/templates/plugin-cfg.xml -ihs.conf.file /opt/IBM/HTTPServer/conf/itim50.conf -ihs.admin.usergroup ihsadmins -operating.system Linux -operating.system.arch 32 -WAS.webserver.name webserver4

This creates the relevant webserver3 and webserver4 configuration under /opt/IBM/HTTPServer/Plugins/config/webserver3 and /opt/IBM/HTTPServer/Plugins/config/webserver4 respectively.

Again, so far, so good.

So why oh why do I get an exception when I attempt to propagate the plugin configuration from the Deployment Manager ( WAS 6.1.0.29 ) to either new HTTP server ?

This is the error that I get from WAS: -

[5/19/10 19:40:45:366 BST] 0000001c SystemOut     O PLGC0063E: The propagation of the plug-in configuration file from /opt/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/admut-2Cell01/nodes/webut-2/servers/webserver4/plugin-cfg.xml to /opt/IBM/HTTPServer/Plugins/config/webserver4/plugin-cfg.xml on the Web server computer failed.

and, in the IHS error log ( /opt/IBM/HTTPServer/log/admin_error.log ), I got this: -

[Wed May 19 19:28:05 2010] [error] ac_write_file: (AC_OPENFILE) WriteFile: Error 13 opening file /opt/IBM/HTTPServer/Plugins/config/webserver3/plugin-cfg.xml.\n

I then started IHS ( adminctl instance ) up in debug mode, by setting: -

LogLevel debug

in /opt/IBM/HTTPServer/conf/admin.conf

This showed up a more detailed exception: -

[Wed May 19 19:37:40 2010] [error] ac_write_file: (AC_OPENFILE) WriteFile: Error 13 opening file /opt/IBM/HTTPServer/Plugins/config/webserver3/plugin-cfg.xml.\n
[Wed May 19 19:38:47 2010] [info] [client 128.86.242.71] mod_ibm_admin: Command issues with following arguments --  Command=WriteFile   Arguments=/opt/IBM/HTTPServer/Plugins/config/webserver3/plugin-cfg.xml  
[Wed May 19 19:38:47 2010] [info] [client 128.86.242.71] mod_ibm_admin: SAIL_WRITE_FILE


However, I still couldn't crack it.

Casting around for inspiration, I checked the permission of the plugin-cfg.xml file in: -

/opt/IBM/HTTPServer/Plugins/config/webserver3
/opt/IBM/HTTPServer/Plugins/config/webserver4

and saw that they were set to: -

-rw-rw-r-- 1 root ihsadmins 25614 May 19 18:07 plugin-cfg.xml

Taking a gamble, I changed the permissions: -

chmod ihsadmin:ihsadmins /opt/IBM/HTTPServer/Plugins/config/webserver3/plugin-cfg.xml
chmod ihsadmin:ihsadmins /opt/IBM/HTTPServer/Plugins/config/webserver4/plugin-cfg.xml

giving me permissions of: -

-rw-r--r-- 1 ihsadmin ihsadmins  1606 May 19 19:42 plugin-cfg.xml

and, quelle surprise, propagation started working.

Looking at the original plugin-cfg.xml file as created by the IHS installer ( in webserver1 and webserver2 ), the file permissions are: -

-rw-rw-r-- 1 root ihsadmins 25614 May 19 18:07 plugin-cfg.xml

Strange but true ...

These two Technotes: -



are both extremely useful in debugging this.

No comments: