あしたは晴れるかな。ii

駅前SEのお勉強ブログです。備忘録を兼ねて徒然事をアップしていきます。

tomcat を入れよう。

tom猫さんを入れます。そのためにJavaも入れます。

JRE(実行環境)でもよいらしいですが、JDK(開発環境)を入れます。

なんか既に java1.5が入ってますが最新版 Java1.7 と tomcat7 を入れます。

 

 

 

まずJava (JDK:Java開発キット)をインストールします。 最新が ver.1.7 なので、

yum -y install java-1.7.0-openjdk

成功。

続いて、Tomcatの公式ページより tomcat のパッケージをダウンロードする。[Core:]の中の[tar.gz]をダウンロードすれば良い。version が 7.0.39ならばapache-tomcat-7.0.39.tar.gzというファイルになる。

ダウンロードしたtar.gzファイルを、/usr/localに展開する。展開後、ディレクトリのオーナーをtomcatユーザにしておき、tomcatという名前でシンボリックリンクを作成しておく。

# tar xvzf apache-tomcat-7.0.29.tar.gz
# mv apache-tomcat-7.0.29 /usr/local
# cd /usr/local
# chown tomcat:tomcat -R apache-tomcat-7.0.29
# ln -s apache-tomcat-7.0.29 tomcat


ここまででインストールは完了した。
~/.bashrc に PATH を設定して完了。のはず。

JAVA_HOME=/usr/lib/jvm/jre-1.7.0
CATALINA_HOME=/usr/local/tomcat
export JAVA_HOME CATALINA_HOME
export PATH=$PATH:$CATALINA_HOME/bin

 

tomcat 起動用のスクリプトを作っておく。(まるパクリです。)

以下の内容で /etc/init.d/tomcat として設置する。

設置後、chmod +xして実行権限を付ける。

 

#!/bin/bash
#
# Startup script for the Tomcat Servlet Container
#
# chkconfig: 2345 35 65
# description: Tomcat is the servlet container that is used in the official \
#              Reference Implementation for the Java Servlet and JavaServer \
#              Pages technologies

TOMCAT_USER=tomcat
CATALINA_HOME=/usr/local/tomcat

. /etc/rc.d/init.d/functions
prog=tomcat

start() {
    echo -n $"Starting $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/startup.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && touch /var/lock/subsys/$prog
    return $RETVAL
}
stop() {
    echo -n $"Stopping $prog: "
    daemon --user $TOMCAT_USER $CATALINA_HOME/bin/shutdown.sh > /dev/null
    RETVAL=$?
    if [ $RETVAL -eq 0 ]; then
        echo_success
    else
        echo_failure
    fi
    echo
    [ $RETVAL = 0 ] && rm -f /var/lock/subsys/$prog
    return $RETVAL
}

# See how we were called.
case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    start
    ;;
  status)
    INSTANCES=`ps --columns 512 -aef|grep java|grep tomcat|grep org.apache.catalina.startup.Bootstrap|wc -l`
    if [ $INSTANCES -eq 0 ]; then
        echo $prog is stopped
        RETVAL=3
    else
        if [ $INSTANCES -eq 1 ]; then
            echo $prog is running 1 instance...
        else
            echo $prog is running $INSTANCES instances...
        fi
        RETVAL=0
    fi
    ;;
  *)
    echo $"Usage: $prog {start|stop|restart|status|help}"
    exit 1
esac

exit $RETVAL

tomcat起動スクリプトファイルを/etc/init.dに設置したら、chkconfigコマンドで自動起動するように登録しておく。

chkconfig --add tomcat

 

さあ、http://localhost:8080 を確認できたら終了。

と思いきや見えない。

 

色々調べると、selinux が邪魔してる様子

# /usr/sbin/setenforce permissive

 で無効化した。

ついでにシステム再起動時に設定を反映させるために、/etc/selinux/config を修正。

SELINUX=disabled

と設定。

改めて tomcat を再起動して

http://localhost:8080

を確認したらかわいくない猫が出てきて無事成功です。

 

次は Apachetomcat の連携かなぁ。