基本設定
バージョン情報の隠蔽
Tomcatのシステムページやヘッダー等にTomcatバージョン情報が表示されないようにする。
# cd ${CATALINA_HOME}/lib
# jar xf catalina.jar org/apache/catalina/util/ServerInfo.properties
展開したアプリケーションファイルを修正
# vim org/apache/catalina/util/ServerInfo.properties
server.info=
server.number=
server.built=
再コンパイル
# jar uf catalina.jar org/apache/catalina/util/ServerInfo.properties
バージョン情報が出力されないことを確認
# ../bin/version.sh
完了後、展開したファイルは削除しておく。
# rm -rf org
セッション管理
Tomcatがデフォルトで利用するアプリケーションセッションタイムアウト値を設定します。
アプリケーション側で用意しているweb.xml
等で定義してある場合はそちらが優先されますが、
定義が無い場合tomcatの値が適用されてしまうこともあるため注意します。
<!-- # vim ${CATARINA_HOME}/conf/web.xml -->
<!-- ==================== Default Session Configuration ================= -->
<!-- You can set the default session timeout (in minutes) for all newly -->
<!-- created sessions by modifying the value below. -->
<session-config>
<session-timeout>5</session-timeout>
</session-config>
システムログ設定
システムログ
不要なログは出力さえれないよう設定
ホストベースでtomcatの設定を行っていないければ出力しないようコメントアウトしておく。
# vim ${CATALINA_HOME}/conf/logging.properties
handlers = 1catalina.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler
#2localhost.org.apache.juli.AsyncFileHandler.level = FINE
#2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
#2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.
#4host-manager.org.apache.juli.AsyncFileHandler.level = FINE
#4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs
#4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.
#org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
#org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler
アクセスログ
tomcat側でもアクセスログを出力するよう設定
ログフォーマットをapacheと同様に設定します。
<!-- # vim ${CATARINA_HOME}/conf/server.xml -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="tomcat-access" suffix=".log"
pattern='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i" %D' />
標準出力ログ
JSVCで起動した際のtomcat標準出力ロギング設定
起動スクリプト内の起動オプションに記載します。
# vim tomcat.sh
-outfile $LOGDIR/catalina.out \
-errfile '&1' \
ログローテート
tomcatシステムログ以外は自動でローテートされないため、ローテート設定を忘れずに
# vim /etc/logrotate.d/tomcat
/opt/app/tomcat/logs/catalina.out
{
daily
copytruncate
notifempty
su tomcat tomcat
}
不要なアプリケーションの削除
Tomcatにはデフォルトで管理用も含め幾つかのデフォルトアプリが配置されています。
基本的には全て不要ですので、必要ない限り削除します。
tomcat-manager
を利用してアプリケーションのデプロイを行なう場合は残します。
# cd ${CATALINA_HOME}/webapps
# rm -rf ROOT docs examples host-manager