SHINN::Scribble

2004.10.31

Tomcat on MacOS X  はてなブックマーク - Tomcat on MacOS X

以前インストールした Oracle JDeveloper 10g には Oracle9i Application Server が統合されているので,Web アプリケーションの実行・デバッグを行えます。しかし,想定している実行環境が Apache 2.0.x + Tomcat 4.1.x なので,これらの環境を MacOS X (10.3.5) に構築しました。

まず,MacOS X (10.3.5) にインストールされている Apache のバージョンを調べたところ

$ /usr/sbin/httpd -v
Server version: Apache/1.3.29 (Darwin)
Server built:   Feb  4 2004 10:31:58

だったので,先に Apache 2.0 をインストールしました。

Apache 2.0.52 のソースをダウンロードして,コンパイル・インストールします。インストール先はデフォルトのままとしました。

$ tar xvfz httpd-2.0.52.tar.gz
$ cd httpd-2.0.52
$ CFLAGS="-O2" ./configure --prefix=/usr/local/apache
      --enable-so=yes
      --enable-modules=most
      --enable-mods-shared=all
$ make
$ sudo make install

特に設定を変更せずに起動して

$ sudo /usr/local/apache/bin/apachectl start

ブラウザでアクセスしたところ,見慣れた画面が表示されて動作しているのを確認できました。

Apache の動作が確認できたので,次は Tomcat 4.1 です。Apache Jakarta Tomcat から Tomcat 4.1.31 のバイナリをダウンロードしてインストールします。インストール先は /usr/local/tomcat 配下とすることにしました。

$ cd /usr/local
$ sudo tar xvfz 〜/jakarta-tomcat-4.1.31.tar.gz
$ sudo mv jakarta-tomcat-4.1.31 tomcat

Tomcat は Apache と同様に nobody アカウントで起動するつもりなので,Tomcat が書き込みを行うディレクトリの所有者を変更します。

$ cd /usr/local/tomcat
$ sudo chown -R nobody:nobody logs/ temp/ webapps/
          work/ conf/

起動に必要な環境変数 JAVA_HOME と CATALINA_HOME を設定して,Tomcat を起動します。

$ JAVA_HOME=/System/Library/Frameworks/
          JavaVM.framework/Home
$ export JAVA_HOME
$ CATALINA_HOME=/usr/local/tomcat
$ export CATALINA_HOME
$ sudo su -m nobody -c "$CATALINA_HOME/bin/startup.sh"

Tomcat 起動後,http://localhost:8080/ にブラウザでアクセスして,Tomcat が動作しているかを確認します。

最後に,Apache と Tomcat を連携するコネクタをインストールします。Apache Jakarta Tomcat からコネクタ JK2 のソースコードをダウンロードしてコンパイルします。

$ tar xvfz jakarta-tomcat-connectors-jk2-src-current.tar.gz
$ cd jakarta-tomcat-connectors-jk2-2.0.4-src
$ cd jk/native2/
$ ./configure --with-apxs2=/usr/local/apache/bin/apxs
    --with-apache2-include=/usr/local/apache/include
    --with-apache2-lib=/usr/local/apache/lib
    --with-tomcat41=/usr/local/tomcat

しかし,configure を実行すると以下のエラーが出てしまいました。オプションをいろいろ変えたりしてみましたが,同じところでエラーが出てしまいます。

configure: error: can't locate libapr

仕方がないので configure を調べてみると,以下の記述がありました。

if ${TEST} -f ${APACHE2_LIBDIR}/libapr-1.so; then
  APR_LIBS="-L${APACHE2_LIBDIR} -lapr-1"
elif ${TEST} -f ${APACHE2_LIBDIR}/libapr-0.so; then
  APR_LIBS="-L${APACHE2_LIBDIR} -lapr-0"
elif ${TEST} -f ${APACHE2_LIBDIR}/libapr.so; then
  APR_LIBS="-L${APACHE2_LIBDIR} -lapr"

MacOS X ではシェアードライブラリの拡張子が .dylib なので,見つけることができないようです。そこで libapr.so のシンボリックリンクを作成しました。

$ cd /usr/local/apache/lib
$ sudo ln -s libapr-0.0.9.5.dylib libapr.so

JK2 のソースディレクトリへ戻り,再度 configure を実行したところ無事通りビルドできました。

$ ./configure --with-apxs2=/usr/local/apache/bin/apxs
    --with-apache2-include=/usr/local/apache/include
    --with-apache2-lib=/usr/local/apache/lib
    --with-tomcat41=/usr/local/tomcat
$ make

ビルドしたモジュールと設定ファイルのテンプレートを,Apache のディレクトリへコピーします。

$ cd ../build/jk2/apache2
$ sudo cp mod_jk2.so /usr/local/apache/modules/
$ cd ../../../conf/
$ sudo cp workers2.properties /usr/local/apache/conf/

そして,Apache の設定ファイル httpd.conf へ以下の行を追加します。

LoadModule jk2_module modules/mod_jk2.so

これで準備完了なので,Apache と Tomcat を再起動します。

$ JAVA_HOME=/System/Library/Frameworks/
          JavaVM.framework/Home
$ export JAVA_HOME
$ CATALINA_HOME=/usr/local/tomcat
$ export CATALINA_HOME
$ sudo "$CATALINA_HOME/bin/shutdown.sh"
$ sudo /usr/local/apache/bin/apachectl stop

$ sudo su -m nobody -c "$CATALINA_HOME/bin/startup.sh"
$ sudo /usr/local/apache/bin/apachectl start

以下の URL にブラウザでアクセスして,Tomcat のサンプル JSP と サーブレットが動作するのを確認します。

http://localhost/examples/

これで Apache 2.0 + Tomcat 4.1 環境の構築が完了です。

TrackBackshttp://shinn.boo.jp/mt/mt-tb.cgi/27

Comments

コメントをどうぞ




保存しますか?


 
Mail,メール  twitter,フォロー  RSS,フィード

CATEGORIES

DOWNLOADS

COCOMEISTER

ココマイスターのバッグ

 

    この日記のはてなブックマーク数  Powered by Movable Type 3.33-ja   blogram投票ボタン