Я работаю над автоматическим развертыванием HCL Connections 6.5 с использованием Ansible на CentOS 7. Он уже включает IBM IM, WAS (Dmgr + Node), DB2 и сами Connections. HTTP-сервер (IHS) установлен, но теперь мне нужно его настроить. Мне нужно настроить подключаемый модуль WebSphere с помощью WCT.
Раньше в образовательных целях я делал это на другом тестовом сервере, используя такой режим графического интерфейса:
cd /opt/IBM/WebSphere/Toolbox/WCT
./wct.sh
Теперь у нас есть мастер с несколькими шагами, который запрашивает местоположение плагина, имя определения веб-сервера, порт 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, установленным вручную (с графическим интерфейсом пользователя), а на установленном вручную сервере нет переменной:
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
правильно, когда все работает правильно, поэтому переменной быть не должно.
Вопросов
- Почему инструмент помещает переменную
${WAS_PLUGIN_DRIVER}
в мою конфигурацию http, не разрешая их? - Что я делаю не так, что это происходит?