Tomcatの小技(2)
Modified: 1 September 2007, 4 May 2007, 17 March 2007
Created: 9 March 2007Javaは昔から興味を持ち時々試しますが、そのたびに追記しています。今回も奮闘したのでそのときのTIPSを紹介します。
Tomcat5.5でアクセスログを取る (1 September 2007)
Tomcat5.5でCGIを動かしてみる (4 May 2007)
JDBCでHSQLDBに接続する実験 (17 March 2007)
JDBCでMySQLに接続する実験 (17 March 2007)
JDBCでPostgreSQLに接続する実験 (1 May 2007)
TOMCATのアプリをリロードする方法 (9 March 2007)
マネージャの画面を開く方法(ユーザ登録) (9 March 2007)
環境変数が自動的に設定されるようにする方法 (9 March 2007)
ディレクトリリストを表示させる方法 (9 March 2007)
"/var/www/tomcat55/conf/server.xml"の"<Engine>"の"<Host>"に、"<Valve>"タグを入れて指定します。
"<Engine>"の"<Host>"に、"<Valve>"を入れたので、そのホストに対するアクセスに対するログが取られます。
"<Engine>"に、"<Valve>"を入れると、複数のホストが定義されている場合、それら全てのそのホストに対するログが取られます。
ホスト内の特定のコンテキスト("<Context>")のみ記録したい場合は、そこに以下のようなタグを入れます。
<Engine ...> : <Host ...> : <Valve className="org.apache.catalina.valves.FastCommonAccessLogValve" directory="/var/log/httpd" prefix="tomcat_access." suffix=".log" pattern="combined" resolveHosts="true"/> :
以下のURLからマネージャ画面を開きます。
http://192.168.0.8:8080/manager/html
該当のアプリの行の「再ロード」をクリックすればリロードできます。
TOMCATのマネージャ画面を開くには、ユーザ登録が必要です。
以下のように、"roles="manager""で、1行追加します。
<tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> <user username="tomo" password="passss" roles="manager"/> </tomcat-users>TOMCATを再起動すればログインできるようになります。
ログインしたら環境変数が自動的に設定されるようにするには、各ユーザのホームディレクトリにある ".bash_profile"に設定します。
以下は、tomoユーザに設定した例です。
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH unset USERNAME export PATH=/usr/java/j2sdk1.4.2_04/bin:$PATH export JAVA_HOME=/usr/java/j2sdk1.4.2_04/ export CATALINA_HOME=/usr/local/tomcat4/ export CATALINA_BASE=/usr/local/tomcat4/
ファイル名を指定しない場合、エラー404のFILE NOT FOUND になりますが、ファイル名を指定しない場合には、ディレクトリを表示させることができます。
"conf/web.xml"を開いて、"<param-name>"が"listings"のところの"<param-value>"を"false"から"true"に変更すれば表示されるようになります。
: <servlet> <servlet-name>default</servlet-name> <servlet-class> org.apache.catalina.servlets.DefaultServlet </servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>true</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> :