CentOSにtomcatをインストール

やりたいこと

jdkのインストール

既存のJDKは消しておいた方が良さそう?

  1. Java SE - Downloads | Oracle Technology Network | Oracleから最新のJDKの書庫ファイルを落としてくる。
    1. "....-rpm.bin"の方
    2. 旧版を使用する場合は、Oracle Java Archive | Oracle Technology Network | Oracleから落とす
  2. 実行権限を付与
  3. ファイルを実行→解凍
    1. 使用許諾が出て来た後、"Do you agree to the above license terms? [yes or no]"と出るのでyes
# chmod u+x jdk-6u13-linux-i586-rpm.bin
# ./jdk-6u13-linux-i586-rpm.bin

ちゃんと入ったみたい。

# /usr/bin/java -version
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)
#

解凍されたRPMファイルと、元の書庫を削除。

ちゃんとJavaを使用するなら、 /etc/profile を弄って、JAVA_HOME, PATH, CLASSPATHを設定しておくべきですが、面倒なのと、tomcat自動起動設定時に使用出来なかったため、割愛。

tomcatのインストール

  1. Apache Tomcat® - Welcome!から、Binary DistributionsのCoreのtar.gzを落とす。
  2. 解凍して適当なディレクトリに移動
  3. apacheから使うんで、所有者をapacheに変更
# wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-6/v6.0.18/bin/apache-tomcat-6.0.18.tar.gz
# tar zxvf apache-tomcat-6.0.18.tar.gz
# mv apache-tomcat-6.0.18 /usr/local/tomcat
# chown -R apache.apache /usr/local/tomcat

tomcat自動起動設定

“安全”のためにTomcatを理解し、構築し、動作させる (2/3):Tomcatはどこまで“安全”にできるのか?(1) - @ITをそのまま実行。

# cd /usr/local/tomcat/bin
# tar zxvf jsvc.tar.gz
# cd jsvc-src
# autoconf
# ./configure
# make
# chown apache.apache jsvc
# mv jsvc ..
# vim /etc/init.d/tomcat
# chkconfig tomcat on
# service tomcat start

/etc/rc.d/init.d/tomcat (参考資料だと /etc/rc.d/init.d/jsvc )の、JAVA_HOME, CATALINA_HOME, TOMCAT_USERは環境に合わせて修正しておく。

apacheとの連携

mod_proxy_ajpを使用して、tomcatの8009ポートに飛ばす。

server.xmlの変更

$CATALINA_HOME/conf/server.xml のConnector設定を修正。8009だけ以下のような形で有効にして、他は無効に。

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8" />
httpd.confの変更
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

<VirtualHost 192.0.2.1>
  serverName example.com
  ProxyPass /hoge  ajp://127.0.0.1:8009/hoge
</VirtualHost>