CentOS5.6/Tomcat

Last-modified: 2011-04-30 (土) 21:53:00
最終更新:2011-04-30 (土) 21:53:00
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

サーバ構築 Tomcat 導入

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


目的

WEBサーバ上でJavaサーブレットの稼動を可能とする。

構築条件

構築機器

作成環境

OS    CentOS 5.6 64bit版

サーバ作成条件

サーバIP192.168.0.10/24
ホスト名hogehogeServer
user   hogehoge
userpasswdhogehogepass
作業エリア/home/hogehoge

手順記入ルール

  • コマンド行頭記号で 「$」はユーザ権限 「#」はスーパーユーザー権限 を表示
  • コマンドが長くなる場合は、行末に「\」を記述し複数行に記述。

ファイル入手

サイト

今回インストールしたファイル

前準備

  1. CentOSインストール 実施
  2. yumリポジトリ設定 実施
  3. LAMPサーバ構築 実施
  4. Java 実施

インストール

(1)ファイル転送

【FTP】

wget/ftp等にて、ユーザエリア「/home/hogehoge」に apache-tomcat-7.0.12.zip をアップ

(2)ファイルを展開

【Telnet】

$ su
パスワード
  • パッケージがあるか確認
# ls -l
-rw-rw-r-- 1 hogehoge hogehoge 7638243  4月  5 22:31 apache-tomcat-7.0.12.zip
  • パッケージを解凍
# unzip apache-tomcat-7.0.12.zip
Archive:  apache-tomcat-7.0.12.zip
   creating: apache-tomcat-7.0.12/
   creating: apache-tomcat-7.0.12/bin/
     :
  • 解凍ファイルがあるか確認
# ls -l
drwxr-xr-x 9 root     root        4096  4月  1 18:15 apache-tomcat-7.0.12
-rw-rw-r-- 1 hogehoge hogehoge 7638243  4月  5 22:31 apache-tomcat-7.0.12.zip

(3)/opt直下にコピー

  • ファイルコピー
# cp -R apache-tomcat-7.0.12 /opt
  • ディレクトリがあるか確認
# ls -l /opt/
drwxr-xr-x 9 root root 4096  4月 30 18:25 apache-tomcat-7.0.12
  • ディレクトリ名変更
# mv /opt/apache-tomcat-7.0.12/ /opt/tomcat/
  • ディレクトリが変更されているか確認
# ls -l /opt/
drwxr-xr-x 9 root root 4096  4月 30 18:25 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起動

  • 確認
# ls -l /opt/tomcat/bin/
-rw-r--r-- 1 root root  27145  4月 30 18:25 bootstrap.jar
-rw-r--r-- 1 root root   2555  4月 30 18:25 catalina-tasks.xml
-rw-r--r-- 1 root root  12246  4月 30 18:25 catalina.bat

   :

  • 実行権限付与
# chmod +x /opt/tomcat/bin/*
  • 確認
# ls -l /opt/tomcat/bin/
-rwxr-xr-x 1 root root  27145  4月 30 18:25 bootstrap.jar
-rwxr-xr-x 1 root root   2555  4月 30 18:25 catalina-tasks.xml
-rwxr-xr-x 1 root root  12246  4月 30 18:25 catalina.bat

   :
★実行権が付与されていること

  • 実行
# /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:/opt/tomcat/bin/tomcat-juli.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:/opt/tomcat/bin/tomcat-juli.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
  • 確認
# ls -l /etc/rc.d/init.d/tomcat
-rw-r--r-- 1 root root 959  4月 30 18:44 /etc/rc.d/init.d/tomcat
  • 実行権限付与
# chmod +x /etc/rc.d/init.d/tomcat
  • 確認
# ls -l /etc/rc.d/init.d/tomcat
-rwxr-xr-x 1 root root 959  4月 30 18:44 /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:/opt/tomcat/bin/tomcat-juli.jar

(4)自動起動登録

  • 再度ログイン
# su -
  • chkconfig確認
# 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  ]
  • 終了
# exit
exit
$

(3)動作確認

以下URLにアクセス
http://192.168.0.10/tomcat/ - Tomcat画面が表示

遭遇したトラブル

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