« PostgreSQLのバックアップ | メイン | H2Aロケット »

2005年02月25日

WebLogic Server + MacOSX = ∞

随分前にいれたんだけどインストールメモ
まずはここを参考にインストール。
run WebLogic Server 8.1 on Mac OS X (Panther)

注!!!
WebLogic Server は一部分をのぞきJavaでかかれた製品なので大抵のJVMの上で稼働しますがサポートされるのは結構キビシイ試験を耐え抜いたと考えるのが妥当な限られたプラットフォームのみです。
現在のところ MacOSX でのサポートはアナウンスされていません。インストール、起動する事自体問題はありませんがあくまで自分の責任に置いて行う必要があります。
ピクりとも予断を許さない商用環境で利用するにはドキュメントを良く確認してサポート対象のプラットフォームを利用するのが無難です。
・WebLogic Platform Supported Configurations
http://e-docs.bea.com/platform/suppconfigs/index.html
・WebLogic Platform サポート対象のコンフィグレーション
→翻訳の関係上英語版より若干遅れて更新されるので確実を期すには英語版を確認するのがお勧め
http://edocs.beasys.co.jp/e-docs/platform/suppconfigs/index.html

・限定非商用ライセンスの有効化
license_scale_limited.bea を license.bea にリネームするだけ
$ mv license.bea license.bea.dev
$ mv license_scale_limited.bea license.bea

・ネイティブIOの有効化
ネイティブIO はその名の通り JNI を使ってかかれた IO を行うライブラリ。java.net.* や java.nio.* などより高速なネットワークパフォーマンスを発揮してくれる。
http://www.beasys.co.jp/e-docs/wls/docs81/perform/WLSTuning.html#1142800
ライブラリをコピーする
$ cd /bea81sp4/weblogic81/server/lib
$ mkdir mac
$ cp wls4mac/lib/* ./mac/
$ cd mac
$ chmod +x *

commEnv.sh 215 行目よりに以下を追加してライブラリのパスを通す
--------
Darwin)
if [ -n "${DYLD_LIBRARY_PATH}" ]; then
DYLD_LIBRARY_PATH=${DYLD_LIBRARY_PATH}:${WL_HOME}/server/lib/mac
else
DYLD_LIBRARY_PATH=${WL_HOME}/server/lib/mac
fi
export DYLD_LIBRARY_PATH
;;
--------

スレッドダンプをとって NaitiveIO が有効になっていることを確認。
"ExecuteThread: '1' for queue: 'weblogic.socket.Muxer'" daemon prio=5 tid=0x00581090 nid=0x1f21200 waiting for monitor entry [f18a1000..f18a1b20]
at weblogic.socket.PosixSocketMuxer.processSockets(PosixSocketMuxer.java:93)
- waiting to lock <0x67e2d530> (a java.lang.String)
at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:32)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
->weblogic.socket.Muxer って実行キューができている。

・なんとなくチューニング
-実行スレッド数
そんなに過負荷になる(なっては困る)所詮自宅サーバなので実行スレッド数は少なめに。scale_limited ライセンスなのできっとデフォルトの25あっても使い切れないでしょう。
サーバ -> コンフィグレーション -> 一般 -> 実行スレッドの設定-> スレッド数 ->15

-Apache プラグインを介してもクライアントの IP アドレスを正常にうけとれるように
サーバ -> コンフィグレーション -> 一般 -> WebLogic Pluginを有効化 [on]

・OSスタートアップ時の WLS 起動
マシン起動時に WLS も起動するように設定。

/Library/StartupItems/ 以下にディレクトリを掘る
# cd /Library/StartupItems/
# mkdir WebLogic

MacOSX 独自の起動スクリプトを書く
# cd /Library/StartupItems/WebLogic
# vi WebLogic
------------------こんな感じ
#!/bin/sh

##
# WebLogic
##

. /etc/rc.common

StartService ()
{
ConsoleMessage "Starting WebLogic"
cd /bea81sp4/user_projects/domains/mydomain/
sudo -u yusukey ./startWebLogic.sh > admin.out 2>&1 &
}

StopService ()
{
ConsoleMessage "Stopping WebLogic"
cd /bea81sp4/user_projects/domains/mydomain/
sudo -u yusukey ./stopWebLogic.sh weblogic weblogic
}

RestartService ()
{
ConsoleMessage "Restarting WebLogic"
cd /bea81sp4/user_projects/domains/mydomain/
sudo -u yusukey ./stopWebLogic.sh weblogic weblogic
sudo -u yusukey ./startWebLogic.sh > admin.out 2>&1 &
}

RunService "$1"
------------------こんな感じ↑

# vi StartupParameters.plist
------------------こんな感じ
{
Description = "WebLogic";
Provides = ("Application Server");
Requires = ("");
Uses = ("Disks");
OrderPreference = "None";
}
------------------こんな感じ↑
WebLogic/StartupParameters.plist の2つのファイルをみて勝手に起動してくれる。
Windows の net start にあたるコマンドは
# SystemStarter start|stop|restart "スタートアップアイテム名"


・最近日本語化されたセキュリティーアドバイザリを見て危ないところを設定

-BEA04-73.00 - Documentation is available to configure the server for encryption of administrative data.
サーバ間通信を sniff されるとパスワードなどが漏れる可能性があるという脆弱性。管理サーバと管理対象サーバは同じサーバ上にあるので無視。
第一ファイアウォール内のパケットを盗み見されてしまう状況だったらもう終わってるでしょう・・・。
管理ポートを設定してサーバ間通信を SSL にしろ、とのこと。
weblogic.Admin とか SSL 使わないで実行するひとはめちゃめちゃ多いと思うので気にしない人も多いのでは?
個人情報とかたくさん管理しているような内部犯にもセンシティブな環境では気をつける必要があるでしょう。

-BEA04-70.00 - Patches are available to protect Server version information
レスポンスヘッダにサーバのバージョンがデフォルトで含まれるという話。直接脆弱性にはならないけどもバージョン特有の脆弱性がみつかった場合に攻撃対象となりやすい。
パッチがでているけども、ヘッダを送るかどうかのデフォルト値が変わるだけ。
手動で設定することとする。
Protcols > HTTP > Advanced Options > Send Server Header [off]

褒められた設定じゃないけれども管理対象サーバはいまのとこたてないので一応管理コンソールは off。
手前の Apache からプロキシしなければ関係ないけれども。

投稿者 yusuke : 2005年02月25日 22:27

トラックバック

このエントリーのトラックバックURL:
http://yusuke.homeip.net/diary/mt/mt-tb.cgi/192

このリストは、次のエントリーを参照しています: WebLogic Server + MacOSX = ∞:

» EspressReportと MacOS X とWebObjects from Climb Soft Tech Blog
EspressReportは MacOS X とWebObjectsをサポートする唯一のJavaレポート・ツールだと思います。 詳しくはhttp://www.q... [続きを読む]

トラックバック時刻: 2005年05月08日 11:25

コメント

コメントしてください




保存しますか?