はじめに
ずいぶん時間が空いてしまいましたが、、、
前回は、WAS ND 関連 S/W の導入の流れの中で、 下記 6~7. までを行いました。
今回は、WAS ND での 8. Web サーバーの定義 ~ 9. AP サーバーの作成までを行います。
WAS の設定としては、 AP サーバーができた後も様々な設定が必要ですが、
ここでは、9 までで終了とします。
- メディアの準備
- ファイルシステムの作成
- IBM Installation Manager (IIM) の導入
- 各種 S/W の導入
- 各種 S/W の Fixpack 適用
- 管理プロファイルの作成 (dmgr 用)
- カスタムプロファイルの作成 (na, AP server 用)
- Web サーバーの定義
- AP Server の作成
Web サーバーの定義
WAS を管理する DMgr に対し、 Web サーバー (IBM HTTP Server) を登録します。
概要としては、まず PCTツールとレスポンスファイルを利用した Webサーバー構成スクリプトの作成、
スクリプトの実行の2ステップです。
定義の際、以下の情報が必要となります。詳細は 「pct ツールを使用した Web サーバー・プラグインの構成」 参照
パラメータ | 値 | 備考 |
---|---|---|
defLocPath | /usr/IBM/WebSphere/Plugins | Webサーバー定義情報の格納パス |
defLocName | webserver1 | 管理コンソール上でのWebサーバー定義名 |
response | /mnt/IBM/work/response_pct_was9a.xml | レスポンスファイルパス |
script | configurewebserver1.sh | Webサーバー構成スクリプト名 |
コピー先 | /usr/IBM/WebSphere/AppServer/bin | Webサーバー構成スクリプトコピー先 |
レスポンスファイルは以下の通りです。
configType=remote
enableAdminServerSupport=false
mapWebServerToApplications=true
wasMachineHostname=was9a
webServerConfigFile1=/usr/IBMIHS/conf/httpd.conf
webServerDefinition=webserver1
webServerHostName=was9a
webServerOS=AIX
webServerPortNumber=80
webServerSelected=ihs
PCTツールを使っての web サーバー構成スクリプトの作成コマンドの書式は以下の通りです。
./wctcmd.sh
-tool pct
-createDefinition
-defLocPathname Webサーバー定義情報の格納パス
-defLocName Webサーバー定義名
-response レスポンスファイルパス
まず、定義がないことを確認します。
# cd /usr/IBM/WebSphere/Toolbox/WCT
# ./wctcmd.sh -tool pct -listDefinitionLocations
ツール pct の定義ロケーションが見つかりません
実際のコマンド実行は以下のとおりです。(実際には1行で指定しています (""なしで))
# cd /usr/IBM/WebSphere/Toolbox/WCT
# ./wctcmd.sh -tool pct \
-createDefinition \
-defLocPathname /usr/IBM/WebSphere/Plugins \
-defLocName webserver1 \
-response /mnt/IBM/work/response_pct_was9a.xml
定義ロケーションをインポート中...
定義ロケーションが正常にインポートされました
ツール pct を起動中...
ツール実行が正常に完了しました。
定義が生成されたことを確認します。
# ./wctcmd.sh -tool pct -listDefinitionLocations
ツール pct の選択可能な定義ロケーション
名前: webserver1
パス: /usr/IBM/WebSphere/Plugins
# ./wctcmd.sh -tool pct -defLocPathname /usr/IBM/WebSphere/Plugins -listDefinitions
定義ロケーションが正常にインポートされました
ツール pct を起動中...
webserver1
ツール実行が正常に完了しました。
次に configurewebserver1.sh が作成されたことを確認します。
# cd /usr/IBM/WebSphere/Plugins/bin
# ls -l configurewebserver1.sh
-rwxr-xr-x 1 root system 2096 Jan 16 14:56 configurewebserver1.sh
作成された configurewebserver1.sh を WAS の bin ディレクトリにコピーして実行します。
# cp -p configurewebserver1.sh /usr/IBM/WebSphere/AppServer/bin
# cd /usr/IBM/WebSphere/AppServer/bin
# ./configurewebserver1.sh -user wasadmin -password wasadmin
Using WAS admin userID wasadmin
WASX7209I: ノード was9aCellManager01 のプロセス "dmgr" に、SOAP コネクターを使用して接続しました。プロセスのタイプは DeploymentManager です。
WASX7303I: 次のオプションはスクリプト環境に渡され、argv 変数に格納される引数として使用可能になります: "[webserver1, IHS, /usr/IBMIHS, /usr/IBMIHS/conf/httpd.conf, 80, MAP_ALL, /usr/IBM/WebSphere/Plugins, unmanaged, was9a-node, was9a, aix]"
Input parameters:
Web server name - webserver1
Web server type - IHS
Web server install location - /usr/IBMIHS
Web server config location - /usr/IBMIHS/conf/httpd.conf
Web server port - 80
Map Applications - MAP_ALL
Plugin install location - /usr/IBM/WebSphere/Plugins
Web server node type - unmanaged
Web server node name - was9a-node
Web server host name - was9a
Web server operating system - aix
IHS Admin port - 8008
IHS Admin user ID - ""
IHS Admin password - ""
IHS service name - ""
Found node with matching hostname. Using existing node was9aNode01
Node definition was9aNode01 already exists.
Creating the web server definition for webserver1 on node was9aNode01.
Parameters for administering IHS web server can also be updated using wsadmin script or admin console.
Web server definition for webserver1 is created.
Start computing the plugin properties ID.
Plugin properties ID is computed.
Start updating the plugin install location.
Plugin install location is updated.
Start updating the plugin log file location.
Plugin log file location is updated.
Start updating the RemoteConfigFilename location.
Plugin remote config file location is updated.
Start updating the RemoteKeyRingFileName location.
Plugin remote keyring file location is updated.
Start saving the configuration.
Configuration save is complete.
Computed the list of installed applications.
Start saving the configuration.
Configuration save is complete.
configurewebserve1.sh を実行後、管理コンソールから webサーバーが定義されていることを確認します。
(下図は2台とも定義した後の図です)
AP サーバーの作成
次に AP サーバー (アプリケーションを実行する JVM)を定義します。
ここ以降は、 主に Jython スクリプトを利用します。
WAS の各種定義は管理コンソールから行うことができますが、
その際に Jython スクリプトで実施する方法を出力させることができます。
それを参考に Jython スクリプトを作成 → 実行という形で定義していきます。
#############################
## variables
cellname="was9aCell01"
nodename="was9aNode01"
nodename2="was9bNode01"
clustername="wascl1"
membername="wassrv1"
templatename="default"
nodegroup="DefaultNodeGroup"
coregroup="DefaultCoreGroup"
resourcescope="cluster"
#############################
## Create Cluster
AdminTask.createCluster('[-clusterConfig [-clusterName '+clustername+' -preferLocal true]]')
#############################
## Create Cluster Member
AdminTask.createClusterMember('[-clusterName '+clustername+' -memberConfig [-memberNode '+nodename+' -memberName '+membername+' -memberWeight 2 -genUniquePorts true -replicatorEntry false] -firstMember [-templateName '+templatename+' -nodeGroup '+nodegroup+' -coreGroup '+coregroup+' -resourcesScope '+resourcescope+']]')
AdminTask.createClusterMember('[-clusterName '+clustername+' -memberConfig [-memberNode '+nodename2+' -memberName '+membername+' -memberWeight 2 -genUniquePorts true -replicatorEntry false]]')
AdminConfig.list('ServerCluster', AdminConfig.getid( '/Cell:'+cellname+'/'))
#############################
## Save & Sync
AdminConfig.save()
AdminNodeManagement.syncActiveNodes()
#############################
## End
これに関する詳細は、書きだしたらきりがないため割愛しますが、
大きな流れとしては、以下のようになります。
- 変数等の設定
- AdminTask による WAS の定義設定
- 設定の保存
- 各ノードへの同期
Jython について詳しく知りたい場合、「Jython での wsadmin スクリプトの使用」 を参照ください。
作成した jython スクリプトを WAS に投入するには wsadmin コマンドを利用します。(Dmgr が起動している必要があります)
書式は以下の通りです。
./wsadmin.sh [
-lang jython \
-conntype SOAP \
-host Dmgr稼働ホスト名 \
-user 管理ユーザー名 \
-password 管理ユーザーのパスワード \
-profileName APサーバー用プロファイル名 \
-f Jythonスクリプトファイルパス
実際には以下の通りです。
# cd /usr/IBM/WebSphere/AppServer/bin
# ./wsadmin.sh -lang jython -conntype SOAP -host was9a -user wasadmin -password wasadmin -profileName Custom01 -f /mnt/IBM/work/createClsuter_was9.jy
WASX7209I: ノード was9aCellManager01 のプロセス "dmgr" に、SOAP コネクターを使用して接続しました。プロセスのタイプは DeploymentManager です。
---------------------------------------------------------------
AdminNodeManagement: Synchronize the active nodes
Usage: AdminNodeManagement.syncActiveNodes()
Return: If the command is successfully invoked, a value of 1 is returned.
---------------------------------------------------------------
was9aNode01
was9bNode01
作成完了後、まずクラスターができていることを管理コンソールで確認します。
次に AP サーバーができていることを確認します。
これで AP サーバーまでの作成が完了です。
これまで、3回にわたって GUI が使えない状況(または、大量に導入するなど GUI では不便な場合)に
対応できるように、コマンドラインでの導入を説明しました。
また、機会があれば WAS に限らずいろいろと書いていければと思います!
←前回:WAS ND v9 Traditional をコマンドラインで入れてみた ~ その2
参考
■pct ツールを使用した Web サーバー・プラグインの構成
https://www.ibm.com/support/knowledgecenter/ja/SSAW57_8.5.5/com.ibm.websphere.nd.multiplatform.doc/ae/tins_pctcl_using.html
■Jython での wsadmin スクリプトの使用
https://www.ibm.com/support/knowledgecenter/ja/SSAW57_9.0.0/com.ibm.websphere.nd.multiplatform.doc/ae/cxml_jython.html