わたしが使っている PC のパワーがあがって、別マシンで UT 用の WLS を動かす必要が なくなったのでこのページは更新されません。(2005/02/20)
遊びで FreeBSD-4-stable に WebLogic Server 8.1sp3 をインストールしてみました。 Eclipse 3.0 にしたり Symantec AntiVirus が ver 9 になったせいで開発用 PC が重くなっ てきており、Tomcat を起動するとかなり重くて苦痛になってきました。
開発サポート用 FreeBSD に UT 環境用として Tomcat を追い出してみたのですが遊びで WebLogic をインストールしてみたらそれなりに動いたので UT 環境として活用 しています。ただ、Linux JDK が使えなかったので以下の問題があります。
UT 環境用ですのでどれも問題にならないとおもいます。
日本BEAからダウンロードします。開発用途としてなら特にライセンス契約を 結ばなくても1年間使用できます。
http://www.beasys.com/ から「ダウンロード->WebLogic Server 8.1J & SP」 で以下をダウンロードします。
BEA WebLogic Server 8.1 SP3 for RedHatLinux AS2.1,AS3.0(32bit)
1. Linux emulator のインストール
WebLogic インストーラは Linux バイナリになっているので Linux emulator をインストールします。 /usr/ports/emulators/linux_base (RedHat Linux 7.1 base) をインストールします。
RedHat Linux AS2.1 は RedHat Linux 7.2 に近いので個人的に RedHat Linux 7.2 ベースの ports を作成してインストールしていますが 7.1 ベースでも展開できる ことは確認済みです
2. Native JDK14 のインストール
Linux JDK を使用するとインストーラの実行途中にハングアップしてしまいますので Native JDK を使用します。FreeBSD 5 にすればば問題ないかとおもっていましたが、やはり ハングするようです(2004/11/04 確認)
3. WebLogic のインストール
server813_ja_linux32.bin を実行します。
# chmod 755 server813_ja_linux32.bin # ./server813_ja_linux32.bin -mode=console Extracting 0%....................................................................................................100%
展開が終わったところでハングアップします。/tmp に ls するとインストーラが一時 ディレクトリに展開されていますのが分かります。これを使用してインストールするわけ ですがハングアップしたプロセスを停止したところで一時ファイルは消えてしまいますの で退避してから終了させます。
# cd /tmp # mkdir server813 # cd filecIhMO5 (それっぽいディレクトリを探します) # cp -Rp * ../server813 # kill -9 <java のpid> (-9 でないと止まりません)
Linux JDK なので ps を見るとそれぞれのスレッドが個別の PID を持って見えます。TIME をみて一番大きなプロセスのみを kill すると他の PID も消えます。
# ps ax 69094 p1 R+ 0:01.40 /tmp/server813/jre141_03/bin/java -Djava.io.tmpdir=/t <- この PID のみを kill します 69095 p1 S+ 0:00.00 /tmp/server813/jre141_03/bin/java -Djava.io.tmpdir=/t 69096 p1 S+ 0:00.06 /tmp/server813/jre141_03/bin/java -Djava.io.tmpdir=/t 69097 p1 S+ 0:00.00 /tmp/server813/jre141_03/bin/java -Djava.io.tmpdir=/t 69098 p1 S+ 0:00.00 /tmp/server813/jre141_03/bin/java -Djava.io.tmpdir=/t 69099 p1 S+ 0:00.01 /tmp/server813/jre141_03/bin/java -Djava.io.tmpdir=/t 69100 p1 S+ 0:00.00 /tmp/server813/jre141_03/bin/java -Djava.io.tmpdir=/t 69101 p1 S+ 0:00.00 /tmp/server813/jre141_03/bin/java -Djava.io.tmpdir=/t 69102 p1 S+ 0:00.33 /tmp/server813/jre141_03/bin/java -Djava.io.tmpdir=/t # kill -9 69094
FreeBSD の JDK14 を使ってインストーラを起動します。
# export LANG=C <- これは ja_JP.EUC のままでもいいかもしれませんがわたしは C にしています # export JAVA_HOME=/usr/local/jdk1.4.2 # export JREHOME=$JAVA_HOME/jre # export PATH=$PATH:$JAVA_HOME/bin # /usr/local/jdk1.4.2/bin/java -Djava.io.tmpdir=/tmp -mx256m -cp .:bids.jar:3rdparty.jar:comdev.jar:wizard.jar:wls8130_1238_COMP_linux32.jar:wlw8130_1238_COMP_linux32.jar com.bea.plateng.wizard.WizardController -mode=console -log=/tmp/wls_install.log
BEA Home | /usr/local/bea |
Install Type | Custom Installation |
Choose Components to install | WorkshopやServer examples を外し、Server コンポーネントのみをインストールします |
Choose Product Directory | /usr/local/bea/weblogic81 |
<------------------ BEA Installer - WebLogic Server 8.1 SP3 ------------------> Installing files.. 0% 25% 50% 75% 100% [------------|------------|------------|------------] [***************************************************]
展開が終了したところでインストーラがハングアップしますがファイルは展開されているようでした ので設定してみたら使えました。
コンソールモードでドメインを作成します
# export LANG=C # export JAVA_HOME=/usr/local/jdk1.4.2 # export JREHOME=$JAVA_HOME/jre # export PATH=$PATH:$JAVA_HOME/bin # cd /usr/local/bea/weblogic81/common/bin # sh config.sh
Create or Extend a Configuration | Create a new WebLogic configuration |
Select a Domain Template | Basic WebLogic Server Domain 8.1.3.0 |
Choose Configuration Option | No (Custom) |
Configure the Administration Server
Name | [コンピュータ名] |
Listen address | All Local Addresses (FreeBSD にブラウザをインストールしていないため) |
Listen port | 7001 |
SSL enabled | off |
Do you want to configure JDBC (Java Database Connectivity)? | No |
Do you want to configure JMS (Java Messaging Service)? | No |
Do you want to configure Advanced Security? | No |
Configure Administrative Username and Password
User name | weblogic (変えてもいい) |
User password | 任意 |
Confirm user password | 任意 |
Description | The default administration user |
Java SDK Selection | Other Java SDK |
JVM Directory | /usr/local/jdk1.4.2 |
Target Location | /usr/local/bea/user_projects/domains |
Edit Domain Information
Name | 任意 (たとえば wlsut) |
SQL Server の JDBC ドライバを /usr/local/share/java/SQLServer2000 において、/usr/local/bea/user_projects/domains/ドメイン名 にある startWebLogic.sh の CLASSPATH に追加します。 またPointBaseをクラスパスから削除します。
PRE_CLASSPATH=/usr/local/share/java/SQLServer2000/lib/msbase.jar:/usr/local/share/java/SQLServer2000/lib/msutil.jar:/usr/local/share/java/SQLServer2000/lib/mssqlserver.jar export PRE_CLASSPATH CLASSPATH="${PRE_CLASSPATH}:${WEBLOGIC_CLASSPATH}:${JAVA_HOME}/jre/lib/rt.jar:${WL_HOME}/server/lib/webservices.jar:${CLASSPATH}"
startWebLogic.sh を使用して WLS を起動します。
# export LANG=C # cd /usr/local/bea/user_projects/domains/<domain name> # sh startWebLogic.sh (省略) <Sep 10, 2004 6:07:40 AM GMT-09:00> <Notice> <WebLogicServer> <BEA-000355> <Thread "ListenThread.Default" listening on port 7001, ip address *.*>
listening on port nnn が表示されたら起動しています。
PCのブラウザから http://<server>:7001/console/ にアクセスすると管理コンソール が表示されます。LANG=C で起動しても管理コンソールは日本語で表示されるので心配 ありません。
WebLogic Server でのサードパーティ ドライバの使い方 を参照して設定します。
「サービス->接続プール」で「新しい JDBC Connection Pool のコンフィグレーション 」をクリック
データベースタイプ | MS SQL Server |
データベースドライバ | Microsoft's MS SQL Server Driver (Type 4) Version:2000 |
JDBC接続プールのコンフィグレーション
名前 | MSSQLCP (任意) |
データベース名 | database (作成したデータベースに合わせる) |
ホスト名 | localhost |
ポート | 1433 |
データベースユーザ名 | user (SQL Server のユーザ名に合わせる) |
パスワード | (SQL Server のパスワード) |
パスワードの確認 | (SQL Server のパスワード) |
接続確認をおこなってから「作成」を押します。作成した接続をクリック して詳細を設定します。
一般タブ | 省略 | |
接続タブ | 初期容量 | 3 |
最大容量 | 3 | |
増加容量 | 1 | |
Statementキャッシュタイプ | LRU | |
Statementキャッシュサイズ | 300 |
「適用」ボタンを押します
パフォーマンスのぶれを最小限にするために特に理由がなければ初期容量と 最大容量は同じにします。
「サービス->データソース」で「新しい JDBC Data Source のコンフィグレーション」をクリック
名前 | MSSQLDS (任意) |
JNDI名 | MSSQLDS (任意) |
グローバル トランザクションを受け付ける | チェックを外す |
「続行」を押します
プール名 | MSSQLCP(作成したプールに合わせる) |
「続行」を押します
データソースの対象設定 | 対象サーバにチェックが入っていることを確認 |
「作成」を押します
サーバは1台で分散トランザクションは使用しないのでグローバルトランザクション を受け付けないようにしています。
daemon 起動にしていないのならコンソールは常に存在していなければなりませんが screen を導入すると detach によって物理端末として端末エミュレータを起動しっぱなしに しなくてすむので便利です。
# cd /usr/ports # portinstall -pr misc/screen
screen の hotkey がデフォルトでは ^A に割り当てられていますが、^A は先頭行へ 移動するために使用するので ^Z に変更しています。 bind の^n は'^' 'n' という2つの文字ではなく、1文字のコントロールコードなので vi からは ^V ^n と入力しないと入力できません。表示上は ^n となるはずです。
.screenrc
startup_message off autodetach on vbell off crlf off defscrollback 9999 msgwait 5 msgminwait 3 escape ^Z^Z # C-z C-z : send ^Z to process bind '^K' bind '^\' bind '^G' bind '?' help # C-z ?: help bind 'K' kill # kill current screen bind '}' history bind '^A' other # C-z C-a, C-z a: other window bind 'a' other bind 'Z' suspend # C-z z, C-z Z: suspend screen bind 'z' suspend bind 'G' vbell # vbell toggle bind 'R' reset # reset screen bind 'P' screen 9 ppp term xterm