Tomcat

目次

前提条件

CentOS5.4上に構築する

Tomcat6.0.20

インストール

tomcatユーザー作成

# useradd -s /sbin/nologin tomcat

インストール

$ wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz
$ tar zxvf apache-tomcat-6.0.20.tar.gz
$ sudo mv apache-tomcat-6.0.20 /usr/local
# cd /usr/local
# chown -R root.root apache-tomcat-6.0.20
# ln -sfn apache-tomcat-6.0.20 tomcat

jsvcをmakeして生成

# cd /usr/local/tomcat/bin/
# tar zxvf jsvc.tar.gz
# cd jsvc-src
# chmod 755 configure
# ./configure --prefix=/usr/local/tomcat/bin/jsvc-src --with-java=/usr/java/jdk1.6.0_17
# make
# cp -p jsvc ..
# cd ..
# rm -fr jsvc-src

設定

tomcatディレクトリの所有者をtomcatユーザーに変更

# cd /usr/local
# chown -R tomcat.tomcat apache-tomcat-6.0.20

サービス登録

  • 起動スクリプト作成
    # /usr/local/tomcat/bin/jsvc-src/native/
    # cp -p Tomcat5.sh /etc/init.d/tomcat
    # vi /etc/init.d/tomcat
    ↓↓↓ 2行目に追記
    # Startup script for Apache Tomcat 6.0
    #
    # chkconfig: - 80 20
    # description: Apache Tomcat 6.0 is the Apache Servlet Engine RI for Servlet 2.5/JSP 2.1
    ↑↑↑ 追記
    
    #JAVA_HOME=/home2/java/j2sdk1.4.2_03
    JAVA_HOME=/usr/java/jdk1.6.0_17
    #CATALINA_HOME=/home/tomcat5/tomcat5/jakarta-tomcat-5/build
    CATALINA_HOME=/usr/local/tomcat
    #DAEMON_HOME=/home/jfclere/daemon
    DAEMON_HOME=$CATALINA_HOME
    #TOMCAT_USER=tomcat5
    TOMCAT_USER=tomcat
    
    #CATALINA_BASE=/home/tomcat5/tomcat5/jakarta-tomcat-5/build
    CATALINA_BASE=$CATALINA_HOME
    
    #CATALINA_OPTS="-Djava.library.path=/home/jfclere/jakarta-tomcat-connectors/jni/native/.libs"
    CATALINA_OPTS="-Djava.awt.headless=true -Dcom.sun.management.jmxremote -Xms128m -Xmx128m -Xss64k -XX:NewSize=64m -XX:MaxNewSize=64m -XX:PermSize=32m -XX:MaxPermSize=32m -XX:SurvivorRatio=2 -XX:TargetSurvivorRatio=80 -XX:+DisableExplicitGC -XX:+UseParallelGC -XX:+UseParallelOldGC"
    :
    
    case "$1" in
     start)
       #
       # Start Tomcat
       #
       #$DAEMON_HOME/src/native/unix/jsvc \
       $DAEMON_HOME/bin/jsvc \ ←修正
       -jvm server \ ←追記
    
     stop)
       #
       # Stop Tomcat
       #
       #$DAEMON_HOME/src/native/unix/jsvc \
       $DAEMON_HOME/bin/jsvc \ ←修正
    
  • サービス追加
    # cd /etc/init.d
    # chmod 755 tomcat
    # chkconfig --add tomcat
    
  • 動作確認
    # service tomcat start
    http://servername:8080/ にアクセスして画面確認
    # service tomcat stop
    

managerアプリケーションへのアクセス権限設定

# vi /usr/local/tomcat/conf/tomcat-users.xml
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
  <role rolename="manager" /> ←追記
  <role rolename="admin" /> ←追記
  <user username="admin" password="admin" roles="manager,admin" /> ←追記
</tomcat-users>

tomcatを再起動して動作確認

apacheと連携

※apacheをmod_proxy_ajpを有効にしてインストールしている事が前提

exampleサーブレットを連携対象にする

# cd /usr/local/apache2
# vi conf/extra/httpd-vhosts.conf
   <Location /examples>
       ProxyPass ajp://localhost:8009/examples
   </Location>

server.xml 8080に関する部分をコメントアウト

# cd /usr/local/tomcat
# vi conf/server.xml
   <!--
   <Connector port="8080" protocol="HTTP/1.1"
              connectionTimeout="20000"
              redirectPort="8443" />
   -->

動作確認

# service tomcat start
# service httpd start
この状態で、例えば http://servername:8080/examples/ にアクセスできず、http://servername/examples/ でアクセスできることを確認する
最終更新:2010年01月16日 15:29