Fedora Core2 Tomcat インストール

Tomcatインストール
[root@linux root]# apt-get -y install tomcat ← tomcatインストール
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
  commons-beanutils commons-collections commons-dbcp commons-digester
  commons-modeler commons-pool tomcat-libs
The following NEW packages will be installed:
  commons-beanutils commons-collections commons-dbcp commons-digester
  commons-modeler commons-pool tomcat tomcat-libs
0 upgraded, 8 newly installed, 0 removed and 0 not upgraded.
Need to get 5293kB of archives.
After unpacking 14.5MB of additional disk space will be used.
Get:1 http://ayo.freshrpms.net fedora/linux/2/i386/core commons-collections 2.1-12 [381kB]
Get:2 http://ayo.freshrpms.net fedora/linux/2/i386/core commons-beanutils 1.6.1-13 [192kB]
Get:3 http://ayo.freshrpms.net fedora/linux/2/i386/core commons-pool 1.1-3 [74.8kB]
Get:4 http://ayo.freshrpms.net fedora/linux/2/i386/core commons-dbcp 1.1-3 [210kB]
Get:5 http://ayo.freshrpms.net fedora/linux/2/i386/core commons-digester 1.4.1-13 [154kB]
Get:6 http://ayo.freshrpms.net fedora/linux/2/i386/core commons-modeler 1.0-8 [65.5kB]
Get:7 http://ayo.freshrpms.net fedora/linux/2/i386/core tomcat-libs 4.1.27-13 [2918kB]
Get:8 http://ayo.freshrpms.net fedora/linux/2/i386/core tomcat 4.1.27-13 [1298kB]
Fetched 5293kB in 42s (124kB/s)
Committing changes...
Preparing...                ########################################### [100%]
   1:commons-collections    ########################################### [ 13%]
   2:commons-beanutils      ########################################### [ 25%]
   3:commons-pool           ########################################### [ 38%]
   4:commons-dbcp           ########################################### [ 50%]
   5:commons-digester       ########################################### [ 63%]
   6:commons-modeler        ########################################### [ 75%]
   7:tomcat-libs            ########################################### [ 88%]
   8:tomcat                 ########################################### [100%]
Done.

[root@linux root]# apt-get -y install mod_jk2 ← mod_jk2(Apache/Tomcatコネクタ)インストール
Reading Package Lists... Done
Building Dependency Tree... Done
The following NEW packages will be installed:
  mod_jk2
0 upgraded, 1 newly installed, 0 removed and 0 not upgraded.
Need to get 74.7kB of archives.
After unpacking 146kB of additional disk space will be used.
Get:1 http://ayo.freshrpms.net fedora/linux/2/i386/core mod_jk2 4.1.27-13 [74.7kB]
Fetched 74.7kB in 5s (13.0kB/s)
Committing changes...
Preparing...                ########################################### [100%]
   1:mod_jk2                ########################################### [100%]
Done.

環境変数にTomcatのパスを追加
[root@linux root]# vi /etc/profile ← 環境変数を編集
export TOMCAT_HOME=/usr/share/tomcat ← CLASSPATHの前行へ追加
export CATALINA_HOME=/usr/share/tomcat ← CLASSPATHの前行へ追加
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar:/usr/share/java/pg74.215.jdbc3.jar:$CATALINA_HOME/common/lib ← 追加

[root@linux root]# source /etc/profile ← 環境変数を反映

ファイル名を省略した場合にディレクトリ一覧を表示しないようにする
[root@linux root]# vi /usr/share/tomcat/conf/web.xml ← 設定ファイル編集
listings
truefalse ← trueからfalseに変更

サーブレットクラスをJRE(Java実行環境)のクラスライブラリへコピー
[root@linux root]# cp /usr/share/tomcat/common/lib/servlet.jar $JAVA_HOME/jre/lib/ext/ ← コピー

Apache連携でサーブレット、JSPがInternal Server Errorとなってしまうことの対処
  ※FC2ではデフォルトでApacheとTomcatが連携するようになっている
[root@linux root]# vi /etc/httpd/conf/workers2.properties ← Tomcat/Apache連携設定ファイル編集
[shm:]
#info=Scoreboard. Required for reconfiguration and status with multiprocess servers ← 行頭に#を追加(コメントアウト)
#file=${serverRoot}/logs/jk2.shm ← 行頭に#を追加(コメントアウト)
#size=1000000 ← 行頭に#を追加(コメントアウト)
#debug=0 ← 行頭に#を追加(コメントアウト)
#disabled=0 ← 行頭に#を追加(コメントアウト)
disabled=1 ← 追加

Tomcat起動
[root@linux root]# /etc/rc.d/init.d/tomcat reload ← tomcat再起動
tomcatを停止中:                                            [  OK  ]
tomcat を起動中:                                           [  OK  ]
[root@linux root]# /etc/rc.d/init.d/httpd reload ← httpd再起動
httpd を再読み込み中:                                      [  OK  ]

Tomcat確認
http://サーバーのIPアドレス/examples/servlets/にアクセスしてServlet Examplesページが表示されることを確認
http://サーバーのIPアドレス/examples/jsp/にアクセスしてJSP Examplesページが表示されることを確認

Tomcat自動起動設定
[root@linux root]# chkconfig tomcat on ← tomcat自動起動設定
[root@linux root]# chkconfig --list tomcat ← tomcat自動起動設定確認
tomcat          0:オフ  1:オフ  2:オン  3:オン  4:オン  5:オン  6:オフ ← ランレベル2〜5のオンを確認

一般ユーザ用サーブレット/JSP格納ディレクトリを作成
[root@linux root]# mkdir /usr/share/tomcat/webapps/fedora2/
[root@linux root]# mkdir /usr/share/tomcat/webapps/fedora2/WEB-INF/
[root@linux root]# mkdir /usr/share/tomcat/webapps/fedora2/WEB-INF/classes/ ← サーブレット格納場所
[root@linux root]# mkdir /usr/share/tomcat/webapps/fedora2/jsp/ ← JSP格納場所
[root@linux root]# chown -R fedora2:fedora2 /usr/share/tomcat/webapps/fedora2/ ← 所有者をfedoraに変更

一般ユーザ用サーブレット/JSP格納ディレクトリをTomcat設定ファイルへ追加
[root@linux root]# vi /usr/share/tomcat/conf/server.xml
        </Context>

	<Context path="/fedora2" ← 追加
	         docBase="fedora2" ← 追加
	         reloadable="true" ← 追加
	         crossContext="true"> ← 追加
	</Context> ← 追加

      </Host>

    </Engine>

  </Service>

一般ユーザ用サーブレット/JSP格納ディレクトリをworkers2.propertiesへ追加
[root@linux root]# vi /etc/httpd/conf/workers2.properties
[uri:/fedora2/*] ← /fedora2/へのアクセスはtomcatへ流す

/fedora/servlet/以降へのアクセスはサーブレットとする設定
[root@linux root]# vi /usr/share/tomcat/conf/web.xml
<!-- The mapping for the invoker servlet -->
<!-- ← この行を削除
<servlet-mapping>
    <servlet-name>invoker</servlet-name>
    <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
--> ← この行を削除

Tomcat,Apache再起動
[root@linux root]# /etc/rc.d/init.d/tomcat reload ← tomcat再起動
tomcatを停止中:                                            [  OK  ]
tomcat を起動中:                                           [  OK  ]
[root@linux root]# /etc/rc.d/init.d/httpd reload ← httpd再起動
httpd を再読み込み中:                                      [  OK  ]