| 
        
          
            |  | 
              
                
                  |  |  
                  |  |  
              
                
                  | ●J2SDK Tomcat + Apacheの連携 OS:Linux Debian 
 ※Tomcat4.1.31にセキュリティホールがでたので、パッチをあててね。
 パッチはこちら。
 
 Debian(sarge)のOS上でJavaを動作させる環境を設定します。
 今回使用するアプリケーションのバージョン等は以下の通り。
 
 ・tomcat4 4.1.31-3(aptからインスコ)
 ・tomcat4-webapps 4.1.31-3(aptからインスコ)
 ・java-common 0.22(aptからインスコ)
 ・fakeroot 1.2.10(aptからインスコ)
 ・libapache-mod-jk1.2.5-2(aptからインスコ)
 ・j2sdk-1_4_2_09-linux-i586.bin
 ・j2sdk1.4_1.4.2.09-0.13_i386.deb
 ・mpkg-j2sdk_0.13_i386.deb
 
 まずは、Tomcatをインストールします。これはaptで簡単にインストールできます。
 
 
                    
                      
                        | # su (ルートになる) # apt-get install tomcat4 tomcat4-webapps
 
 |  tomcat4-webappsは、Javaのサンプルプログラム等も格納していますので、tomcatのインストールと一緒に入れておきます。
 
 tomcat4のtomcat4-webappsインストールが完了したら、J2SDKをインストールします。今回は、どうやってもaptからインストールされなかったので、http://z42.de/ここのサイトからパッケージ(mpkg-j2sdk_0.13_i386.deb)をダウンロードします。
 Debianのパッケージを作成してからインストールするとjava(1|2)-runtime,java-virtual-machine等、Javaに必要な仮想パッケージを提供してくれるので便利です。設定は以下の通りです。
 
 
                    
                      
                        | # apt-get install fakeroot //mpkg-j2sdk を使うときにfakerootが必要だと言われるため。 # dpkg -i mpkg-j2sdk_0.13_i386.deb //エラーがでましたが、普通に動作するので無視
 ※エラーの場合は、必要なパッケージをaptしてあげると良いです。
 
 # chmod a+x j2sdk-1_4_2_09-linux-i586.bin
 # mpkg-j2sdk j2sdk-1_4_2_09-linux-i586.bin
 
 --ここで同じフォルダに、「mpkg-j2sdk_0.13_i386.deb」ファイルができます。
 # dpkg -i j2sdk1.4_1.4.2.09-0.13_i386.deb
 
 |  
 
                    
                      
                        | ※補足 ソースからTomcatを展開した場合は、パスを通すのを忘れずに。
 |  
                        | 
                          
                            
                              | # vi /etc/profile 
 export JAVA_HOME=/usr/lib/j2sdk1.4
 export CLASSPATH=$JAVA_HOME/lib/tools.jar
 
 # source /etc/profile
 
 |  |  ここまでで問題なければ、Tomcatを起動します。
 
 
                    
                      
                        | # /etc/init.d/tomca4 start 
 |  /etc/tomcat4/server.xmlに書いてあるポートを調べ、ブラウザーからチェックします。
 
 http://ホスト:8180
 
 Tomcatのページが表示すればインストール成功です。
 次は、apacheと連動させてポート番号を指定せずにJavaを動作させます。apacheとtomcatを連携させるのに、「mod_jk」を使用します。これもaptでインストールできます。
 今回mpkg-j2sdが入ってると依存エラーか何かでaptでエラーがでたので、mpkg-j2sdはj2sdkインストール後、削除しました。
 
 
                    
                      
                        | # dpkg -r mpkg-j2sdk //aptがエラーをだすため削除 ※mpkg-j2sdkがエラーなくインスコできてる場合は、消さなくてもいいです。
 
 # apt-get install libapache-mod-jk
 |  
                    
                      
                        | ※補足 apache2で連携する場合、「libapache2-mod-jk2」をインストールしないといけないはずなんですが、aptすると「libapache2-mod-jk」に統一されましたと、書いてるっぽいエラーがでるので、「libapache2-mod-jk」をインストールします。
 |  
                        | 
                          
                            
                              | # apt-get install libapache2-mod-jk |  
                              | その後、/usr/share/doc/libapache2-mod-jk/httpd_example_apache2.confを/etc/apache2/mods-enabled/jk.confにコピーし、 「JkMount /examples/* ajp13_worker」を追加します。
 この場合、workers.propertiesは/etc/libapache2-mod-jk/workers.propertiesに自動的にできるので、以下の作業は不要です。
 |  |  /etc/apache/conf/にworkers.propertiesというファイルを作ります。内容は以下の通り。
 
 
                    
                      
                        | 〜 workers.properties の内容 〜 worker.list=worker1
 
 worker.worker1.port=8009 //ajp13が使用するポート
 worker.worker1.host=localhost
 worker.worker1.type=ajp13
 worker.worker1.lbfactor=1
 
 |  httpd.confも変更します。今回は一番下に追加しました。
 
 
                    
                      これで設定完了です。
                        | 〜 httpd.conf の内容 〜 ・
 ・
 ・
 #Tomcat4
 JkWorkersFile /etc/apache/conf/workers.properties
 JkLogFile /var/log/apache/mod_jk.log
 JkLogLevel debug //動作チェックのためdebug。
 JkMount /examples/* worker1
 
 |  TomcatとApacheをStopして、Tomcat、Apacheの順番で起動します。
 
 http://ホスト/examples/
 
 
                    
                      
                        | ※補足 ソースからコンパイルした場合は、
 http://ホスト/jsp-examples/
 というアドレスになります。
 ※さらに補足
 これは、パッケージの場合、/usr/share/tomcat4/webapps/にあるコンテキスト定義ファイルで、<Context
                  path="/examples" docBase="/usr/share/tomcat4/server/webapps/examples"
                  debug="0" reloadable="false" crossContext="true"
                  privileged="false">
 という感じで、/usr/share/tomcat4/server/webapps/examplesがベースですよと指定してある。つまりこのファイルは、エイリアスのようなものなのかな。ソースにはこういう記述はありません。
 |  これでJavaの画面が表示されればOKです。server.xmlを変更して8180ポートでアクセスできないようにしておくのがベストだと思います。
 Tomcat4とTomcat5では設定が違ってくるので注意してください。
 
 |  |  |