Top > Tomcat

Tomcat

Last-modified: 2014-02-23 (日) 20:37:51
最終更新:2014-02-23 (日) 20:37:51
アクセス数(合計):?
利用者; ? アクセス数(本日):? アクセス数(昨日):?

サーバ構築 Tomcat 導入

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


目的

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

構築条件

構築機器

作成環境

OS    CentOS 6.5 64bit版

サーバ作成条件

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

手順記入ルール

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

ファイル入手

サイト

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

前準備

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

インストール

yumにてunzipをインストールしておくこと。

# yum install unzip

(1)ファイル転送

【FTP】

wget/ftp等にて、ユーザエリア「/home/hogehoge」に tomcatのzipファイル をアップ

(2)ファイルを展開

【Telnet】

$ su
パスワード
  • パッケージがあるか確認
# ls -l
-rw-rw-r--  1 hogehoge hogehoge  8886342  2月 13 16:55 2014 apache-tomcat-7.0.52.zip
  • パッケージを解凍
# unzip apache-tomcat-7.0.52.zip
Archive:  apache-tomcat-7.0.20.zip
   creating: apache-tomcat-7.0.20/
   creating: apache-tomcat-7.0.20/bin/
     :
  • 解凍ファイルがあるか確認
# ls -l
drwxr-xr-x  9 root     root          4096  2月 13 10:30 2014 apache-tomcat-7.0.52
-rw-rw-r--  1 hogehoge hogehoge   8886342  2月 13 16:55 2014 apache-tomcat-7.0.52.zip

(3)/opt直下にコピー

  • ファイルコピー
# cp -R apache-tomcat-7.0.52 /opt
  • ディレクトリがあるか確認
# ls -l /opt/
drwxr-xr-x 9 root root 4096  2月 23 19:56 2014 apache-tomcat-7.0.52
  • ディレクトリ名変更
# mv /opt/apache-tomcat-7.0.52/ /opt/tomcat/
  • ディレクトリが変更されているか確認
# ls -l /opt/
drwxr-xr-x 9 root root 4096  2月 23 19:56 2014 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  28710  2月 23 19:56 2014 bootstrap.jar
-rw-r--r-- 1 root root   2168  2月 23 19:56 2014 catalina-tasks.xml
-rw-r--r-- 1 root root  13139  2月 23 19:56 2014 catalina.bat

   :

  • 実行権限付与
# chmod +x /opt/tomcat/bin/*
  • 確認
# ls -l /opt/tomcat/bin/
-rwxr-xr-x 1 root root  28710  2月 23 19:56 2014 bootstrap.jar
-rwxr-xr-x 1 root root   2168  2月 23 19:56 2014 catalina-tasks.xml
-rwxr-xr-x 1 root root  13139  2月 23 19:56 2014 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
Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.

動作確認

【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
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  2月 23 20:27 2014 /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  2月 23 20:27 2014 /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
Tomcat started.

(4)自動起動登録

  • 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 を再読み込み中:
  • 終了
# 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