なんとな~くしあわせ?の日記

「そしてそれゆえ、知識そのものが力である」 (Nam et ipsa scientia potestas est.) 〜 フランシス・ベーコン

Tomcatをもう一度

エンコード関連でやることが無くなったのでもう一度初心に戻ってTomcatの開発環境を整える。

目標:作ったサーブレットJSPをホイホイ実験できるようにする(Centos上でアクセス規制を掛けて)

まずはTomcat6をyumで手に入れて、mod_jkで使えるようにする。またリポジトリが増えてしまうわけだが…どんどん肥満になる鼻毛鯖。許せ。ここで #yum info とか打ち込むとすごいことになる。リポジトリ追加はjpackageを使った。jpackageの最新リポジトリを使えば、Tomcat6が割合簡単にインストールできる。それについてはここを参考にした。
Tomcatが起動できない理由は「1、環境変数が間違っている」「2、ポートの競合」だと思うので、まずは環境変数を見直してみるべきだと思う。またパスを晒す。yumjavaのライブラリを更新すると勝手にdefaultにシンボリックリンクを張ってくれるので、そこをJAVA_HOMEにしてれば問題ないと思う。

export JAVA_HOME=/usr/java/default ← 通常は「/usr/java/jdk1.4.7_10/」みたいなディレクトリ
export PATH=$PATH:$JAVA_HOME/bin
export TOMCAT_HOME=/usr/local/Apache-tomcat
export CATALINA_HOME=/usr/local/Apache-tomcat
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/common/lib


インストールできたら自鯖に:8080ポートで接続して、可愛くない猫が出てくることを確認する。あっちこっちテキストファイルをいじることになるけれど、基本的に使うのは下記

/usr/local/tomcat/bin
「catalina.sh」「startup.sh」「shutdown.sh」などが置いてある。起動スクリプト(/etc/rc.d/init.d/tomcat)で動かすのはここのファイル。
#./catalina.sh run と打つといろいろ情報が出てくる。起動しないときときは使ってみるといいと思う。
参考:Tomcat 起動時のログ表示 (catalina.sh run での起動)

/usr/local/tomcat/conf
使用するポート設定などができる。今回は8080ポートを閉めて、8009ポートを開ける用途でしか使わなかった。

/etc/httpd/conf.d の配下
たぶんyumとかrpmでインストールしているならば(そうでなくても)、httpd.confの中に Include conf.d/*.confと記述しているはず。つまり設定ファイルをここに置いていれば勝手に読み込んでくれるんですねえ、よく考えられてる。

まずmod_jkを本家様からとってこなくてはならない。(最近Apacheのサイト重い気がするけど元から?)右上の検索窓からmod_jkを検索してダウンロード。正式名はApache Tomcat Connectorなんですね。ソースコードをとってきてコンパイルなど。mod_jkとmod_jk2とmod_jservがあって紛らわしいけど、本家に書かれているようにmod_jk2とmod_jservは開発が終わっているみたいだ。よってmod_jkを選択。
インストール自体は以下のサイトを参考にした。
Jk, Jk2 コネクタのインストール
Windows で Tomcat バージョン 6.0.32 のダウンロードとインストールとテスト実行
鯖設定とプログラム―LINUXにmod_jkでTomcatとApacheを接続するの詳細表示

# cd /usr/local/src
# wget http://www.apache.org/dist/tomcat/tomcat-connectors/jk/source/jk-1.2.31/tomcat-connectors**
# tar xvf tomcat-connectors-1.2.31-src.tar.gz
# cd tomcat-connectors-1.2.31-src/native
# ./configure --with-apxs=/usr/sbin/apxs
# make
できたファイル(ここではapache-2.0ファイルの中にある)mod_jk.soを移動する。
# cd apache-2.0
# cp mod_jk.so /etc/httpd/modules
# chmod +x /etc/httpd/modules/mod_jk.so
これでApacheにモジュールを組み込めるはず。

あとは鯖設定とプログラム―LINUXにmod_jkでTomcatとApacheを接続するの詳細表示ここのサイトの方がやっている通りにやればゴールが見えてくる。
基本的にはTOMCAT_HOME/conf配下に「workers.properties」を設定、コンテンツをTOMCAT_HOME/webapps配下に設置する。それに加えてApacheの/etc/conf/httpd/httpd.confに追記するか新たに/etc/conf/httpd/conf.d/jk_mod.confを追加するなどしてApache側での連携設定を行う。