DebianとTomcat
Debian に Tomcat7 をインストールする。
事前準備
ビルドする必要があるので、事前にビルドに必要なパッケージを導入しておく。
yes | apt-get install build-essential
インストール
# 作業ディレクトリの作成 mkdir /tmp/tomcat-installation-working-dir cd /tmp/tomcat-installation-working-dir # 変数定義 VERSION="7.0.42" JDK_PATH="/opt/java/jdk1.7" GROUP_ID="10001" USER_ID="10001" GROUP="tomcat" USER="tomcat" # Tomcat のダウンロード wget -O apache-tomcat-${VERSION}.tar.gz http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-7/v${VERSION}/bin/apache-tomcat-${VERSION}.tar.gz # tomcat group/user の作成 groupadd -g ${GROUP_ID} ${GROUP} useradd --uid ${USER_ID} --gid ${GROUP_ID} --shell /bin/sh -d /opt/tomcat ${USER} # tomcat の展開とビルド tar zxf apache-tomcat-${VERSION}.tar.gz cd apache-tomcat-${VERSION}/bin tar zxf commons-daemon-native.tar.gz cd commons-daemon-1.0.*-native-src/unix ./configure --with-java=${JDK_PATH} make chmod 744 jsvc mv jsvc ../.. cd ../../.. rm -rf bin/commons-daemon-1.0.*-native-src # opt 配下に展開 mkdir /opt/tomcat mv /tmp/tomcat-installation-working-dir/apache-tomcat-${VERSION} /opt/tomcat/apache-tomcat-${VERSION} ln -s /opt/tomcat/apache-tomcat-${VERSION} /opt/tomcat/tomcat chown -R tomcat:tomcat /opt/tomcat
動作確認
- /opt/tomcat/tomcat/conf/server.xml ファイル内で 8080 番ポートが指定されている個所について、実際に利用したいポートを指定する。以下は 80 番ポートを利用する例:
vi /opt/tomcat/tomcat/conf/server.xml :%s/8080/80/cg
- tomcatの起動
/opt/tomcat/tomcat/bin/startup.sh
- telnet で動作確認
telnet localhost 80 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. GET / HTTP/1.0 HTTP/1.1 200 OK
レスポンスの先頭行がHTTP/1.1 200 OK が表示されれば正常。
- tomcatの停止
/opt/tomcat/tomcat/bin/shutdown.sh
tomcat manager の権限設定
/opt/tomcat/apache-tomcat-${VERSION}/conf/tomcat-users.xml を以下のように変更する。
<?xml version="1.0" encoding="utf-8"?> <tomcat-users> <user username="admin" password="tomcatadmin" roles="manager-gui,admin-gui"/> </tomcat-users>
- 不要な Web Application の削除
rm -rf /opt/tomcat/apache-tomcat-${VERSION}/webapps/docs/ rm -rf /opt/tomcat/apache-tomcat-${VERSION}/webapps/examples/ rm -rf /opt/tomcat/apache-tomcat-${VERSION}/webapps/ROOT/ # 以下は必要なら削除しない rm -rf /opt/tomcat/apache-tomcat-${VERSION}/webapps/host-manager/
セッション情報の永続化の禁止
- コンテキストの再起動時にセッション情報を引き継ぎたいという要求が無い場合は永続化を禁止する。デフォルトでは /opt/tomcat/apache-tomcat-${VERSION}/work/Catalina/localhost/コンテキスト名/SESSIONS.ser ファイルにセッション情報が格納されるが、以下の設定を行うとそれが作成されなくなる。
/opt/tomcat/apache-tomcat-7.0/conf/context.xml を編集し、以下の部分をアンコメントする。
<Manager pathname="" />
自動起動設定
cp /opt/tomcat/apache-tomcat-${VERSION}/bin/daemon.sh /etc/init.d/tomcat
- service 用の情報を /etc/init.d/tomcat に以下のように追加
# resolve links - $0 may be a softlink ### BEGIN INIT INFO # Provides: tomcat # Required-Start: $network $syslog # Required-Stop: $network $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Description: start and stop tomcat # Short-Description: start and stop tomcat ### END INIT INFO ARG0="$0"
- 環境設定ファイルの配置
daemon.sh の内部では、以下の優先度で設定ファイルを読み込みます。
$CATALINA_BASE/bin/setenv.sh $CATALINA_HOME/bin/setenv.sh
そのため、/opt/tomcat/apache-tomcat-${VERSION}/bin/setenv.sh を作成します。
以下例:
#!/bin/bash export JAVA_HOME=/opt/java/jdk1.7 export JAVA_OPTS="-server -Xmx256m -Xms256m" export CATALINA_OPTS=""
- service に登録
update-rc.d tomcat start 90 2 3 4 5 . stop 10 0 1 6 .
tomcat のインストールと最低限の設定はこんな感じ。設定系は別記します。
後片付け
rm -rf /tmp/tomcat-installation-working-dir