概要
WebLogic Serverのサイレント・インストールするための準備をいくつか行いました。
- Chefを使ってOracle製品をインストールするための環境を準備してみた
- Chefを使ってOracle製品のサイレント・インストールの準備してみた
- Chefを使ってWebLogic Serverのサイレント・インストールの準備してみた:Response File
それでは、実際にChefを使ってWebLogic Serverをサイレント・インストールしてみます。
サイレント・インストール
マニュアルでは次の箇所にサイレント・インストールについて記載があります。
マニュアルに記載あるようにサイレント・インストールを行う場合は、インストーラを起動する際に**-silent -responseFile**オプションを付けます。
構文は以下のようになります。
java -jar 製品JARファイル -silent -responseFile レスポンス・ファイルへのパス [-options] [(<CommandLinevariable=Value>)*]
製品JARファイル
WebLogic Serverのインストールイメージは私的使用として以下からダウンロードできます。
以下のようにダウンロードできるDistributionが複数がありますが、今回は**Fusion Middleware Infrastructure Installer (fmw_12.2.1.0.0_infrastructure.jar)**を使用しました。
- Generic Installer for Oracle WebLogic Server and Oracle Coherence
- Quick Installer intended for Oracle WebLogic Server and Oracle Coherence development only
- Fusion Middleware Infrastructure Installer
インストール時のオプション
インストーラを起動する際に指定する主なオプションです。
オプション | 説明 |
---|---|
-silent | サイレント・モードでインストーラを起動します。 指定がない場合は、グラフィカル・モードで起動します。 |
-help | インストーラのヘルプを表示します。 |
-invPtrLoc ファイルへのパス | Inventory Pointer Locationファイルの配置場所を指定します。 |
-responseFileファイルへのパス | Response Fileの配置場所を指定します。 |
-logLevelレベル | インストーラによって実行されるロギングのレベルを指定します。 severe warning info config fine finer finest |
-debug | デバッグ情報を表示します。 |
-noconsole | メッセージを表示しません。 |
Chefを使ってやりたい事
Chefを使ってWebLogic Serverがインストールされていなければ、インストールを実施します。
今回作成するRecipe
- WebLogic Server のサイレント・インストール実行
- 「Response File」及び「oraInst.log」のパラメータ化
Recipe. WebLogic Serverのサイレント・インストール実施
以下の2種類のファイルを作成します。
- Recipe
- Attribute
Recipeでサイレント・インストールのコマンドを発行し、その時に使用するパラメータのデフォルト値をAttributeに記載します。
- Attribute
default['weblogic']['user'] = 'oracle'
default['weblogic']['group'] = 'oinstall'
default['weblogic']['java']['mx'] = '1024m'
default['weblogic']['mw_home'] = '/u01/app/oracle/product/fmw12.2.1'
default['weblogic']['wls_home'] = '/u01/app/oracle/product/fmw12.2.1/wlserver'
default['weblogic']['response_file_dir'] = '/root/responsefile'
default['weblogic']['response_file_install'] = '/root/responsefile/install_weblogic.rsp'
default['weblogic']['inventory_pointer_file'] = '/root/responsefile/oraInst.loc'
default['weblogic']['install_image'] = '/vagrant_data/wls1221/fmw_12.2.1.0.0_infrastructure.jar'
パラメータのデフォルト値を設定しています。
- Recipe
execute 'install weblogic server' do
user node['weblogic']['user']
group node['weblogic']['group']
command "java -Xmx#{node['weblogic']['java']['mx']} -jar #{node['weblogic']['install_image']} -silent -responseFile #{node['weblogic']['response_file_install']} -invPtrLoc #{node['weblogic']['inventory_pointer_file']}
not_if { Dir.exist?("#{node['weblogic']['wls_home']}") }
end
以下の箇所でWebLogic Serverのインストール・ディレクトリの存在判定を行い、無ければサイレント・インストールを実行します。
not_if { Dir.exist?("#{node['weblogic']['wls_home']}") }
Chefの実行イメージ
まとめ
WebLogic Serverは、Javaアプリケーションの実行基盤というだけでなく、その他のオラクルのミドルウェア製品の基盤になります。そのため幾度となくインストールする機会が発生します。
そこでこのようにしてChefでインストールを自動化しておくと効率的に環境構築ができて便利です。
- [今回のレシピ:https://github.com/shinyay/chef-repo-oracle-weblogic/tree/publish_20160611]https://github.com/shinyay/chef-repo-oracle-weblogic/tree/publish_20160611 "chef-repo-oracle-weblogic
")- WebLogic Serverをインストールするcookbookをいれたchef-repositoryです。