サーバ構築 Tomcat 導入
Javaサーブレット・JSPを動かすためApache Tomcatを導入する。
CentOSのTomcatは古いため、最新版をダウンロードして環境を整える。
やりたいこと
サーバ上でJavaの稼動を可能とする。
条件
使用OS | CentOS5.5 64bit |
アプリ | Apache+PHP+MySQL (CentOS付属) |
アプリ | Java6 SDK |
文字コード | utf-8 |
ファイル入手
- Apache Tomcat
http://tomcat.apache.org/index.html
- 今回は以下ファイルを入手
apache-tomcat-6.0.29.zip
http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-6/v6.0.29/bin/apache-tomcat-6.0.29.zip
前準備:
Javaインストール
Java手順にてJAVAをインストール
インストール:
(1)ファイル転送
【FTP】
ftp にて、ユーザエリア「/home/hogehoge」に apache-tomcat-6.0.29.zip をアップ
(2)ファイルを展開
【Telnet】
$ su パスワード
- パッケージがあるか確認
# ls -l -rw-r--r-- 1 hogehoge hogehoge 6788418 12月 25 13:28 apache-tomcat-6.0.29.zip
- パッケージを解凍
# unzip apache-tomcat-6.0.29.zip Archive: apache-tomcat-6.0.29.zip creating: apache-tomcat-6.0.29/ creating: apache-tomcat-6.0.29/bin/ :
- 解凍ファイルがあるか確認
# ls -l drwxr-xr-x 9 root root 4096 7月 19 15:01 apache-tomcat-6.0.29 -rw-r--r-- 1 hogehoge hoghoge 6788418 12月 25 13:28 apache-tomcat-6.0.29.zip
(3)/opt直下にコピー
【telnet】
- ファイルコピー
# cp -R apache-tomcat-6.0.29 /opt
- ディレクトリがあるか確認
# ls -l /opt drwxr-xr-x 9 root root 4096 12月 25 13:43 apache-tomcat-6.0.29
- ディレクトリ名変更
# mv /opt/apache-tomcat-6.0.29/ /opt/tomcat/
- ディレクトリが変更されているか確認
# ls -l /opt drwxr-xr-x 9 root root 4096 12月 25 13:43 tomcat
(4)環境変数設定
- 環境変数作成
# vi /etc/profile.d/tomcat.sh
・以下全面追加
export JAVA_HOME=/usr/java/default export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar export TOMCAT_HOME=/opt/tomcat export CATALINA_HOME=/opt/tomcat export CLASSPATH=$CLASSPATH:$CATALINA_HOME/common/lib
(5)Tomcat起動
- 実行権限付与
# chmod +x /opt/tomcat/bin/*
- 実行
# /opt/tomcat/bin/startup.sh
Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat Using CATALINA_TMPDIR: /opt/tomcat/temp Using JRE_HOME: /usr/java/default Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar
動作確認
【Web】
以下URLにアクセス
http://192.168.0.10:8080/ → Tomcat 初期画面が表示
起動スクリプト作成
(1)Tomcat停止
- 停止
# /opt/tomcat/bin/shutdown.sh Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat Using CATALINA_TMPDIR: /opt/tomcat/temp Using JRE_HOME: /usr/java/default Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar
(2)起動スクリプト作成
- init.dにスクリプト新規登録
# vi /etc/rc.d/init.d/tomcat
#!/bin/bash # # 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 source /etc/profile.d/tomcat.sh
start(){ if [ -z $(/sbin/pidof java) ]; then echo "Starting tomcat" /opt/tomcat/bin/startup.sh touch /var/lock/subsys/tomcat else echo "tomcat allready running" fi }
stop(){ if [ ! -z $(/sbin/pidof java) ]; then echo "Shutting down tomcat" /opt/tomcat/bin/shutdown.sh until [ -z $(/sbin/pidof java) ]; do :; done rm -f /var/lock/subsys/tomcat else echo "tomcat not running" fi }
case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) /opt/tomcat/bin/catalina.sh version ;; *) echo "Usage: $0 {start|stop|restart|status}" esac
exit 0
- 実行権限付与
# chmod +x /etc/rc.d/init.d/tomcat
- 確認
# ls -l /etc/rc.d/init.d/tomcat -rwxr-xr-x 1 root root 961 1月 10 12:50 /etc/rc.d/init.d/tomcat
(3)起動スクリプトから起動
- init.dから起動
# /etc/rc.d/init.d/tomcat start Starting tomcat Using CATALINA_BASE: /opt/tomcat Using CATALINA_HOME: /opt/tomcat Using CATALINA_TMPDIR: /opt/tomcat/temp Using JRE_HOME: /usr/java/default Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar
(4)自動起動登録
- 確認
# chkconfig --list tomcat サービス tomcat は chkconfig をサポートしますが実行レベルで参照されていません (run 'chkconfig --add tomcat')
- chkconfigにtomcat追加
# chkconfig --add tomcat
- 確認
# chkconfig --list tomcat tomcat 0:off 1:off 2:off 3:on 4:on 5:on 6:off
- Tomcat自動起動設定
# chkconfig tomcat on
- 確認
# chkconfig --list tomcat tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Apache/Tomcat連携
(1)Apacheの設定ファイル追加
- Apacheの設定ファイル
# vi /etc/httpd/conf.d/proxy_ajp.conf
以下を最終行に追加
ProxyPass /tomcat/ ajp://localhost:8009/
★Tomcatが通常利用するポートは8080番ポートでであるが、
AJPコネクタを利用した通信には8009番ポートを利用する点に注意。
(2)Apacheリロード
# /etc/rc.d/init.d/httpd reload httpd を再読み込み中: [ OK ]
(3)動作確認
以下URLにアクセス
http://192.168.0.10/tomcat/ - Tomcat画面が表示
- 終了
# exit exit $
遭遇したトラブル
Tomcat画面が表示されない
問題:
http://192.168.0.10:8080/にアクセスしてもエラー画面となる
原因:
1)tomcat.sh の設定が間違っていた
2)修正後起動しても出なかった→ブラウザにキャッシュが残ってた。キャッシュクリアで表示
謝辞
テキスト作成にあたり、以下サイトを参考にさせて頂きました。ありがとうございます。
http://www.gs.sjts.co.jp/v3/support/install_linux_tomcat.html
http://centossrv.com/tomcat6.shtml
http://www.atmarkit.co.jp/fjava/rensai4/safetomcat_01/safetomcat_01_2.html