« Tomcat5.5.x * 日本語 | メイン | MySQL GUI Tools »

Mac OSX * Apache2 * tomcat5 * mod_jk2

AjaxするにはなにかとJSP2.0だといいっぽいので、Tomcat4.1.18からTomcat5.5.17へバージョンアップ。ついでに MacデフォルトWebサーバであるApache1.3.33をApache2.2.3へアップグレード。さらにこの2つをmod_jk2で連携させる。結構ハマる感じなので、後を考えてログ。


■Tomcat5.5.17インストール
ここの左の[Download]からTomcat 5.x(今回は5.5.17)を選んで、Coreのzip版を選んでDL。tar.gz版だと何故か正常に解凍できない不具合があるっぽい。
これは普通に解凍後、/usr/localに置けばよい。
/bin/startup.shしてからlocalhost:8080にアクセスして正しく気持ち悪い猫がでてくれば、とりあえずよい。


■Apache2.2.3インストール
ここからUnix Sourceのhttpd-2.2.x.tar.gz(今回は2.2.3)をDL。/usr/localに移動させて,解凍。その後

$ sudo ./configure $ sudo make $ sudo make install

とやれば勝手に/usr/local/apache2というディレクトリにインストールしてくれる。
オプション無しで勝手にやってくれるようになったようだ。
bin/apachectl startとやってlocalhostにアクセスして

It works!

と表示されれば、よい。TOPページがすごく手抜きになった気が。。


■Tomcat5とApache2を連携させるj2のインストール。
ここからJK2 2.0.4 Source Release zipを落として、適当な場所に解凍。

そしてjk2作成用のディレクトリまで移動してconfigure。。。

$ cd /[解凍したディレクトリ]/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/native2 $ ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-tomcat50=/usr/local/tomcat5

とやると、libaprが無いと言われるが、/usr/local/apache2/libにlibapr.soという空のファイルを作る
事でこのエラーは回避できるようだ。

$ cd /usr/local/apache2/lib $ pwd /usr/local/apache2/lib $ vi libapr.so

としてとりあえず中身を何も書かず保存。そして再度

$ sudo ./configure --with-apxs2=/usr/local/apache2/bin/apxs --with-tomcat50=/usr/local/tomcat5

とやると今度はちゃんと出来るはず。その後

$ sudo make

までやる。そうすると

$ /[解凍したディレクトリ]/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/build/jk2/apache2

にmod_jk2.soというファイルが出来ているはず。それを

$ sudo cp mod_jk2.so /usr/local/apache2/modules/

とする。さらに

$ /[解凍したディレクトリ]/jakarta-tomcat-connectors-jk2-2.0.4-src/jk/conf

にworkers2.propertiesというファイルがあるので、これを

$ sudo cp workers2.properties /usr/local/apache2/conf/

して、httpd.confにLoadModule jk2_module modules/mod_jk2.soという行を追加する。後は、Tomcatのwebapps/jsp-examplesをexamplesに変えて(もしくは、workers2.propertiesを直接変更する)、Tomcat⇒Apacheと再起動してブラウザで localhost/examples/が見れれば完了。


■jk_2を使ったwebappsの登録。
/usr/local/apache2/conf/workers2.propertiesを開き、新規に作るwebappsのディレクトリ名を

[uri:/[ディレクトリ名]/*] info=[ディレクトリの解説] context=[ディレクトリまでのパス] debug=0

(例)
[uri:/hoge/*]
info=hoge is hoge
context=/hoge
debug

として、Tomcat⇒Apacheと再起動すればよい。httpd.confやserver.xmlをいじる必要は無い。
便利になったけど、jk2は公式サポートしなくなったらしい。。



About

2006年08月25日 12:48に投稿されたエントリーのページです。

ひとつ前の投稿は「Tomcat5.5.x * 日本語」です。

次の投稿は「MySQL GUI Tools」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。