このページでは、高速・軽快動作とXTP(XSLT+独自の拡張タグ)機能が売りのサーブレットコンテナ、
Resinのインストール方法をご紹介します。
PC-UNIX編
Windows編
なお、UNIX、Windows各プラットフォームごとの設定は
Resinのダウンロードページからダウンロードできる、
「install.pdf」文書で詳解されていますので、
ぜひソフトウェアと一緒に入手されるとよいと思います。
次の環境で試しました。
OS | Resin | Java VM |
Apache |
Linux 2.2.14 | Resin-cmp-1.0.4 | 1.3 |
1.3.22 |
-
Resinを使う準備として、
J2SE 1.3などのJava実行環境(Java VM)がインストールされていることが大前提です。
ここではJ2SE 1.3を
/usr/local/jdk1.3 以下にインストールしたものとします。
- www.caucho.com
から
resin-cmp-1_0_4.tar.gz
をダウンロードします。
- インストールしたいディレクトリで展開します。
ここでは /usr/local で展開し、
できたディレクトリにシンボリックリンクを張って、
「/usr/local/resin」以下にファイルが作られるようにしていますが、
これは管理・開発しやすいようにすればいいと思います。
とりあえず、ここがRESIN_HOMEとなります。
% cd /usr/local
% tar xozf /the/path/of/resin-cmp-1_0_4.tar.gz
% ln -s resin-cmp-1.0.4 resin
- さっそく起動テストをしてみます。
% setenv JAVA_HOME /usr/local/jdk1.3
% setenv RESIN_HOME /usr/local/resin
% cd $RESIN_HOME
% ./bin/httpd.sh start
NetscapeなどのWebブラウザでhttp://localhost:8080/にアクセスして、
画面が表示されるとOKです。
- 今起動したResinのサーバを停止します。
setenv JAVA_HOME /usr/local/jdk1.3
setenv RESIN_HOME /usr/local/resin
cd $RESIN_HOME
./bin/httpd.sh stop
- 以上でResin単体(Webサーバとしての)の動作の確認ができました。
実際の運用環境では、Webサーバの機能は
Apacheに任せ、Resinは専らサーブレット/JSPエンジンとして動作させるのが普通です。
このためには、
Resinを
Apacheのモジュールとして起動できるようにするための共有ライブラリ
「mod_caucho.so」
をApacheのインストールディレクトリにインストールする必要があります。
と・いうわけで当然ながら、
ここから先はApacheが先にコンパイル・インストールされている必要があります。
この例では、
Apacheが既に /usr/local/apache にインストールされているものとします。
-
mod_cauchoのソースはResinの配布アーカイブの中にあります。
これを使って次のようにビルドします。
% cd $RESIN_HOME
% sh configure --with-apache=/usr/local/apache
% make
% make install
configureのオプションは他にもあるので、configure --help
で表示させて、適切なのを指定してください。
- /usr/local/apache/libexec/mod_caucho.so
が追加されたことを確認します。
また、/usr/local/apache/conf/httpd.conf
に次のような記述が追加されるので、一応こちらも確認しておきます。
# Caucho Servlet Engine Configuration
#
# Uncomment the following two lines to enable CSE
LoadModule caucho_module /usr/local/apache/libexec/mod_caucho.so
AddModule mod_caucho.c
<IfModule mod_caucho.c>
CauchoConfigFile /usr/local/resin/conf/resin.conf
</IfModule>
- apache, resinを再起動し、
http://localhost/index.xtp が出ることが確認できれば、
Resinのインストールは成功です。
- 今度は、Resinが自分自身で上げるWebサーバは必要なくなったので、
封鎖します。これは、$RESIN_HOME/conf/resin.conf を編集し、
ポート番号をコメント化して使えなくすればOKです。
<!--
<http port='8080'/>
-->
なお、ResinをApacheに組み込んだ場合の文書ディレクトリの起点ですが、
デフォルトでは $RESIN_HOME/conf/resin.conf に
<app-dir>doc</app-dir>
とある設定により、$RESIN_HOME/doc になっています。
これを「/usr/local/apache/htdocs」など任意のディレクトリに変更することで、
文書ディレクトリの起点となる位置を指定できます。
当然、サーブレットやJSPを含んだアプリケーションディレクトリは起点ディレクトリの下に階層的に構築することになります。
アプリケーションディレクトリの構造はResinとTomcatは共通です。
従って、素直なアプリケーションであれば、
TomcatとResin間の環境移動は簡単でしょう。
一点だけ注意が必要なのは、
Tomcatなどのアプリケーションサーバでは、Apacheのデフォルトと同様、
index.htmlやindex.htmなどの名前のHTML文書が存在しないディレクトリの場合は自動的にディレクトリ内のファイル一覧を表示します。
ところがResinの場合は、index.html等が見つからないと、
黙って「404 File Not Found」という応答を返すので、
「アプリケーションが正しく配備(Deploy)できていないのかな?」
と混乱することがあります。Resinでは、アプリケーションディレクトリ
(やそのサブディレクトリ)には、必ずindex.htmlを置くようにするとよいでしょう。
Resinでは、JSPとHTMLのみからなるアプリケーションの場合、
web.xmlも何も書き換える必要はありませんが、
サーブレットを使う場合には、
アプリケーションとサーブレットの名前をresin.confまたはアプリケーションの
WEB-INF/web.xml に書いておく必要があります。
ここでは、resin.conf に書き加える例を載せてみます。
<web-app id='/resin/sampleapp'>
<servlet-mapping url-pattern='/servlet/*' servlet-name='invoker'/>
<servlet-mapping url-pattern='*.xtp'
servlet-name='com.caucho.jsp.XtpServlet'/>
<servlet-mapping url-pattern='*.jsp'
servlet-name='com.caucho.jsp.JspServlet'/>
<classpath id='WEB-INF/classes'
source='WEB-INF/classes'
compile='true'/>
</web-app>
|
この場合のファイルの置場ですが、
HTML、JSP文書は
${app-dir}/resin/sampleapp に、サーブレットの .class ファイルは
${app-dir}/resin/sampleapp/WEB-INF/classes に置くことになります。
その際のURLは、HTML、JSPは
「http://サーバー名/resin/sampleapp/abc.jsp」
のようになり、サーブレットは
「http://サーバー名/servlet/SampleServlet」
となります。
なお、resin.confに上のように書いた場合は、各アプリケーションディレクトリの
WEB-INF/web.xml には何を書いてあってもResinは見ていないようです。
実際、Tomcat用のweb.xmlを持つアプリケーションディレクトリをそのままResin
のアプリケーションとして登録しても、エラーにならずに動作しています。
Resin-ee 2.1.3のインストール(Windows編) |
次の環境で試しました。
OS | Resin | Java VM | Apache |
WindowsXP Home Edition | Resin-ee-2.1.3 | 1.4 | 1.3.26 |
-
www.caucho.comから
resin-ee-2.1.3.zip をダウンロードし、展開します。
- 出てくるディレクトリ「resin-ee-2.1.3」を好きな位置に移動・改名します。
ここでは「C:\Wintools\resin」としたとします。
以後このディレクトリを $RESIN_HOME と表記し、ファイルパスはUNIX形式で表記します。
- $RESIN_HOME/bin/httpd.exe をコマンドプロンプトで実行します。
「Starting Resin on ...」と表示され、「Resin Httpd」
の小さなダイアログが出ます。
そのまま1、2分待つと、$RESIN_HOME/doc/cmp
の下のサンプルアプリケーションのコンパイルが自動的に始まります。
http listening to *:8080
srun listening to 127.0.0.1:6802
と出ると起動完了です。
- http://localhost:8080/にアクセスします。
ここまでで、Resin単体の動作は確認です。
- このままResinをWebサーバ兼サーブレットコンテナとして使ってもよいのですが、
ここではまたまたWebサーバの機能をApacheに預けることを考えましょう。
$RESIN_HOME/libexec/apache-1.3/mod_caucho.dll
(Apache 2台を使っている場合はapache-1.3の代わりにapache-2.0)
を、Apacheのインストールディレクトリ(以後$APA_HOTEL)の下の
「modules」ディレクトリの中にコピーします。
-
$APA_HOTEL/conf/httpd.conf を編集し、次の記述を追加します。
LoadModule caucho_module modules/mod_caucho.dll
# 中略
AddModule mod_caucho.c
# 中略
<IfModule mod_caucho.c>
CauchoConfigFile C:/wintools/resin/conf/resin.conf
</IfModule>
- Apache、Resinを再起動します。
- http://localhost/index.xtp にアクセスします。
Apache配下のURLのはずなのに、Resinのデフォルトホームページが表示されたら大成功です。
-
後はUNIX編の場合と同じく、
Resinのポート8080を封鎖し、ApacheとResinの文書ディレクトリツリーを統合すれば、
セットアップは完了です。
(first uploaded 2002/01/06 last updated 2002/08/04, KOUKEN HEIJIMA)
|