サーブレット開発環境メモ
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
# java 開発環境構築
#---------------------------------------------------------------------------------------------
j2sdk のソースをインターネットよりダウンロードします。
# su root
# cd /usr/local/
# wget j2sdk-1_4_2_10-linux-i586.bin
ダウンロードしたファイルに実行権を与えた後、実行します。実行して出来るj2sdk のディレクトリがそのままjava 開発環境となるので、分かりやすくディレクトリ名を変更します。
# chmod 755 j2sdk-1_4_2_10-linux-i586.bin
# ./j2sdk-1_4_2_10-linux-i586.bin
# mv j2sdk1.4.2_10 j2sdk1.4
つづけて、root ユーザーのbash 設定ファイル(.bashrc) にjava 開発に必要な次の環境変数を設定します。なお、java 開発環境にはjavaVM も含まれており、JAVA_HOME を設定することでtomcat が用いるjavaVM が決定されます。
・JAVA_HOME : tomcat などのインストーラーが必要とする
・PATH : j2sdk1.4 の各種コマンドを実行するため
↓ ココから ------------------------------------------------
JAVA_HOME=/usr/local/j2sdk1.4
PATH=$PATH:/usr/local/j2sdk1.4/bin
export PATH JAVA_HOME
↑ ココまで ------------------------------------------------
※ 注意 )
下記に記載されているtomcat インストール方法では、tomcat をnobody でインストールし、tomcat 起動スクリプト中にJAVA_HOME を記載するので、ここでのJAVA_HOME の記述は特に必要ないかもしれません。
最後に、適当なj2sdk1.4 ソースを記述し、j2sdk1.4c コマンドによるコンパイルと j2sdk1.4 コマンドによる実行ができれば正常にj2sdk1.4 開発環境がインストールされています。
# tomcat サーブレット実行環境構築
#---------------------------------------------------------------------------------------------
tomcat のソースをインターネットよりダウンロードします。
# su root
# cd /usr/local/
# wget jakarta-tomcat-4.1.31.tar.gz
解凍して出来るtomcat のディレクトリがそのままサーブレット実行環境となるので、分かりやすくディレクトリ名を変更します。また、tomcat 自体をnobody 権限で起動するので、tomcat 配下の全てのファイル、ディレクトリの権限をnoboy とします。
# tar zxvf jakarta-tomcat-4.1.31.tar.gz
# mv jakarta-tomcat-4.1.31 tomcat4.1
# chown -R nobody:nobody ./tomcat4.1/*
tomcat を自動実行するためのスクリプトを用意します。
# vi /etc/rc.d/init.d/tomcat
↓ ココから ------------------------------------------------
#!/bin/sh
#
# Startup script for the tomcat
#
# chkconfig: 345 80 15
# description: Tomcat is a Servlet+JSP Engine.
#
# Source function library.
. /etc/rc.d/init.d/functions
case "$1" in
start)
if [ -f /usr/local/tomcat4.1/bin/startup.sh ]; then
echo "Starting the tomcat service "
su nobody -c "export PATH=$PATH:/usr/bin:/usr/local/tomcat4.1/bin; \
export JAVA_HOME=/usr/local/j2sdk1.4; /usr/local/tomcat4.1/bin/startup.sh;"
fi
;;
stop)
if [ -f /usr/local/tomcat4.1/bin/shutdown.sh ]; then
echo "Stopping the tomcat service."
su nobody -c "export PATH=$PATH:/usr/bin:/usr/local/tomcat4.1/bin; \
export JAVA_HOME=/usr/local/j2sdk1.4; /usr/local/tomcat4.1/bin/shutdown.sh;"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
;;
esac
exit 0
↑ ココまで ------------------------------------------------
この時点で下記の操作を行い、ブラウザにて http://[FQDN]:8080/ にアクセス後、ページが表示されれば、インストールは正常に行われています。
# /etc/rc.d/init.d/tomcat start
-> http://[FQDN]:8080/ にアクセス
# /etc/rc.d/init.d/tomcat stop
# tomcat-apache 接続環境構築
#---------------------------------------------------------------------------------------------
tomcat-apache コネクタソースをインターネットよりダウンロード後、ソースを解凍します。なお、tomcat-apache コネクタのインストールにはapr を利用するので、apr 関係のソースも同時にダウンロードします。
# su root
# cd /usr/local/src/
# wget jakarta-tomcat-connectors-jk2-src-current.tar.gz
# wget apr-0.9.7.tar.gz
# wget apr-util-0.9.7.tar.gz
# tar zxvf jakarta-tomcat-connectors-jk2-src-current.tar.gz
# tar zxvf apr-0.9.7.tar.gz
# tar zxvf apr-util-0.9.7.tar.gz
tomcat-apache コネクタを解凍後、ディレクトリに入りインストール作業を行います。make が終了したのち、特定のディレクトリ配下にコネクタモジュールが作成されるので、それをapache のlibexec 直下にコピーします。
# cd jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2
# ./configure --with-apxs=/usr/local/apache/bin/apxs \
--with-apr=/usr/local/src/apr-0.9.7 --with-apr-util=/usr/local/src/apr-util-0.9.7
# make
# cd ../build/jk2/apache13
# cp ./mod_jk2.so /usr/local/apache/libexec
apache のhttpd.conf にサーブレットへのリクエストをtomcat-apache コネクタ経由でtomcat サーブレットコンテナに渡すため、mod_jk2.so を動的リンクします。
# vi /usr/local/apache/conf/httpd.conf
↓ ココから ------------------------------------------------
LoadModule jk2_module libexec/mod_jk2.so
↑ ココまで ------------------------------------------------
さらに、どのURL パスがサーブレットのリクエストであるかをapache に知らせるために次のファイルを編集します。例えば、java.test.com/* のアクセスはすべてサーブレットへのアクセスであるのであれば、次のように設定します。
# vi /usr/local/apache/conf/workers2.properties
↓ ココから ------------------------------------------------
# ${serverRoot} とはapache インストールディレクトリである
# ログをファイルに出力する設定
#
[logger.file:0]
level=DEBUG
file=${serverRoot}/logs/jk2.log
# mod_jk2 の設定ファイルの場所を設定
#
[config:]
file=${serverRoot}/conf/workers2.properties
debug=0
debugEnv=0
# 共有メモリーに関する設定
#
[shm:]
disabled=1
# 通信チャンネルに関する設定
#
[channel.socket:localhost:8009]
info=Ajp13 forwarding over socket
debug=0
tomcatId=localhost:8009
# mod_jk2 のステータスワーカーは使用しない
#
[status:]
[uri:/jkstatus/*]
group=status:
[uri:java.test.com/*]
info=サーブレットテスト
debug=0
↑ ココまで ------------------------------------------------
コネクタ経由で受信したサーブレットリクエストの受け口をtomcat サーブレットコンテナに設定します。次の記述をService 要素の直下に記載してください。
# vi /usr/local/tomcat/conf/server.xml
↓ ココから ------------------------------------------------
↑ ココまで ------------------------------------------------
最後に、tomcat サーブレットコンテナのserver.xml ファイルに設置するアプリケーションの定義を記載し、tomcat -> apache の順に起動すればサーブレット実行環境が構築されたことになります。
# struts フレームワーク構築
#---------------------------------------------------------------------------------------------
struts のソースをインターネットよりダウンロードします。
# su root
# cd /usr/local
# wget struts-1.2.7.tar.gz.tar
# tar zxvf struts-1.2.7.tar.gz.tar
解凍して出来るstruts のディレクトリがそのままstruts のクラスライブラリとなるので、分かりやすくディレクトリ名を変更します。
# mv struts-1.2.7 struts
続けて、アプリケーションで必要なj2sdk1.4 ファイルをアプリケーションルートに配置します。
# cd ./struts
# cp -pr ./lib/*.jar $APPHOME/WEB-INF/lib
# cp -pr ./lib/*.tld $APPHOME/WEB-INF
# cp -pr ./lib/validator-rules.xml $APPHOME/WEB-INF
*.jpr : struts 本体のほか、struts で使用するクラスライブラリやタグライブラリ
*.tld : JSP ファイルの中で使用可能なStruts タグライブラリの情報を含むディスクリプタ
validator-rules.xml : struts 内で検証機能を利用する場合に必要となる検証情報ファイル
struts の設定ファイルを作成します。ここでは、最低限の設定内容のみ用意します。
# vi struts-config.xml
↓ ココから ------------------------------------------------
↑ ココまで ------------------------------------------------