2006年9月 7日
(復興作業)アプリケーション・サーバー ( JBoss ) のインストール
サーバーの崩壊から約2週間たって、やっと JBoss のインストールのところまできた。このあたりは試行錯誤の末、やっとこさ立ち上げたので記憶も定かでなく、記録もない状態の中でどうなることやら・・・
J2EEサーバーとして Apache Geronimo が立ち上がり始めているので、この際に切り替えようかとも考えたが、、、とりあえず、JBoss で急ぐことにした。
1). JBoss のダウンロード
- ここから JBoss の最新版をダウンロードする。もっとも最新版でいいかどうかは状況にもよるだろうが・・・
- # cd /usr/local/bin/
# unzip jboss-4.0.4.GA.zip
# ln -s jboss-4.0.4.GA jboss
- a) JBoss ユーザーの作成
JBoss 起動スクリプト(ここでは jboss_init_redhat.sh を使用)は jbossユーザーで起動するようになっているので、面倒だからユーザー jboss とグループ jboss を作る。
# groupadd jboss
# useradd jboss -d /usr/local/bin/jboss -g jboss
# chown -R jboss.jboss /usr/loval/bin/jboss-4.0.4.GA
b) 起動用スクリプトの修正
1) jboss_init_redhat.sh は内部で起動用スクリプト run.sh を使用するのでこれを修正
JAVA_HOME=${JAVA_HOME:-"/usr/java/j2sdk1.4.2_12"}
・・・と、環境変数 JAVA_HOME をセットする行を先頭あたりに挿入する。念の為に run.sh でJBoss が起動するか確認しておく。
2) 次に jboss_init_redhat.sh を修正
java のパスにかかわる2箇所と、restart の stop と start の間に 'sleep 5' を挿入する。
JAVAPTH=${JAVAPTH:-"/usr/java/j2sdk1.4.2_12"}
CMD_STOP="$JAVAPTH/java ・・・と $JAVAPTH を追加
sleep 5 ・・・を $0 stop と $0 start の間に挿入
・・・これも jboss_init_redhat.sh start と stop を実行して確認(/usr/local/bin/jboss/server/all/log/)しておく。
- # cp /usr/local/bin/jboss/bin/jboss_init_redhat.sh /etc/init.d/jboss
# chkconfig --add jboss
・・・と、登録し、# chkconfig --list jboss で確認しておく
5). MySQL に接続
- a) 先ず、MySQL-JDBCドライバーをダウンロードする。
インストール作業を急ぐために、真新しいバージョンではなく実績のあった 3.1 系のものを使う。今の最新バージョンは 3.1.13 で、ここからダウンロードした。当初、tar.gz ファイルをダウンロードしたのだが展開できなかったので zip ファイルを再ダウンロードした。よくあることなので気にはなる・・・
b) ダウンロードした zip ファイルを展開して出てきた mysql-connector-java-3.1.13-bin.jar を /usr/local/bin/jboss/server/all/lib/ にセットする。所有者の変更を忘れないように・・・
c) JBoss 各種の設定ファイルを MySQL 用に修正する( /usr/local/bin/jboss/server/all/ 配下)。
- 1) conf/standardjaws.xml の defaultDS を MySQLに変更
2) conf/standardjbosscmp-jdbc.xml の defaultDS を MySQLに変更
3) conf/login-config.xml に このサイト認証用 login-module を追加
4) データソース(JDBCConnectionPool)を作成
- docs/examples/jca/mysql-ds.xml を deploy/ にコピーして修正
6) deploy/jms/hajndi-jms-ds.xml を削除
7) deploy-hasingleton/jms/hsqldb-jdbc2-service.xml を削除
8) deploy-hasingleton/jms/hsqldb-jdbc-state-service.xml をmysql-jdbc-state-service.xml に名前変更
- 以前は削除していたのだがエラーが出るためにこのようにすると直った・・・理由はまったく不明のまま・・・
- mysql-jdbc2-service.xmlがデフォルトのデータソース名(DefaultDS)を参照するように変更する.
<depends optional-attribute-name="ConnectionManager">
jboss.jca:service=DataSourceBinding,name=DefaultDS</depends>
- a) テーブルの作成
MySQL の初期設定では test というデータベースが作成されているので、ここにテスト用テーブルを作成する。
$ mysql -u root -pxxxxxxxx
mysql > use test
CREATE TABLE HELLO_WORLD_TABLE (
NO INTEGER NOT NULL,
LANGUAGE VARCHAR(50),
MESSAGE VARCHAR(100),
PRIMARY KEY(NO)
);
INSERT INTO HELLO_WORLD_TABLE
VALUES ( 1 , '日本語' , 'こんにちわ 世界');
INSERT INTO HELLO_WORLD_TABLE
VALUES ( 2 , '英語' , 'Hello World');
SELECT * FROM HELLO_WORLD_TABLE;
- ここから neverbird.zip をダウンロードして、展開して出てくる neverbird.war を deploy にコピー
- https://www.bit-consul.net:8080/neverbird/
・・・で、確認できるハズなのだが、我が家のルーターは 8080番ポートが塞がっており、外部からは確認できないので急遽 Apache との連携をセットアップすることにした。
- JBoss の管理コンソールは初期設定では無防備になっているので、これにアクセス認証をセットする。
a) deploy/jmx-console.war/WEB-INF/jboss-web.xml
- <security-domain>java:/jaas/xxxxxxxx</security-domain>
(xxxxxxxx はconf/login-config.xml にセットした login-module名)
b) deploy/jmx-console.war/WEB-INF/web.xml
<security-constraint> 部のコメントを外し、<role-name> を変更
<login-config> 部の <realm-name> を変更
<security-role> 部の <role-name> を変更
- <appender name="FILE" 要素に <param name="Threshold" value="INFO"/> を追加
<appender name="console" 要素を <param name="Threshold" value="ERROR"/> に修正
以上で、JBoss の復旧が完了したと思われる。
が、、、かってのサーバーのかすかな記録には、バグ対応の為に deploy/iiop-service.xml を修正するような記述があるので、その箇所を残しておく。
- <mbean code="org.jboss.iiop.CorbaORBService" ・・・部に
<attribute name="SunJDK14IsLocalBugFix">false</attribute> 追加とある
ログを調べてもエラーは出ていなかったので、上記はとりあえず反映させていない。・・・・
投稿者: 管理者 日時: 2006年9月 7日 20:25 | パーマリンク |TOPページへ ▲画面上へ
トラックバック
このエントリーのトラックバックURL:
https://bit-consul.net/cgi-bin/MT/mt-tb.cgi/14