|
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
この文書は、DominoをTomcatと協調するように設定する方法を説明します。 WebサーバとTomcatエンジンの間で動作する構成要素(ワーカ)の設定方法を知るために、 ワーカの手引き もあわせて読むことをおすすめします。 最近のバージョンのLotus Domino WebサーバはJava サーブレットを使えるようになりましたが、 執筆時点では、DominoサーブレットコンテナはJDK 1.2.2を使用しており、これをJDK1.3に置き換えることは(明らかに)できません。 つまり、サーブレットでJDK1.3でしか使えないJAASなどのAPIを使おうとすると、ハマってしまうということです。
${tomcat_home}はTomcatのルートディレクトリです。 Tomcatのインストール時には以下のサブディレクトリがなければいけません。
この文書の全てのサンプルでは、${tomcat_home}は c:\jakarta-tomcat になっています。 ワーカ(worker)は、Dominoサーバからの作業を受け取るTomcatプロセスと定義します。
Domino-Tomcatリダイレクタは以下の環境で開発・テストされました。
リダイレクタは、要求をTomcatコンテナに送るのに ajp12 および ajp13 を使用します。 おそらくTomcatとともに内部プロセスとしても動作するでしょうが、テストされていません。
ajp12プロトコルはTomcat 3.2.xと3.3.xでのみ使用可能です。 ajp12 は Tomcat 3.3.xでは 推奨されません 。代わりに ajp13 を使うべきです。 ajp13 はTomcat 4.0.x, 4.1.x と 5 で扱える唯一のajpプロトコルです。 もちろんTomcat 3.2.xと 3.3.xもajp13プロトコルをサポートしています。 jetty のような他のサーブレットエンジンもajp13プロトコルをサポートしています。
Tomcatリダイレクタには以下の3つが必要です。
本項ではTomcatリダイレクタが c:\jk\lib\tomcat_redirector.dll に、 プロパティファイルが c:\jk\conf に置かれ、 ログディレクトリとして c:\jk\logs を作成していると仮定して話をすすめます。 tomcat_redirector.dll ファイルをDominoのプログラムディレクトリにコピーします (これは nlnotes.exe というファイルが入っているディレクトリで、 c:\Lotus\Domino というような名前になっているはずです)。
要するに、このファイルがどこにあるかをDominoに伝えるわけですが、その前にいくつかのレジストリ エントリを作成する必要があります。 一番簡単なのは、インストール時に作成される tomcat_redirector.reg ファイルを編集するという方法です。このファイルは初期状態としては以下のようになっています。
Tomcatがインストールされている場所にあわせて、このファイルを編集します。つまり、 c:\\jakarta-tomcat と c:\\jk を適切なパスに置き換えます。 円マークまたはバックスラッシュ("\")は2個ずつのままにしておく ことをお忘れなく。 必要な変更を加えたら、このファイルを保存し、ダブルクリックしてレジストリに追加します。 worker_fileキーとworker_mount_fileキーが参照しているファイルについては、実際に存在し、正しいデータが入っている必要があることに注意して下さい。 Tomcatをデフォルトでインストールした場合には、これらのファイルも作成されています。Tomcatの最近のバージョンでは、スタートアップ時にuriworkermap.properties-autoというファイルを作成し、デフォルトの動作をさせるためにこのファイル名をuriworkermap.propertiesに変えることも可能であることにも注意して下さい。
デフォルトのworkers.propertiesを使う場合、何らかの理由で、Windows 2000ではlocalhostへの参照解決で問題が起こるようです。 一番簡単な解決策は'localhost'を全て'127.0.0.1'に置換することです。
先にあげたレジストリ エントリの最後の2つ(tomcat_startとtomcat_stop)にはコマンドが書いてあります。これは、DominoのHTTPサーバが起動・停止する時に、 リダイレクタDLLがTomcatを起動・停止させるのに使用するコマンドです。 もしこのような動作が不要なら、これらの2行を省くこともできます (もしすでにレジストリに設定しているのであれば削除することもできます)。
最後に、DSAPI拡張DLLを使えるようにDominoの設定を行う必要があります。 Dominoサーバ設定について詳しくない人のために説明しておくと、サーバで設定可能な動作のほとんどは、 「公開アドレス帳(Public Name and Address Book)」 、または略して 「NAB」 と呼ばれるデータベースの「サーバ文書」という文書でコントロールできます (注意:LotusはDomino 5以降、NABを「ドミノディレクトリ」に名称変更しています)。 それぞれのDominoサーバにはNAB(ファイル名はnames.nsf)があり、それぞれのNABには、現在のサーバに関する文書を含む、たくさんのサーバ文書があります。 もし今までにDominoサーバの設定をしたことがないのであれば、マニュアルを見る必要があるかもしれません。あるいはこの文書を仲良しのDomino管理者に見せる必要があるかもしれません。 Dominoサーバー文書の使い方を心得ているのなら、これからすることは実はとても簡単です。 設定しようとしているサーバに関するサーバ文書を開き、編集モードにして、「インターネット」タブの「HTTP」サブタブにある「DSAPI」セクションの「DSAPIフィルタファイル名」フィールドを探します。このDSAPIのフィールドに"tomcat_redirector.dll"を追加し、文書を保存して閉じます。
これらの設定変更を反映し、他の箇所がおかしくなっていないことを確認するために、 Dominoサーバを再起動しなければなりません。 もしサーバがサービスとして実行されていて、直前のコンピュータの再起動以降に関連するシステム変数 (JAVA_HOME, TOMCAT_HOME, CLASSPATH)を変えたのなら、今すぐコンピュータを再起動しなければなりません。 なぜなら、更新されたシステム変数はリブートした後でないとサービスが参照しないからです。 もし全てうまくいけば、Webサーバが起動したときに、サーバコンソールに以下のような感じで表示されるはずです。
同時にTomcatが新しいウィンドウで開いているはずです(レジストリ設定で自動起動オプションをオンにしていることを想定しています)。 これでTomcatが管理しているURLを見ることができるはずです。 Tomcatの設定にもよりますが、以下のようなURLが使えるでしょう。 全ての作業が完了していればの話ですが ;-)
Tomcatリダイレクタには以下の3つが必要です。
libtomcat.so ファイルをDominoのプログラムディレクトリにコピーします (このディレクトリは /opt/lotus/notes/5601/linux というような名前になっており、 libnotes.so というファイルが入っているはずです)。 そして、 libtomcat.ini をDominoのデータディレクトリにコピーします。
もしリダイレクタをソースコードからビルドしているのであれば、 これらのファイルはすでに適切な場所にコピーされているはずであることに注意して下さい。 リダイレクタを使う前に、 libtomcat.ini の設定を見たいかもしれません。 デフォルトでは以下のような感じになっています。
もしリダイレクタをソースコードからビルドしている場合は、何も変更する必要はないでしょう。 そうでなければ、Tomcatがインストールされている場所を反映するためにこのファイルを編集しなければならないでしょう。 つまり、/usr/local/apache/tomcatとなっているのを適切なパスに置換するということです。 worker_file キーと worker_mount_file キーが参照しているファイルについては、 実際に存在し、そこに正しいデータが入っている必要があることに注意して下さい。 Tomcatをデフォルトでインストールした場合は、これらのファイルも作成されています。Tomcatの最近のバージョンでは、スタートアップ時にuriworkermap.properties-autoというファイルを作成し、デフォルトの動作ができるようにこのファイル名をuriworkermap.propertiesに変えることも可能であることにも注意して下さい。
先にあげたレジストリエントリの最後の2つ(tomcat_startとtomcat_stop)にはコマンドが書いてあります。これは、DominoのHTTPサーバが起動・停止する時に、 リダイレクタがTomcatを起動・停止させるのに使用するコマンドです。 もしこの動作が不要ならば、この2行を削除することも可能です。
最後に、DSAPI拡張DLLを使って、Dominoの設定を行う必要があります。 Dominoサーバ設定について詳しくない人のために説明しておくと、サーバで設定可能な動作のほとんどは、 「公開アドレス帳(Public Name and Address Book)」 、 または略して 「NAB」 と呼ばれるデータベースの「サーバ文書」という文書でコントロールできます (注意:LotusはDomino 5以降、NABを「ドミノディレクトリ」に名称変更しています)。 それぞれのDominoサーバにはNAB(ファイル名はnames.nsf)があり、それぞれのNABには、現在のサーバに関する文書を含む、たくさんのサーバ文書があります。 もし今までにDominoサーバの設定をしたことがないのであれば、マニュアルを見る必要があるかもしれません。あるいはこの文書を仲良しのDomino管理者に見せる必要があるかもしれません。 Dominoサーバー文書の使い方を心得ているのなら、これからやることは、実はとても簡単です。 設定しようとしているサーバに関するサーバ文書を開き、編集モードにして、「インターネット」タブの「HTTP」サブタブにある「DSAPI」セクションの「DSAPIフィルタファイル名」フィールドを探します。 このDSAPIのフィールドに"libtomcat.so"を追加し、文書を保存して閉じます。
これらの設定変更を反映し、他の箇所がおかしくなっていないことを確認するために、 Dominoサーバを再起動しなければなりません。 Dominoコンソールで以下のようにタイプします。
リダイレクタがロードされ、(Tomcat自動起動を使用している場合は)Tomcat が起動したことを確認するメッセージとともに、 HTTPサーバがリロードされるのを見られるはずです。 これでTomcatが管理しているURLを見ることができるはずです。 Tomcatの設定によりますが、以下のようなURLが使えるでしょう。
(Windows向けに)コンパイルするためにはJK DominoのソースとMicrosoft Visual C++ 6.0が必要です。 それに、おそらくはLotus Notes C API version 5.0.7またはそれ以降のバージョンが欲しいと思うでしょう。 C APIがなくてもDLLをビルドすることはできますが、その場合にはconfig.hにNO_CAPIマクロを定義する必要があります。 ただし、その場合はDLLからのDominoのログ出力ができなくなります。
おそらく、Lotus Notes C API version 5.0.3 for Unixまたはそれ以降のバージョンが欲しいと思うでしょう。 C APIがなくてもリダイレクタをビルドすることはできますが、その場合にはconfig.hにNO_CAPIマクロを定義する必要があります。 ただし、その場合は、リダイレクタからのDominoのログ出力ができなくなります。
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
[訳注: これは高橋達男が翻訳しました。日本語訳に対するコメントがあれば、こちらに送って下さい。]
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||