IBM WebSphere Application Server(WAS)は、サーバーのホスト名を変更すると動作しなくなる場合があります。WASの設定ファイルにホスト名が組み込まれているためです。
そのため、ホスト名変更時には、WASに定義されているホスト名設定を変更するコマンドを実行して、設定ファイルの定義を更新する必要があります。
Tipsでは、ホスト名変更時にWASの設定を変更する手順について紹介します。
設定値の確認
ホスト名の設定変更処理前に、WASのプロファイル名とノード名を確認します。
WASの管理コンソールで確認が可能です。
管理コンソールの起動
Windowsの場合
スタートメニューから管理コンソールを起動して、ログインしてください。
IBMiの場合
IBMi環境の場合は「IBM Web Administration for i」にアクセス後、「管理コンソール」を起動します。ブラウザより以下アドレスにアクセスしてください。
http://「IBMi IP Address」:2001/HTTPAdmin
ログイン時にユーザープロファイルとパスワードの入力が要求されます。
特殊権限 *ALLOBJ および *SECADMを持つ管理者のユーザープロファイルでログインしてください。
上部メニューの「管理」タブ > 「Application Server」タブ > 「サーバー」プルダウンから
対象のアプリケーションサーバーを選択後、左側メニューの「ツール」 > 「管理コンソールの立ち上げ」を選択してください。
ログイン画面が表示されますので、ログインしてください。
プロファイル名と、ノート名確認
管理コンソールにログイン後、左側メニューの「サーバー」 > 「サーバー・タイプ」 > 「WebSphere Application Server」を選択して、右側に表示される画面の上部に表示されている「プロファイル」とアプリケーション・サーバー 一覧の「ノード」列の名前を確認してください。
Webサーバーに別のノード名が設定されている可能性もありますので、左側メニューの「サーバー」 > 「サーバー・タイプ」 > 「Webサーバー」を選択して、右側に表示されるWebサーバー 一覧のノード列の名前も確認してください。
通常、アプリケーション・サーバーと同じノード名が設定されています。
ノード名が異なる場合には、Webサーバーのノード名もメモしてください。
設定方法
wsadminの起動
ホスト名の変更には、wsadmin スクリプト・ツールを使用します。
■wsadmin スクリプト・ツールの使用
https://www.ibm.com/docs/ja/was/9.0.5?topic=scripting-wsadmin-tool
Windowsの場合
Windowsの場合はコマンドプロンプトから実行します。
変更対象のWASが起動していることを確認後、アプリケーションサーバーのプロファイルルートのbinをカレントディレクトリに変更してください。
例) AppSrv01プロファイルのディレクトリに移動
cd "C:\Program Files (x86)\IBM\WebSphere\AppServer\profiles\AppSrv01\bin"
次に、wsadminにログインします。
wsadmin -lang jython -userName 「ユーザー名」 -password 「パスワード」
設定する「ユーザー名」、「パスワード」はWASの管理コンソールで入力するユーザー名とパスワードと同じになります。管理セキュリティを有効にしていない場合は、以下を実行します。
wsadmin -lang jython -connType NONE
接続できると、wsadmin > のコマンド入力画面に遷移できます。
IBMiの場合
IBMiの場合はQshellからコマンドを実行します。
エミュレータで接続する際に、ホストコードページ939で接続してください。
次に、CHGJOBコマンドでジョブのCCSID値を変更します。
CHGJOB CCSID(5035)
STRQSHコマンドでQshell画面を起動してください。
STRQSH
QSHコマンド入力画面で、カレントディレクトリを変更します。
プロファイルルートのbinをカレントディレクトリに変更してください。
例) WAS9 BASE版のWAS90SVRプロファイルの場合
cd /QIBM/UserData/WebSphere/AppServer/V9/BASE/profiles/WAS90SVR/bin
次に、wsadminコマンドを実行します。
windows版と同じコマンドになります。
wsadmin -lang jython -userName 「ユーザー名」 -password 「パスワード」
管理セキュリティが有効でない場合や、サーバーに接続しない場合は以下のコマンドになります。
wsadmin -lang jython -connType NONE
ホスト名変更コマンド
ホスト名変更コマンドを実行します。
(IP アドレスの変更も同じコマンドで実行できます。)
例:「NODE-NAME」にはノード名を、「NEW-HOSTNAME_OR_NEW-IP-ADRESS」には、新しいホスト名、またはIPアドレスのどちらかを指定してください。
AdminTask.changeHostName('-hostName <NEW-HOSTNAME_OR_NEW-IP-ADRESS>
-nodeName <NODE-NAME>')
また、Webサーバーに設定されているノード名がApplication Serverと別名だった場合には、別のノード名で再度、AdminTask.changeHostNameを実行してください。
設定変更後、構成を保存します。
AdminConfig.save()
Exitコマンドでwsadminを終了します。
exit
F3キーでQSH入力画面を終了してください。
プラグインファイルの更新
プラグインを使用して、WebサーバーとWASアプリケーションサーバーを連携している場合には、Windows環境、IBMi環境のどちらともwsadminコマンドでホスト名設定を変更後に、WASの管理コンソールからプラグインファイルを更新してください。
管理コンソール の左側メニューから「サーバー」 > 「サーバー・タイプ」 > 「Webサーバー」を選択してください。
表示された画面のWebサーバー一覧のWebサーバーにチェックを設定後、「プラグインの生成」ボタンをクリックします。
再度、Webサーバーにチェックを設定して「プラグインの伝搬」をクリックしてPlugin-cfg.xmlを更新してください。
おわりに
以上で、ホスト名の変更手順は終了です。
サーバーのリプレイスの際、一時的に別のホスト名を設定していて、本番移行時にホスト名を変更する場合には上記の手順が必要ですので、是非ご参考ください。