CentOS5.5/Tomcat

Last-modified: 2011-07-16 (土) 08:56:35
最終更新:2011-07-16 (土) 08:56:35
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

サーバ構築 Tomcat 導入

Javaサーブレット・JSPを動かすためApache Tomcatを導入する。
CentOSのTomcatは古いため、最新版をダウンロードして環境を整える。


やりたいこと

サーバ上でJavaの稼動を可能とする。

条件

使用OSCentOS5.5 64bit
アプリApache+PHP+MySQL (CentOS付属)
アプリJava6 SDK
文字コードutf-8

ファイル入手


前準備:

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 初期画面が表示

tomcat-01.JPG

起動スクリプト作成

(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