このページでは、FreeBSDのportsを利用してapache Tomcatをインストールする方法について説明します。
Tomcat自体もJavaで記述されたアプリケーションであるため、Tomcatを動作させるには、JDKをインストールする必要があります。
インストールはportsを利用して行います。
portsの取得および展開方法については、「最新のportsを取得して展開する」を参照してください。
portsの展開が完了した後、下記手順でtomcat55をmakeし、インストールします。
$ 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が開始されます。
続いて、Tomcat本体をインストールします。
2008/09/19の時点で、portsコレクションには「Tomcat 4.1」「Tomcat 5.5」「Tomcat 6.0」の3つのバージョンが収録されていますが、ここでは「Tomcat 5.5」のインストール方法について説明します。
portsの展開が完了した後、下記手順でtomcat55をmakeし、インストールします。
$ cd /usr/ports/www/tomcat55 $ make config-recursive $ make install clean
システムの起動時にTomcatが自動的に起動するよう、「/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 start
tomcat55が起動した後、インストールしたマシンの8080番ポートをブラウザでアクセスしてみてください。
ブラウザ上に「If you're seeing this page via a web browser, it means you've setup Tomcat successfully. Congratuations!
」と表示されれば、tomcat55のインストールは完了です。
上記までの手順では、tomcat55はスタンドアロンのWebサーバとして起動しています。
一般的なWebサーバでは、すべてのページがJSPで記載された動的なページであることは少なく、静的なコンテンツもそれなりに存在するため、通常の静的なコンテンツはapacheで処理し、JSPだけをtomcat55に捌かせるようにするのが一般的です。
以降では、mod_jkを利用してapacheからTomcat 5.5の機能を呼び出す方法について説明します。
なお、apache 2.2以降では、同じ用途のためにmod_proxy_ajpが用意されていますので、こちらを使うようにしてください。
「mod_jk」モジュールについても、やはりportsからインストールします。
portsの展開が完了した後、下記手順でmod_jkをmakeし、インストールします。
$ cd /usr/ports/www/mod_jk $ make config-recursive $ make install clean
続いて、tomcat55の設定ファイルである「/usr/local/tomcat5.5/conf/server.xml」に以下の記述を追記します。
(追記する場所は「Catalina」セッションの配下です、間違えなきよう)
<Connector className="org.apache.tomcat.service.PoolTcpConnector"> <Parameter name="handler" value="org.apache.tomcat.service.connector.Ajp13ConnectionHandler"/> <Parameter name="port" value="8009"/> </Connector>
続いて、mod_jkがtomcat55に接続する際に必要な情報を記載したファイル「/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」への追記」で指定したポート番号と同じものを記載するようにしてください。
最後に、apacheの設定ファイルである「/usr/local/etc/apache/httpd.conf」に「mod_jk」関連の設定を下記の通り追記します。
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ファイルを配置してブラウザからアクセスしてみてください。
・tomcat55をmod_jk経由でapacheと連携させる方法について追記。
・頂いたメッセージは管理者のチェックの後、公開されます。
・メッセージの公開を希望されない場合には、「このメッセージを非公開にする」にチェックを入れてください。
・管理者が不適切と判断したメッセージは公開しませんので、予めご了承ください。
まだ評価がありません |
表示できるメッセージはありません。