1

I'm working on an automated deployment of HCL Connections 6.5 using Ansible on CentOS 7. It already includes IBM IM, WAS (Dmgr + Node), DB2 and Connections itself. The HTTP Server (IHS) is installed, but now I need to configure it. I need to configure the WebSphere Plugin using WCT.

For education purpose, I did this in the past on another testserver using GUI mode like this:

cd /opt/IBM/WebSphere/Toolbox/WCT
./wct.sh

enter image description here

Now we get an wizard with several steps that asks for the plugin location, webserver definition name, port of the HTTP Server and so on.

Automate the wizard

I found wctcmd.sh as CLI equivalent of wtc.sh to configure webservers automatically. So I made the following response file

configType=remote
enableAdminServerSupport=true
enableUserAndPass=true
enableWinService=false
ihsAdminCreateUserAndGroup=true
ihsAdminPassword=password
ihsAdminPort=8008
ihsAdminUnixUserGroup=ihsadmin
ihsAdminUnixUserID=ihsadmin
mapWebServerToApplications=true
wasMachineHostname=cnx65.internal
webServerConfigFile1=/opt/IBM/HTTPServer/conf/httpd.conf
webServerDefinition=webserver1
webServerHostName=cnx65.internal
webServerOS=operating_system_value
webServerPortNumber=80
webServerSelected=ihs

and ran wctcmd.sh like this:

cd /opt/IBM/WebSphere/Toolbox/WCT
./wctcmd.sh -tool pct -createDefinition -defLocPathname /opt/IBM/WebSphere/Plugins -response resp-file

It says that the tool was executed successfully. But when I open the webserver config /opt/IBM/HTTPServer/conf/httpd.conf it has added the following two lines:

LoadModule was_ap22_module ${WAS_PLUGIN_DRIVER}
WebSpherePluginConfig /opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml

This variable is not defined and raise an error when starting the webserver:

# /opt/IBM/HTTPServer/bin/apachectl start
httpd: Syntax error on line 915 of /opt/IBM/HTTPServer/conf/httpd.conf: Cannot load ${WAS_PLUGIN_DRIVER} into server: ${WAS_PLUGIN_DRIVER}: cannot open shared object file: No such file or directory

I assume that the presence of ${WAS_PLUGIN_DRIVER} indicates something went wrong with wctcmd.sh because I looked at another test server with Connections 6 installed manually (with GUI) and the manually installed server has no variable there:

LoadModule was_ap22_module /opt/IBM/WebSphere/Plugins/bin/64bits/mod_was_ap22_http.so
WebSpherePluginConfig /opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml

A consultant with over 10 years of experience in WebSphere/Connections confirmed that LoadModule was_ap22_module /opt/IBM/WebSphere/Plugins/bin/64bits/mod_was_ap22_http.so is correct when everything worked correctly, so there should be no variable.

Questions

  1. Why does the tool place the ${WAS_PLUGIN_DRIVER} variable in my http config without resolving them?
  2. What am I doing wrong that this occurs?
covener
  • 17,402
  • 2
  • 31
  • 45
Lion
  • 16,606
  • 23
  • 86
  • 148
  • What has this got to do with ansible ? – Zeitounator Jan 09 '20 at 09:09
  • zapped that tag so it doesn't clutter ansible users' feeds – covener Jan 09 '20 at 12:20
  • I added it first with my Ansible playbook in mind, where I want to run this command. But for simplicity, I only posted the command without the Ansible part, since it's not relevant for the problem. But you're right that this make the Ansible tag obsolet. – Lion Jan 09 '20 at 13:01

1 Answers1

0

Figured out that I misinterpreted the operating_system_value value for webServerOS. I thought the script would detect the OS automatically, but the docs say

The valid values for the webServerOS parameter, which is used to specify the web server operating system, are Windows, Linux, Solaris, AIX, HPUX, OS390, and OS400.

I also set webServerType=IHS. Now it generates the following working configuration:

LoadModule was_ap22_module /opt/IBM/WebSphere/Plugins/bin/64bits/mod_was_ap22_http.so
WebSpherePluginConfig /opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml
Lion
  • 16,606
  • 23
  • 86
  • 148