Java Servlet/JSPアプリケーションサーバを構築する (Tomcat)

対象プラットフォーム: FreeBSD 7.x / FreeBSD 6.x


はじめに

このページでは、FreeBSDのportsを利用してapache Tomcatをインストールする方法について説明します。

「diablo-jdk16」のインストール

Tomcat自体もJavaで記述されたアプリケーションであるため、Tomcatを動作させるには、JDKをインストールする必要があります。

インストールはportsを利用して行います。
portsの取得および展開方法については、「最新のportsを取得して展開する」を参照してください。

portsの展開が完了した後、下記手順でtomcat55をmakeし、インストールします。

「diablo-jdk16」のインストール
$ cd /usr/ports/java/diablo-jdk16
$ make config-recursive
$ make install clean

上記のようにすると、すぐにエラーが出てmakeが止まると思います。
これは、SUNのライセンス上、ユーザのEULAへの同意なしでは、JDKのtarballをダウンロードしてはいけないためです。

表示されるメッセージに従い、FreeBSD Foundationのページから、該当するファイルをダウンロードし、「/usr/ports/distfiles」に保存してください。

portsによっては、上記のファイル以外に、Sunから配布されている「JDK DST Timezone Update Tool」が必要になる場合があります。
その際には、表示されるガイダンスに従い、対象のファイルをダウンロードしてください。
(別途「Sun Online Account」の登録が必要になります)

保存後、再度「make config-recursive」および「make install clean」を実行させると、再度makeが開始されます。

「tomcat55」のインストール

続いて、Tomcat本体をインストールします。
2008/09/19の時点で、portsコレクションには「Tomcat 4.1」「Tomcat 5.5」「Tomcat 6.0」の3つのバージョンが収録されていますが、ここでは「Tomcat 5.5」のインストール方法について説明します。

portsの展開が完了した後、下記手順でtomcat55をmakeし、インストールします。

「tomcat55」のインストール
$ cd /usr/ports/www/tomcat55
$ make config-recursive
$ make install clean

「rc.conf」の設定

システムの起動時にTomcatが自動的に起動するよう、「/etc/rc.conf」に下記の記述を追記します。

「/etc/rc.conf」の設定
tomcat55_enable="YES"
tomcat55_java_home="/usr/local/diablo-jdk1.6.0"
tomcat55_java_os="native"
tomcat55_java_vendor="freebsd"

設定が完了したら、システムを再起動するか、下記のようにするかしてtomcat55を起動させてください。

「/usr/local/etc/rc.d/tomcat55」を利用したtomcat55の手動起動
$ /usr/local/etc/rc.d/tomcat55 start

tomcat55が起動した後、インストールしたマシンの8080番ポートをブラウザでアクセスしてみてください。
ブラウザ上に「If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratuations! 」と表示されれば、tomcat55のインストールは完了です。

mod_jkを利用してapacheからtomcatを利用する

上記までの手順では、tomcat55はスタンドアロンのWebサーバとして起動しています。

一般的なWebサーバでは、すべてのページがJSPで記載された動的なページであることは少なく、静的なコンテンツもそれなりに存在するため、通常の静的なコンテンツはapacheで処理し、JSPだけをtomcat55に捌かせるようにするのが一般的です。

以降では、mod_jkを利用してapacheからTomcat 5.5の機能を呼び出す方法について説明します。
なお、apache 2.2以降では、同じ用途のためにmod_proxy_ajpが用意されていますので、こちらを使うようにしてください。

「mod_jk」のインストール

「mod_jk」モジュールについても、やはりportsからインストールします。
portsの展開が完了した後、下記手順でmod_jkをmakeし、インストールします。

「mod_jk」のインストール
$ cd /usr/ports/www/mod_jk
$ make config-recursive
$ make install clean

「server.xml」への追記

続いて、tomcat55の設定ファイルである「/usr/local/tomcat5.5/conf/server.xml」に以下の記述を追記します。
(追記する場所は「Catalina」セッションの配下です、間違えなきよう)

「/usr/local/tomcat5.5/conf/server.xml」への追記
<Connector className="org.apache.tomcat.service.PoolTcpConnector">
 <Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/>
 <Parameter name="port" value="8009"/>
</Connector>

「workers.properties」の作成

続いて、mod_jkがtomcat55に接続する際に必要な情報を記載したファイル「/usr/local/etc/apache/workers.properties」を以下の通り作成します。

「/usr/local/etc/apache/workers.properties」の作成
worker.list=ajp13
worker.ajp13.host=192.168.0.2
worker.ajp13.port=8009
worker.ajp13.type=ajp13

「worker.ajp13.host」はtomcat55が動作しているサーバのIPアドレス、「worker.ajp13.port」はtomcat55のコネクタが動作しているポート番号です。
後者は前述の「「server.xml」への追記」で指定したポート番号と同じものを記載するようにしてください。

「httpd.conf」への追記

最後に、apacheの設定ファイルである「/usr/local/etc/apache/httpd.conf」に「mod_jk」関連の設定を下記の通り追記します。

「/usr/local/etc/apache/httpd.conf」への追記
LoadModule jk_module libexec/apache/mod_jk.so
AddModule mod_jk.c

<IfModule mod_jk.c>
JkWorkersFile /usr/local/etc/apache/workers.properties
JkShmFile /var/db/mod_jk_shm
JkLogFile /var/log/mod_jk.log
JkLogLevel info
JkMount /*.jsp ajp13
</IfModule>

設定が完了したら、システムを再起動するか、apachectlを利用するかして、apacheを再起動させてください。

再起動後、apacheのdocument_root下に任意のjspファイルを配置してブラウザからアクセスしてみてください。

変更履歴

2009/05/07

・tomcat55をmod_jk経由でapacheと連携させる方法について追記。


あなたの探し物は見つかりましたか?
まさにこれだ
参考になった
ちょっと違う
これじゃない

何かメッセージがあればお願いします

このメッセージを非公開にする

ご注意

・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。


まだ評価がありません

表示できるメッセージはありません。


目次に戻る
image