サーブレット開発環境メモ −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− # 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 ↓ ココから ------------------------------------------------ ↑ ココまで ------------------------------------------------