CentOS / RHEL にtomcat7をインストール

2016年02月24日(編集2016年02月28日)
このエントリーをはてなブックマークに追加

tomcatのinstall方法を記載します。
環境はLinux, javaはopenjdkを利用します。

tomcatとは

JAVAWEBのアプリの事実上のデファクトApplicationサーバーです。

環境

  • 難易度:初級
  • vagrant
  • centos6.5
  • openjdk version 1.8.0_71

tomcat user作成

まず、tomcatユーザーを作成します。tomcatユーザーはtomcatを動かすユーザーです。

terminal

// rootになる
[vagrant@vagrant-centos65 ~]$ su -

// ユーザー作成
[root@vagrant-centos65 ~]# useradd tomcat
 
// パスワード変更
[root@vagrant-centos65 ~]# passwd tomcat
        

Download tomcat

terminal

wget http://ftp.riken.jp/net/apache/tomcat/tomcat-7/v7.0.67/bin/apache-tomcat-7.0.67.tar.gz
        

server configuration tomcat

terminal

// 解凍
tar -xzvf apache-tomcat-7.0.67.tar.gz
// tomcat配置フォルダを作成
sudo mkdir /opt/apache-tomcat
// モジュールを移動
sudo mv apache-tomcat-7.0.67 /opt/apache-tomcat
// 所有者とグループをtomcat userにする
chown -R tomcat:tomcat /opt/apache-tomcat

// 確認
ls -l
total 4
drwxrwxr-x 9 tomcat tomcat 4096 Feb  3 02:02 apache-tomcat-7.0.67
        

環境変数の設定

Apache Tomcatの起動には環境変数JAVA_HOMEとCATALINA_HOMEが必要です。
サーバ全体の設定(全ユーザ共通の環境変数)は、/etc/profileにそれぞれの変数を定義します。
printenvコマンドで変数の確認ができます。

CATALINA_HOME

CATALINA_HOMEはApache Tomcatのルートパスを設定します。
tomcat起動時や停止時に利用されます。

terminal

/opt/apache-tomcat/apache-tomcat-7.0.67
        

alternativesのJAVA_HOME

JAVA_HOMEにはjavaのpathを設定する必要があります。しかし、centosを利用している場合は、alternativesでjavaを管理していると思います。
alternativesはシンボリックリンクを利用しているので、readlinkで実体パスを読み取ります。

terminal

[vagrant@vagrant-centos65 ~]$ readlink /etc/alternatives/java | sed -e 's//bin/java//g'
/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
        

/etc/profileにJAVA_HOMEとCATALINA_HOMEを設定します。

terminal

vi /etc/profile

// 行の最後に追加
export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64;
export CATALINA_HOME=/opt/apache-tomcat/apache-tomcat-7.0.67
        

保存したら設定を反映させます。

terminal

// 設定を反映
[root@vagrant-centos65 ~]# source /etc/profile

// 確認
[root@vagrant-centos65 ~]# printenv
CATALINA_HOME=/opt/apache-tomcat/apache-tomcat-7.0.67
JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
        

オプションの設定

tomcatの設定値はCATALINA_HOME/bin/setenv.shに設定することができます。
この値はアプリの規模やサーバーの性能によって変化させます。
もちろん、設定しなくても起動します。 環境変数名にはJAVA_OPTSを使います。
サンプルとして以下のように設定します。

CATALINA_HOME/bin/setenv.sh

JAVA_OPTS="-Xms1024m -Xmx1024m -XX:MaxPermSize=256m -verbose:gc -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true"
        

tomcat起動

上記までの設定を終えたらtomcatを起動します。

terminal

// rootになる
su -

// 直下のフォルダに移動
[root@vagrant-centos65 ~]# cd /opt/apache-tomcat/apache-tomcat-7.0.67/bin

// tomcatユーザーで実行
[root@vagrant-centos65 bin]# sudo -u tomcat ./startup.sh
Using CATALINA_BASE:   /opt/apache-tomcat/apache-tomcat-7.0.67
Using CATALINA_HOME:   /opt/apache-tomcat/apache-tomcat-7.0.67
Using CATALINA_TMPDIR: /opt/apache-tomcat/apache-tomcat-7.0.67/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/apache-tomcat/apache-tomcat-7.0.67/bin/bootstrap.jar:/opt/apache-tomcat/apache-tomcat-7.0.67/bin/tomcat-juli.jar
Tomcat started.
        

ブラウザでhttp://192.168.33.51:8080/にアクセスしてみます。

tomcat停止

terminal

// rootになる
su -

// 直下のフォルダに移動
[root@vagrant-centos65 ~]# cd /opt/apache-tomcat/apache-tomcat-7.0.67/bin

// tomcatユーザーで実行
[root@vagrant-centos65 bin]# sudo -u tomcat ./shutdown.sh
Using CATALINA_BASE:   /opt/apache-tomcat/apache-tomcat-7.0.67
Using CATALINA_HOME:   /opt/apache-tomcat/apache-tomcat-7.0.67
Using CATALINA_TMPDIR: /opt/apache-tomcat/apache-tomcat-7.0.67/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /opt/apache-tomcat/apache-tomcat-7.0.67/bin/bootstrap.jar:/opt/apache-tomcat/apache-tomcat-7.0.67/bin/tomcat-juli.jar
Tomcat started.
        

まとめ

tomcatの起動と停止は自動起動スクリプトをつくると便利です。なので作成することをおすすめします。

関連記事

タグ検索で調べてみよう

Tomcat7 CentOS / RHEL