Автоматизировать настройку плагинов WebSphere: не разрешена переменная $ {WAS_PLUGIN_DRIVER} в httpd.conf - PullRequest
1 голос
/ 09 января 2020

Я работаю над автоматическим развертыванием HCL Connections 6.5 с использованием Ansible в CentOS 7. Он уже включает в себя IBM IM, WAS (Dmgr + Node), DB2 и непосредственно Connections. HTTP-сервер (IHS) установлен, но теперь мне нужно его настроить. Мне нужно настроить плагин WebSphere с помощью WCT.

В образовательных целях я делал это раньше на другом тест-сервере, используя режим GUI, например:

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

enter image description here

Теперь у нас есть мастер с несколькими шагами, который запрашивает местоположение плагина, имя определения веб-сервера, порт HTTP-сервера и т. Д.

Автоматизация мастера

Я нашел wctcmd . sh как CLI эквивалент wtc.sh для автоматической настройки веб-серверов. Поэтому я создал следующий файл ответов

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

и запустил wctcmd.sh следующим образом:

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

Он говорит, что инструмент был успешно выполнен. Но когда я открываю конфигурацию веб-сервера /opt/IBM/HTTPServer/conf/httpd.conf, он добавляет следующие две строки:

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

Эта переменная не определена и выдает ошибку при запуске веб-сервера:

# /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

Я предполагаю, что наличие ${WAS_PLUGIN_DRIVER} указывает на то, что что-то пошло не так с wctcmd.sh, потому что я смотрел на другой тестовый сервер с Connections 6, установленным вручную (с GUI), и на установленном вручную сервере нет никакой переменной:

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

Консультант с более чем 10-летним опытом работы в WebSphere / Connections подтвердил, что LoadModule was_ap22_module /opt/IBM/WebSphere/Plugins/bin/64bits/mod_was_ap22_http.so правильно, когда все работает правильно, поэтому не должно быть никаких переменных.

Вопросы

  1. Почему инструмент помещает переменную ${WAS_PLUGIN_DRIVER} в мою конфигурацию http без их разрешения?
  2. Что я делаю неправильно, если это происходит?

1 Ответ

0 голосов
/ 09 января 2020

Выяснил, что я неверно истолковал значение operating_system_value для webServerOS. Я думал, что скрипт автоматически определит ОС, но в документах написано

Допустимые значения параметра webServerOS, который используется для указания операционной системы веб-сервера, Windows, Linux , Solaris, AIX, HPUX, OS390 и OS400.

Я также установил webServerType=IHS. Теперь он генерирует следующую рабочую конфигурацию:

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
...