目次
このマニュアルについて
第 1 章 iPlanet Web Server の基礎知識
第 2 章 iPlanet Web Server の管理
第 3 章 管理プリファレンスの設定
第 4 章 ユーザとグループの管理
第 5 章 サーバ セキュリティ
第 6 章 サーバ クラスタの管理
第 7 章 サーバのプリファレンスの設定
第 8 章 ログ ファイルの理解
第 9 章 SNMP によるサーバのモニタ
第 10 章 サーバの設定によるパフォーマンス チューニング
第 11 章 プログラムによるサーバの拡張
第 12 章 コンフィグレーション スタイルの操作
第 13 章 サーバのコンテンツ管理
第 14 章 サーバへのアクセスの制御
第 15 章 Web パブリッシングの設定
第 16 章 検索機能の使用
付録 A HTTP (HyperText Transfer Protocol)
付録 B ACL ファイルのシンタックス
付録 C 国際化 iPlanet Web Server
付録 D Microsoft FrontPage のサーバ拡張機能
付録 E iPlanet Web Server
用語集
索引
戻る 次へ 目次 索引 ブックシェルフ


第 11 章 プログラムによるサーバの拡張

この章では、クライアントからのリクエストに対して HTML ページをダイナミックに生成するプログラムを iPlanet Web Server にインストールする方法を示します。これらのプログラムをサーバサイド アプリケーションといいます(クライアントサイド アプリケーションは、クライアントにダウンロードされ、クライアント マシンで実行されるアプリケーションです)。

この章には次の節があります。


サーバサイド プログラムの概要
Java Servlet、JavaScript アプリケーション、および CGI プログラムには、それぞれ異なる長所と用途があります。これらのサーバサイド プログラムの違いは次のとおりです。

  • Java Servlet は Java で記述します。Java は、ネットワーク アプリケーションを作成するための、機能が豊富なプログラミング言語です。
  • CGI (Common Gateway Interface) プログラムは、C、Perl、または他のプログラミング言語で記述することができます。すべての CGI プログラムは、標準の方法でクライアントとサーバの間で情報を交換します。

警告

  • JavaScript アプリケーションは、オブジェクトベースのスクリプト言語である JavaScript で記述します。JavaScript は、Java や C などの言語よりも覚えやすく、迅速なアプリケーション開発に向いています。

ノート iPlanet Web Server 4.0 では、サーバサイドの Java アプレットはサポートされて いません。

サーバで動作するサーバサイド アプリケーションのタイプ
iPlanet Web Server では、次のタイプのサーバサイド アプリケーションを実行して、コンテンツをダイナミックに生成することができます。

  • Java Servlet
iPlanet Web Server では、サーバ自体の動作を拡張または変更するプログラムを実行することもできます。これらのプログラムはプラグインと呼ばれ、NSAPI (Netscape Server Application Programming Interface) を使って記述します。プラグイン プログラムの作成とインストールについては、『NSAPI Programmer's Guide for iPlanet Web Server』を参照してください。

サーバサイド アプリケーションのサーバへのインストール方法
サーバへのインストール方法は、プログラムのタイプによって異なります。それぞれのインストール手順は次のとおりです。

これらのインストール手順については、後続の各節で説明します。


Java Servlet と JSP (JavaServer Pages)
この節では、iPlanet Web Server での Java Servlet および JavaServer Pages のインストール方法と使用方法について説明します。

この節の内容は次のとおりです。

Servlet と JavaServer Pages の概要
iPlanet Web Server では、Java Servlet と JSP (JavaServer Pages) がサポートされています。

Java Servlet はサーバサイドの Java プログラムであり、CGI プログラムと同じように Web サーバの機能拡張に使うことができます。Servlet は、インターフェイスなしでサーバサイドで動作するアプレットとして考えることができます。Servlet は、URL の呼び出しによって起動します。iPlanet Web Server では、JSDK (Java Servlet Development Kit) 2.2.1 PR レベルの JavaSoft の Servlet API がサポートされています。

Servlet を開発するには、Sun Microsystems の Java Servlet API を使います。Java Servlet API の使用法については、Sun Microsystems から提供されているドキュメントを参照してください。URL は次のとおりです。

iPlanet Web Server で使う Servlet の開発については、『Programmer's Guide to Servlets in iPlanet Web Server』を参照してください。

JSP は、HTML ページに似たページで、Web ブラウザに表示することができます。ただし、JSP には HTML タグだけでなく一連の JSP タグを含めることができるので、Web ページの設計者はページにダイナミックなコンテンツを組み込むことができます。これらのタグには、プロパティ値の表示、簡単なコンディションの使用などの機能があります。iPlanet Web Server では、JSP API 1.0 準拠レベルの JSP がサポートされています。

JSP の作成方法については、次の Sun Microsystems の JSP の Web ページを参照してください。

サーバでの Servlet と JSP の実行に必要な要素
iPlanet Web Server には、JRE (Java Runtime Environment) は含まれていますが、JDK (Java Development Kit) は含まれていません。サーバは、JRE を使って Servlet を実行できますが、JSP の実行には JDK が必要です。JSP を実行するには、カスタムの JDK を使うように iPlanet Web Server に指定する必要があります。

iPlanet Web Server 4.1 では、正式バージョンの JDK を使う必要があります。表 11.1のように、プラットフォームによって異なるバージョンが必要となります。

表 11.1 各プラットフォームでサポートされている JavaSoft JDK のバージョン
プラットフォーム
JRE/JDK バージョン
Solaris Sparc
1.2.2_01
Windows NT
1.2.2_01
HPUX
1.2.2_02
AIX
1.2.1
DEC
1.2.1-2
Linux
1.2.2RC3+
IRIX
1.2.1

必要な JDK バージョンの最新情報については、『iPlanet Web Server インストールおよび移行ガイド』と最新の『Release Notes』を参照してください。

JDK 1.2 (および他の JDK バージョン) は次の Sun Microsystems の Web サイトから入手することができます。

JDK へのパスは、次のいずれかの方法で指定します。

JDK のパスをインストール時に指定する場合も、インストール後に指定する場合も、パスは、JDK をインストールしたフォルダです。

Servlet と JSP の有効化
iPlanet Web Server で Servlet を実行するには、その前に Servlet エンジンを有効にする必要があります。サーバで JSP を処理するには、その前に Servlet エンジンと JSP を有効にする必要があります(Servlet が有効でないと、JSP はサーバで 処理されません)。

iPlanet Web Server で Servlet と JSP を有効または無効にするには、サーバ マネージャの [Servlets] タブの「Enable/Disable Servlets/JSP」ページを使います。このページで、Servlet と JSP を有効または無効にすることができます。Servlet が無効であると、JSP を有効にすることはできません。

Servlet が有効であれば、JSP を有効または無効にすることができます。ただし、Servlet を無効にすると、JSP も自動的に無効になります。この場合、後で Servlet を有効にするときは、JSP も再度有効にする必要があります。

また、Servlet 用のスレッド プールを定義することもできます。どのサーバ サブシステムでも、Servlet を実行するスレッド プールを指定することができます。スレッド プールについては、スレッド プールの追加と使用を参照してください。

JSP をクライアントから使用可能にする
JSP ファイルは、ドキュメント ルート下の任意のディレクトリにそれを単に配置するだけでインストールすることができます。次の条件を満たしている限り、特別な操作は必要ありません。

  • iPlanet Web Server で JDK の使用が指定されている。
  • サーバで Servlet と JSP の両方が有効である。
Servlet をクライアントから使用可能にする
Servlet については、次の 2 通りの方法で、Servlet をクライアントからアクセス可能にすることができます。

  • Servlet ディレクトリとして iPlanet Web Server に登録されたディレクトリに、Servlet のクラス ファイルを配置する方法。詳細については、Servlet ディレクトリの指定を参照してください。
  • Servlet の仮想パス変換を定義する方法。この場合、Servlet のクラスは、ファイル システム内の任意の位置への配置が可能なので、リモート マシンに配置することもできます。詳細については、Servlet 仮想パス変換の設定を参照してください。
これらのオプションを両方とも選択することもできます。Servlet ディレクトリを指定し、このディレクトリ以外にある Servlet に対して仮想パス変換を定義することができます。

Servlet ディレクトリの指定
クライアントから Servlet をアクセス可能にする方法の 1 つに、Servlet ディレクトリとして iPlanet Web Server に登録されたディレクトリに Servlet を配置する方法があります。登録された Servlet ディレクトリ内の Servlet は、必要に応じてダイナミックに読み込まれます。サーバで Servlet のファイルがモニタされ、変更されるとすぐに自動的に再読み込みが行われます。

たとえば、サーバのドキュメント ルート ディレクトリの servlet サブディレクトリ内に SimpleServlet.class という Servlet がある場合、Web ブラウザで次のように指定すると Servlet を起動することができます。

    http://your_server/servlet/SimpleServlet

iPlanet Web Server では、任意の数の Servlet ディレクトリを登録することができます。初期状態の Web サーバには、サーバ インスタンスごとに、server_id/docs/servlet/ という Servlet ディレクトリが 1 つあります。

iPlanet Web Server では、登録された Servlet ディレクトリ内のファイルはすべて Servlet と見なされます。このディレクトリ内の .class 拡張子を持つすべてのファイル (アプレットを含む)は Servlet として処理されます。iPlanet Web Server では、このディレクトリ内の他のファイル (HTML ファイルや JSP など) は正しく処理されません。

サーバには、複数の Servlet ディレクトリを登録することができます。これらのディレクトリはすべて、ディレクトリ階層のプライマリ ドキュメント ディレクトリ下に配置する必要があります。必要であれば、Servlet ディレクトリを仮想ディレクトリに割り当てることができます。たとえば、http://my_domain.com/products/ から、ディレクトリ server_id/docs/servlet/january/products/servlets/ 内の Servlet が起動するように指定することができます。

Servlet ディレクトリを登録し、URL プレフィックスを指定するには (仮想であるかどうかにかかわらず)、サーバ マネージャの [Servlets] タブの「Servlet Directory」ページを使います。次のフィールドを設定します。

[URL Prefix] ディレクトリにアクセスするためのプレフィックス。たとえば、論理 URL http://servername/plans を、ディレクトリ d:/netscape/server4/docs/plans に変換するには、[URL Prefix]フィールドに「plans」と入力します。

[Servlet Directory] Servlet ディレクトリとして登録するディレクトリの絶対パス名。たとえば、d:/netscape/server4/docs/plans。iPlanet Web Server では、そのディレクトリ内のすべてのファイルが Servlet として扱われます。

ノート デフォルトでは、リダイレクトされる URL は常にエスケープされます。これを防ぐには、「escape="no"」と追加します。 例は次のとおりです。

グローバル属性の設定
Servlet には、次のようなグローバル属性を設定することができます。

  • サーバ起動時に実行する Servlet。
  • Servlet に使うセッション マネージャ。
  • Servlet に使うセッション マネージャ Args (引数)。
  • Servlet が変更された場合にサーバが Servlet の再読み込みを行うまでの時間。
グローバル属性を設定するには、サーバ マネージャの [Servlets] タブの 「Configure Global Servlet Attributes」ページを使います。次のフィールドを設定します。

[Startup Servlets] このフィールドには、Web サーバの起動時に読み込む Servlet の名前を入力します。.class 拡張子の入力は不要です。

[Session Manager] セッション マネージャ クラスがある場合は、その値をこのフィールドに入力します。

[Session Manager Args] セッション マネージャの引数を指定する場合は、このフィールドに入力します。複数の name=value パラメータはカンマで区切ります。入力は、name=value,name2=value2.... の形式で行います。詳細については、『Programmer's Guide to Servlets for iPlanet Web Server』の付録 A「Session Managers」を参照してください。

[Reload Interval] Servelet や JSP が変更された場合に、サーバが再読み込みを行うまでの時間 (秒単位) です。0〜600 の整数値を指定します。デフォルト値は 5 秒です。

Servlet の属性の設定
Servlet の入力パラメータ、クラスパス、または仮想変換を指定する場合は、Servlet を個別に設定する必要があります。この作業は、サーバ マネージャの [Servlets] タブの「Configure Servlet Attributes」ページで行います。

ノート 「Configure Servlet Attributes」ページで Servlet を設定すると、Servlet は iPlanet Web Server の config ディレクトリ内の servlets.properties ファイル に自動的に追加されます。

このページでは、次のフィールドを指定することができます。

[Choose Servlet] 編集する Servlet を指定します。仮想パスがまだセットアップされていない場合は、リストは空です。このドロップダウン リストから Servlet を選択すると、ページに Servlet の情報が表示されます。新しい仮想パスのエントリを追加する場合は、このフィールドを無視します。

[Servlet Name] Servlet の識別子を指定します。この識別子は、iPlanet Web Server の内部で使われ、Servlet にアクセスする URL では使われません。この識別子は、Servlet のクラス名と同じ名前または異なる名前にすることができます。

[Servlet Code (class name)] Servlet のメイン クラス ファイルの名前を指定します。.class 拡張子は省略可能です。ディレクトリは指定しないでください。

[Servlet Classpath] Servlet が含まれるディレクトリまたは zip/jar ファイルの絶対パス名または URL です。クラスパスは、ファイル システム内の任意の位置を指すことができます。Servlet のクラスパスには、ディレクトリ、.jar ファイルや .zip ファイル、またはディレクトリへの URL を含めることができます(zip ファイルまたは jar ファイルのクラスパスに URL を指定することはできません) 。Servlet のクラスパスが、登録された Servlet ディレクトリではない場合に、クライアントから Servlet をアクセス可能にするには、Servlet 仮想パス変換を指定する必要があります。詳細については、Servlet 仮想パス変換の設定を参照してください。

iPlanet Web Server では、Servlet のクラスパスに、複数のディレクトリ、jar ファイル、zip ファイル、および URL を指定することができます。

[Servlet Args] Servlet に他のパラメータがある場合は、このフィールドに入力します。複数の name=value パラメータはカンマで区切ります。入力は、name=value,name2=value2.... の形式で行います。たとえば、「arg1= 45, arg2=online, arg3="quick shopping" 」と入力します。

Servlet 仮想パス変換の設定
クライアントから Servlet を使用可能にする方法の 1 つに、登録された Servlet ディレクトリに Servlet を配置する方法があります。また、Servlet ごとに Servlet の仮想パス変換を定義する方法もあります。たとえば、次の URL から、

次のディレクトリに定義された Servlet が起動されるように指定することができます。

Servlet の仮想パス変換は、ローカルおよびリモートのファイル システムを含めて、登録された Servlet ディレクトリ内外の任意の場所にある Servlet に対して設定することができます。

Servlet の仮想パス変換を設定するには、サーバ マネージャの [Servlets] タブの「Configure Servlet Attributes」ページで Servlet が設定されている必要があります。詳細については、Servlet の属性の設定を参照してください。

Servlet の仮想変換パスを指定するには、サーバ マネージャの [Servlets] タブの「Configure Servlet Virtual Path Translation」ページを使います。このページには、次のフィールドがあります。

[Choose Virtual Path Entry] 変更する仮想パスを指定します。以前に設定された仮想パスがない場合リストは空です。このドロップダウン リストで仮想パスを選択すると、仮想パスの情報がページに表示されます。新しい仮想パスのエントリを追加する場合は、このフィールドを無視します。

[Virtual Path] 新しいパスを追加する場合は、このフィールドに入力します。既存の仮想パス名を上書きすることもできます。パスを変更する場合は、[Choose Virtual Path Entry] リストでパスを選択し、パス名をこのフィールドに表示します。

このフィールドに入力する値は、http://servername 部分を除く、仮想パスの URL です。たとえば、仮想パスを http://servername/virtual/tracker とする場合は、「/virtual/tracker 」と入力します。

[Servlet Name] 「Configure Servlet Attributes」ページで入力した Servlet の識別子を指定します。この時点で Servlet の識別子が指定されている必要はありませんが、仮想パスを使う前に指定する必要があります。

JRE/JDK パスの設定
iPlanet Web Server をインストールするとき、JRE (Java Runtime Environment ) をインストールするか、JDK (Java Development Kit) のパスを指定することができます。

サーバは、JRE を使って Servlet を実行できますが、JSP の実行には JDK が必要です。iPlanet Web Server には JDK は付属していませんが、次の Sun Microsystems のサイトから無償でダウンロードすることができます。

JRE をインストールする場合も、インストール時に JDK のパスを指定する場合も、iPlanet web Server に指示を送り、JRE または JDK の使用をいつでも切り換えることができます。Web Server Administration Server に切り替えると、 [Global Settings] タブを選択し、「Configure JRE/JDK Paths」ページを使います。 このページで JDK のパスを変更することもできます。

JDK のラジオ ボタンを選択すると、次のフィールドの値を提示します。

[JDK Path] JDK のパスを入力します。これは、JDK をインストールしたディレクトリです。

[JDK Runtime Libpath] JDK の実行時のライブラリ パスを入力します。

[JDK Runtime Classpath] クラスパスには、Servlet エンジンの実行に必要なディレクトリと jar ファイルのパス、Servlet の例、および追加する Servlet に必要な他のパスが含まれます。値はセミコロンで区切ります。既存のクラスパスに新しい値を追加できますが、既存の値は削除しないでください。既存の値には Servlet の処理に不可欠なパスが含まれています。

JRE のラジオ ボタンを選択すると、次のフィールドの値を提示します。

[JRE Path] JRE のパスを入力します。これは、JRE をインストールしたディレクトリです。

[JRE Runtime Libpath] JRE の実行時のライブラリパスを入力します。

ノート JDK の実行時リブパス、JDK 実行時 クラスパス、または JRE 実行時リブパスが明確でない場合は、これらのフィールドは空白のままにして、デフォルト パスを使うことをサーバに指示します。

JVM の属性の設定
Java 仮想マシン (JVM) の属性は、サーバ マネージャの [Servlets] タブの「Configure JVM」ページで設定することができます。

これらのオプションについては、『The Programmer's Guide to iPlanet Web Server』を参照してください。

バージョン ファイルの削除
サーバでは、次の 2 つのディレクトリを使って、JSP と Servlet の情報がキャッシュされます。

各キャッシュには、サーバでキャッシュ内のディレクトリ構造とファイルを判断するために使われるバージョン番号を含む version ファイルがあります。キャッシュの内容を消去するには、バージョン ファイルを削除します。

サーバの起動時にバージョン ファイルが見つからないと、対応するキャッシュのディレクトリ構造が削除され、バージョン ファイルが再作成されます。次にサーバで JSP ページが処理されるときに、JSP キャッシュ クラスが再作成されます。次にサーバでMMappedSessionManager セッション マネージャを使って JSP ページまたは Servlet が処理されるときに、セッション データ キャッシュが再作成されます。

サーバの将来のアップグレードで使われるキャッシュの形式が異なる場合、サーバによってバージョン ファイル内の番号が確認され、バージョン番号が正しくない場合はキャッシュが消去されます。「Delete Version Files」ページを使って、JSP クラス キャッシュとセッション データ キャッシュのバージョン番号が含まれるファイルを削除することができます。このページには、次のフィールドがあります。

[Delete the SessionData Version File] セッション データのバージョン ファイルを削除します。この変更を適用すると、バージョン ファイルはすぐに削除されます。次回のサーバ起動時に、セッション データ キャッシュが削除され、バージョン ファイルが再作成されます。
次にサーバでMMappedSessionManager セッション マネージャを使って JSP ページまたは Servlet が処理されるときに、セッション データ キャッシュが再作成されます。

[Delete the ClassCache Version File] JSP ページのクラス キャッシュのバージョン ファイルを削除します。この変更を適用すると、バージョン ファイルはすぐに削除されます。次回のサーバ起動時に、JSP クラス キャッシュが削除され、バージョン ファイルが再作成されます。次にサーバで JSP ページが処理されるときに、クラス キャッシュが再作成されます。


CGI プログラムのインストール
この節では、CGI プログラムのインストール方法について説明します。この節の内容は次のとおりです。

また、次の各節では、Windows NT 固有の CGI プログラムのインストール方法について説明します。

CGI の概要
CGI (Common Gateway Interface) のプログラムは、任意のプログラミング言語で定義することができます。Unix/Linux マシンでは、Bourne シェルや Perl スクリプトとして記述された CGI プログラムが一般的です。

ノート
Unix/Linux では、CGI の実行時にサーバが使う CGIStub プロセスが動作しています。これらのプロセスは、CGI への最初のアクセス時にのみ作成されます。その数は、サーバでの CGI の負荷によって異なります。これらの CGIStub プロセスを終了 (kill) しないでください。プロセスは、サーバが停止すると消滅します。

詳細については、CGIStub プロセス (Unix/Linux)MinCGIStubMaxCGIStubCGIStubIdleTimeout に関する説明を参照してください。

Windows NT コンピュータでは、C++ やバッチ ファイルで記述された CGI プログラムがあります。Windows NT では、Visual Basic などの Windows ベースのプログラミング言語で記述された CGI プログラムは、異なるメカニズムを使ってサーバで動作します。これらのプログラムは、Windows NT CGI プログラムといいます。Windows NT CGI については、Windows NT CGI プログラムのインストールを参照してください。

ノート コマンド ライン ユーティリティを実行するには、Path 変数を手作業で設定して、server_root/bin/https/bin を追加する必要があります。

プログラミング言語に関係なく、すべての CGI プログラムは同じ方法でデータの受け渡しを行います。CGI プログラムの作成方法については、次の URL を参照してください。

CGI プログラムは、次の 2 通りの方法でサーバ マシンに保存することができます。

  • CGI プログラムだけが含まれるディレクトリを指定します。ファイル拡張子に関係なく、すべてのファイルがプログラムとして実行されます。
  • すべての CGI プログラムを特定のファイル タイプとして指定します。つまり、すべてのプログラムが、.cgi.exe.bat のいずれかのファイル拡張子を使います。プログラムは、ドキュメント ルート ディレクトリ下の任意のディレクトリに配置することができます。
必要であれば、両方のオプションを同時に有効にすることができます。

いずれの実装にも利点があります。特定のユーザだけが CGI プログラムを追加できるようにするには、CGI プログラムを特定のディレクトリに配置して、このディレクトリへのアクセスを制限します。HTML ファイルを追加できる任意のユーザが CGI プログラムを追加できるようにするには、ファイル タイプの方法を使います。ユーザは、HTML ファイルと同じディレクトリに CGI ファイルを保持することができます。

ディレクトリの方法を選択した場合、サーバでは、そのディレクトリ内のすべてのファイルが CGI プログラムとして解釈されます。同様に、ファイル タイプの方法を選択した場合、サーバでは、ファイル拡張子が .cgi.exe、または .bat のすべてのファイルが CGI プログラムとして処理されます。これらのいずれかの拡張子を持つが CGI プログラムではないファイルをユーザがアクセスしようとするとエラーが発生します。

警告 CGI プログラムを実行するには、ブラウザで cookie を有効にする必要があります。

ノート デフォルトでは、CGI プログラムのファイル拡張子は .cgi.exe、または .bat です。ただし、MIME タイプ ファイルを変更して、CGI プログラムを 示す拡張子を変更することができます。MIME タイプ ファイルを変更するに は、[Server Preferences] タブを選択し、[MIME Types] リンクをクリックします。

CGI ディレクトリの指定
CGI 専用ディレクトリを指定するには、次の手順を実行します。

  1. サーバ マネージャで [Programs] タブを選択します。
  2. [CGI Directory] リンクをクリックします。
  3. [URL Prefix]フィールドに、このディレクトリに使う URL プレフィックスを入力します。つまり、入力したテキストは、CGI プログラムのディレクトリとして URL に表示されます。
    • http://yourserver.domain.com/cgi-bin/program-name

    ノート 指定する URL プレフィックスは、次の手順で指定する実際の CGI ディレ クトリと同じである必要はありません。

  4. [CGI Directory] テキスト フィールドに、ディレクトリの位置を絶対パスとして入力します。このディレクトリは、ドキュメント ルート下にある必要はありません。前の手順で URL プレフィックスを指定する必要があるのはこのためです。
  5. [OK] をクリックします。
  6. 変更を保存して適用します。
既存の CGI ディレクトリを削除するには、[CGI Directory]フォームで、そのディレクトリの [Remove] ボタンをクリックします。既存のディレクトリの URL プレフィックスまたは CGI ディレクトリを変更するには、そのディレクトリの [Edit] ボタンをクリックします。

指定したディレクトリに CGI プログラムをコピーします。これらのディレクトリ内のファイルはすべて CGI ファイルとして処理されるので、CGI ディレクトリには HTML ファイルを配置しないでください。

ソフトウェア仮想サーバごとに独自の CGI ディレクトリを設定
obj.conf ファイルを手作業で編集することによって、ソフトウェア仮想サーバごとに独自の CGI ディレクトリを設定することができます。

Administration Server を使ってこの作業を行うことはできません。

CGI をファイル タイプとして指定
CGI プログラムをファイル タイプとして指定するには、次の手順を実行します。

  1. サーバ マネージャで [Programs] タブを選択します。
  2. [CGI File Type]リンクをクリックします。
  3. リソース ピッカで、変更を適用するリソースを選択します。
  4. [Activate CGI as a File Type] の下にある [Yes]ラジオ ボタンをクリックします。
  5. [OK] をクリックします。
  6. 変更を保存して適用します。
CGI ファイルは、ファイル拡張子が .bat.exe、または .cgi である必要があります。これらの拡張子を持つ CGI 以外のファイルは、サーバで CGI ファイルとして処理され、エラーの原因となります。

実行可能ファイルのダウンロード
CGI ファイル タイプに .exe を使うと、.exe ファイルを実行可能ファイルとしてダウンロードできません。

この問題の解決方法の 1 つに、ユーザがダウンロードできるようにする実行可能ファイルを圧縮し、拡張子を .exe 以外にする方法があります。この場合、ダウンロード時間が短縮するというメリットもあります。

別の解決方法として、magnus-internal/cgi タイプのファイル拡張子から .exe を削除し、application/octet-stream タイプ (通常のダウンロード可能なファイル用の MIME タイプ) に追加することもできます。この処理を行うには、サーバ マネージャで [Server Preferences] タブを選択し、[MIME Types] リンクをクリックします。ただし、この方法には、変更を行うと.exe ファイルを CGI プログラムとして使用できなくなるという欠点があります。

さらに、サーバの obj.conf ファイルを編集してダウンロード ディレクトリを設定し、ディレクトリ内のすべてのファイルが自動的にダウンロードされるようにする方法もあります。サーバの他の部分は影響を受けません。このディレクトリを設定する方法は、次のテクニカル ノートを参照してください。


Windows NT CGI プログラムのインストール
この節では、Windows NT CGI プログラムのインストール方法について説明します。この節の内容は次のとおりです。

Windows NT CGI プログラムの概要
Windows NT CGI プログラムは、他の CGI プログラムと同じように扱います。Windows NT CGI プログラムだけが含まれるディレクトリを指定するか、すべての Windows NT CGI プログラムが同じファイル拡張子を持つように指定します。他の CGI プログラムと同様に、必要であれば、両方の方法を同時に使うことができます。たとえば、すべての Windows NT CGI プログラムのディレクトリを作成し、Windows NT CGI ファイル拡張子を指定することができます。

Windows NT CGI プログラムの動作は、通常の CGI プログラムと似ていますが、サーバでの実際のプログラムの処理方法がわずかに異なります。したがって、Windows NT CGI プログラムには異なるディレクトリを指定する必要があります。Windows NT の CGI ファイル タイプを有効にすると、ファイル拡張子.wcg が使われます。

iPlanet Web Servers では、次の点を除き、Windows NT CGI 1.3a 略式仕様がサポートされています。

Windows NT CGI ディレクトリの指定
Windows NT CGI 専用ディレクトリを指定するには、次の手順を実行します。

  1. サーバ マネージャで [Programs] タブを選択します。
  2. [Win CGI Directory] リンクをクリックします。Configure JRE/JDK Paths
  3. [URL Prefix] テキスト フィールドに、このディレクトリに使う URL プレフィックスを入力します。
  4. ノート 指定する URL プレフィックスは、手順 5で指定する実際の Windows NT CGI ディレクトリと同じである必要はありません。

  5. スクリプト トレーシングを有効にするかどうかを選択します。
  6. [WinCGI Directory] フィールドに、ディレクトリの位置を絶対パスとして入力します。
  7. [OK] をクリックします。
  8. 変更を保存して適用します。
既存の Windows NT CGI ディレクトリを削除するには、Windows NT CGI ディレクトリのフォームで、そのディレクトリの [Remove] ボタンをクリックします。既存のディレクトリの URL プレフィックスまたは Windows NT CGI ディレクトリを変更するには、そのディレクトリの [Edit] ボタンをクリックします。

指定したディレクトリに Windows NT CGI プログラムをコピーします。これらのディレクトリ内のファイルはすべて Windows NT CGI ファイルとして処理されます。

Windows NT CGI をファイル タイプとして指定する
Windows NT CGI ファイルのファイル拡張子を指定するには、次の手順を実行します。

  1. サーバ マネージャで [Server Preferences] タブを選択します。
  2. [MIME Types] リンクをクリックします。
  3. 次の設定の新しい MIME タイプを追加します。
  4. [New Type] ボタンをクリックします。
  5. 変更を保存して適用します。

Windows NT のシェル CGI プログラムのインストール
この節では、Windows NT のシェル CGI プログラムのインストール方法について説明します。この節の内容は次のとおりです。

Windows NT のシェル CGI プログラムの概要
シェル CGI は、Windows NT で設定されたファイルの関連付けを使って CGI アプリケーションを実行できるサーバ設定です。


たとえば、サーバに対して hello.pl というシェル CGI ファイルが要求され ると、サーバでは Windows NT のファイルの関連付けが使われ、.pl 拡張子 に関連付けられたプログラムを使ってファイルが実行されます。.pl 拡張子 がプログラム C:\bin\perl.exe に関連付けられている場合、サーバでは、 次のように hello.pl ファイルが実行されます。

シェル CGI を設定する最も簡単な方法は、サーバのドキュメント ルート内にシェル CGI ファイルだけを含むディレクトリを作成する方法です。ただし、iPlanet Web Server の MIME タイプを編集して、特定のファイル拡張子がシェル CGI に関連付けられるようにサーバを設定することもできます。

ノート Windows NT のファイル拡張子の設定については、Windows NT のマニュアルを参照してください。

シェル CGI ディレクトリの指定 (Windows NT)
シェル CGI ファイル用のディレクトリを作成するには、次の手順を実行します。

  1. コンピュータにシェル ディレクトリを作成します。このディレクトリは、ドキュメント ルート ディレクトリのサブディレクトリである必要はありません。
  2. サーバ マネージャで [Programs] タブを選択します。
  3. [Shell CGI Directory] リンクをクリックします。
  4. [URL Prefix] フィールドに、シェル CGI ディレクトリに関連付ける URL プレフィックスを入力します。
  5. [Shell CGI Directory] フィールドに、作成したディレクトリの絶対パスを入力します。
  6. シェル CGI ディレクトリ内のすべてのファイルに対して、Windows NT でもファイルの関連付けが設定されていることを確認します。ファイル拡張子の関連付けがないファイルを実行しようとすると、サーバはエラーを返します。
シェル CGI をファイル タイプとして指定する (Windows NT)
iPlanet Web Server の [MIME Types] ウィンドウを使って、ファイル拡張子をシェル CGI 機能に関連付けることができます。この操作は、Windows NT での関連付けの作成とは異なります。

サーバのシェル CGI 機能にファイル拡張子を関連付けるには、たとえば、.pl 拡張子を持つファイルの関連付けを作成することができます。サーバに対して、この拡張子のファイルが要求されると、Windows NT でこのファイル拡張子に関連付けられた実行可能ファイルが起動され、このファイルがシェル CGI ファイルとして処理されます。

ファイル拡張子をシェル CGI ファイルとして関連付けるには、次の手順を実行します。

  1. コンピュータにシェル ディレクトリを作成します。このディレクトリは、ドキュメント ルート ディレクトリのサブディレクトリである必要はありません。
  2. サーバ マネージャで [Server Preferences] タブを選択します。
  3. [MIME Types] リンクをクリックします。
  4. 次の設定の新しい MIME タイプを追加します。
  5. [New Type] ボタンをクリックします。
  6. 変更を保存して適用します。

クエリ ハンドラの使用

ノート クエリ ハンドラの使用は旧式の方法です。iPlanet Web Server および Netscape Navigator クライアントではまだサポートされていますが、ほとんど使われて いません。現在は、HTML ページ内のフォームを使ってクエリを送信する方 法が一般的です。

デフォルトのクエリ ハンドラの CGI プログラムを指定することができます。クエリ ハンドラでは、HTML ファイルの ISINDEX タグを介して受信したテキストが処理されます。

ISINDEX は、入力が可能なテキスト フィールドを HTML ページ内に作成するという点で、フォームのテキスト フィールドに似ています。ただし、フォームのテキスト フィールドとは異なり、ISINDEX ボックス内の情報は、ユーザが Enter キーを押すと同時に送信されます。デフォルトのクエリ ハンドラを指定するときは、入力の送信先のプログラムをサーバに指定します。ISINDEX タグの詳細については、HTML のリファレンス マニュアルを参照してください。

クエリ ハンドラを設定するには、次の手順を実行します。

  1. サーバ マネージャで [Programs] タブを選択します。
  2. [Query Handler] リンクをクリックします。
  3. リソース ピッカを使って、デフォルトのクエリ ハンドラを設定するリソースを選択します。
  4. [Default Query Handler] フィールドに、選択するリソースのデフォルトとして使う CGI プログラムのフルパスを入力します。
  5. [OK] をクリックします。
  6. 変更を保存して適用します。

サーバサイド JavaScript プログラム
iPlanet Web Server でサーバサイド JavaScript プログラムを実行するには、サーバサイド JavaScript を有効にする必要があります。有効にするには、サーバ マネージャの [Programs] タブの「Activate Server-Side Javascript」ページを使います。

サーバで、サーバサイド JavaScript プログラムをインストールおよび管理するには、JavaScript アプリケーション マネージャを使います。

この節の内容は次のとおりです。

JavaScript アプリケーション作成の詳細については、「Writing Server-Side JavaScript Applications」を参照してください。

サーバサイド JavaScript の有効化
iPlanet Web Server でサーバサイド JavaScript を有効にするには、次の手順を実行します。

  1. サーバ マネージャで [Programs] タブを選択します。
  2. [Server Side JavaScript] リンクをクリックします。
  3. [Activate the Server Side Javascript application environment] の下にある [Yes] ラジオ ボタンをクリックします。
  4. アプリケーション マネージャの利用を許可する前に管理サーバのユーザ名とパスワードを要求する場合は、2 番目の [Yes] ラジオ ボタンを選択します。
  5. [OK] をクリックします。
  6. 変更を保存して適用します。
アプリケーション マネージャの実行
サーバサイド JavaScript で記述されたアプリケーションは、サーバサイド JavaScript のアプリケーション マネージャを使って多くの管理作業を実行することができます。アプリケーション マネージャでは次の作業が可能です。

  • 新しい JavaScript アプリケーションのインストール。ユーザが実行できるようにするには、アプリケーションを追加する必要があります。
  • インストール済みアプリケーションの属性の変更。デフォルトのホーム ページ、 .web ファイルのパス、クライアント オブジェクト管理のタイプなど。
  • インストール済みアプリケーションの停止、起動、再起動。
  • アクティブなアプリケーションの実行とデバッグ。
  • インストール済みアプリケーションの削除。
アプリケーション マネージャを実行するには、次の手順を実行します。

  1. サーバ マネージャで [Programs] タブを選択します。
  2. [Server Side JavaScript] リンクをクリックします。
  3. アプリケーション マネージャのリンクをクリックします。
  4. [OK] をクリックします。

  5. スクローリング リストで名前をクリックして、アプリケーションを選択します。
  6. 左側のフレームの該当するタスク ボタンをクリックして、選択したアプリケーションに対してアクションを実行します。
  7. 新しい JavaScript アプリケーションを追加するには、一番上の [Add Application] タブをクリックします。
  8. 新しいアプリケーションを追加するときに使うデフォルト設定を指定するには、一番上の [Preferences] タブをクリックします。
アプリケーション マネージャのセキュリティ
アプリケーション マネージャは、iPlanet Web Server 上で動作します。アプリケーション マネージャは、js/appmgr ディレクトリにインストールされ、次の URL を使ってアクセスすることができます。

    http://server.domain:port/appmgr

したがって、アプリケーション マネージャの URL とアプリケーションの URI へのアクセスを制限し、自分と他の信頼できる管理者だけがアクセスできるようにすることをお勧めします。アプリケーション マネージャへのアクセスを制限しないと、誰でもサーバ上のアプリケーションを追加、削除、変更、起動、および停止することができます。


アプリケーション マネージャへのアクセスに、管理サーバのユーザ名とパスワードを要求する場合は、次の手順を実行します。

  1. サーバ マネージャで [Programs] タブを選択します。
  2. [Server Side JavaScript] リンクをクリックします。
  3. [Require administration server password for Server Side Javascript Application Manager] の下にある[Yes] ラジオ ボタンをクリックします。
  4. [OK] をクリックします。
  5. 変更を保存して適用します。
SSL (Secure Sockets Layer) を使っていないサーバの場合、アプリケーション マネージャのユーザ名とパスワードは、暗号化されずにネットワーク上を送信されます。このデータを傍受した部外者によってアプリケーション マネージャにアクセスされる可能性があります。管理サーバに同じパスワードを使っていれば、この部外者によるサーバの制御も可能です。SSL を使っていない場合は、セキュリティ上の理由より、アプリケーション マネージャをファイヤウォールの外部から使わないでください。

サーバサイド JavaScript アプリケーションのインストール
1 つのサーバには、最高 120 個の JavaScript アプリケーションをインストール することができます。

アプリケーションを実行するには、その前に、アプリケーション マネージャを使ってインストール (追加) する必要があります。

新しいアプリケーションをインストールするには、次の手順を実行します。

  1. サーバ マネージャで [Programs] タブを選択します。
  2. [Server Side JavaScript] リンクをクリックします。
  3. アプリケーション マネージャのリンクをクリックします。
  4. ページの一番上の [Add Application] タブをクリックします。
  5. [Name] フィールドに JavaScript アプリケーションの名前を入力します。
  6. [Web File Path] フィールドに、アプリケーションの .web ファイルの絶対パスを入力します。
  7. [Default Page] フィールドで、アプリケーションの特定のページを指定しないクライアントに送信するファイルを指定します。
  8. [Initial Page] フィールドで、アプリケーションが最初に起動されたときに実行するページを指定します。
  9. [External Libraries] フィールドで、アプリケーションで使うライブラリ (ある場合) の絶対パスを指定します。
  10. [Client Object Maintenance] フィールドで、クライアント オブジェクトの管理モードを指定します。クライアント オブジェクトの詳細については、次の URL の「Writing Server-Side JavaScript Applications」を参照してください。
  11. 必要な情報をすべて入力したら、アプリケーションをインストールするには [OK]、すべてのフィールドをクリアするには [Reset]、操作を中止するには [Cancel] をクリックします。

ノート JavaScript アプリケーション名は、プライマリ ドキュメント ディレクトリのサ ブディレクトリと同じ名前にしないでください。同じ名前にすると、サーバ では、ディレクトリ内のリソースへのリクエストが正しく処理されません。た とえば、server_root/docs/bug というディレクトリと、bug という JavaScript アプリケーションがあった場合、bug ディレクトリ (またはそのサブ ディレクトリ) 内の任意のファイルへのリクエストはすべて JavaScript アプリ ケーション bug を起動しようとします。JavaScript アプリケーションの URI が 優先されます。

アプリケーション URL
サーバサイド JavaScript アプリケーションをインストールするときは、名前を入力する必要があります。この名前によって、クライアントが JavaScript アプリケーションのアクセスに使うアプリケーション URL が決まります。アプリケーション URL の形式は次のとおりです。

ここで、server は HTTP サーバの名前、domain はインターネット ドメイン (サブドメインを含む)、port は HTTP サーバのポート番号、appName はインストール時に入力したアプリケーション名、page はデフォルト ページ名などの、アプリケーション内のページの名前です。

次の URL を使ってアプリケーションにアクセスすることもできます。

この場合、デフォルト ページが開きます。

たとえば、サーバ名が myserver、ドメイン名が mozilla.com、アプリケーション名が world、デフォルト ページが hello.html の場合は、次のいずれかの URL を使ってアプリケーションにアクセスすることができます。

または

クライアントからアプリケーション URL が要求されると、サーバではデフォルト ページ内のサーバサイド JavaScript コードが実行され、結果の HTML ページがクライアントに送信されます。

重要
アプリケーションをインストールする前に、選択するアプリケーション名が サーバ上の既存の URL と重複しないことを確認してください。アプリケー ション URL と同じ URL へのクライアントによるリクエストはすべて、サー バの通常のドキュメント ルートを回避して、.web ファイルに指定された ディレクトリに送信されます。

上記の例では、http://myserver.mozilla.com/world で始まる URL へのリクエストは、サーバの通常のドキュメント ルートではなく、js/samples/world ディレクトリ内でドキュメントを検索します。

サーバサイド JavaScript アプリケーションのアクセス制御
アプリケーションのインストール時に、その使用を特定のユーザに制限することができます。制限するには、アプリケーションにコンフィグレーション スタイルを適用します。詳細については、コンフィグレーション スタイルの操作を参照してください。サーバの一部へのアクセスを制御する方法の詳細については、 サーバへのアクセスの制限を参照してください。

インストール パラメータの変更
アプリケーションのインストール パラメータを変更するには、 アプリケーション マネージャの実行の説明に従ってアプリケーション マネージャを開きます。アプリケーション マネージャの左側のフレームでアプリケーション名を選択し、Modifyをクリックします。

アプリケーション名を除き、アプリケーションのインストール時に定義した任意のパラメータを変更することができます。アプリケーション名を変更するには、アプリケーションを削除して再インストールする必要があります。

停止しているアプリケーションのパラメータを変更すると、そのアプリケーションはアプリケーション マネージャによって自動的に起動されます。アクティブなアプリケーションのパラメータを変更すると、そのアプリケーションはアプリケーション マネージャによって自動的に停止されて再起動されます。

サーバサイド JavaScript アプリケーションの削除
特定のアプリケーションを削除するには、アプリケーション マネージャの実行の説明に従ってアプリケーション マネージャを開き、Removeをクリックします。この操作では、アプリケーション マネージャからアプリケーションが削除されますが、サーバからファイルは削除されません。この時点で、クライアントはアプリケーションにアクセスできなくなります。

アプリケーションを削除した後で実行する場合は、再インストールする必要があります。

サーバサイド JavaScript アプリケーションの起動、停止、再起動
停止しているインストール済みのアプリケーションを起動するには、アプリケーション マネージャの実行の説明に従ってアプリケーション マネージャを開き、Startをクリックします。アプリケーションが正常に起動したら、クライアントからアプリケーションを起動することができます。

アクティブなアプリケーションを停止するには [Stop] をクリックします。アプリケーションの状態が "停止" に変わり、クライアントからアプリケーションを起動できなくなります。.web ファイルを移動するか、アプリケーションを開発サーバから導入サーバに更新する場合は、アプリケーションを停止する必要があります。

実行中のアプリケーションを再起動するには、[Restart] をクリックします。アプリケーションのコンパイル後に変更内容を反映させるには、再起動する必要があります。

次の形式の特別な URL を入力して、アプリケーションを起動、停止、再起動することもできます。

ここで appName はアプリケーション名で、actionstop (停止)、start (起動)、 restart (再起動) のいずれかです。

サーバサイド JavaScript アプリケーションの実行
インストール済みアプリケーションは、次の 2 通りの方法で実行することができます。

  • アプリケーション マネージャの実行の説明に従ってアプリケーション マネージャを開き、アプリケーション マネージャでアプリケーション名を選択し、Runをクリックします。新しい Navigator ウィンドウからアプリケーションがアクセスされます。
  • Navigator でアプリケーション URL を入力します。
停止した (アクティブではない) アプリケーションを実行しようとすると、まずアプリケーション マネージャによってそのアプリケーションが起動されます。

デフォルト設定の指定
新しいアプリケーションのデフォルト設定を指定するには、アプリケーション マネージャの実行の説明に従ってアプリケーション マネージャを開き、Preferencesタブをクリックします。新しいアプリケーションをインストールすると、デフォルトのインストール パラメータが初期設定として使われます。

次のデフォルト設定を指定することができます。

  • インストール パラメータ: .web ファイルのパス、デフォルト ページ、初期ページ、組み込みデータベース コネクションの最大数、外部ライブラリ、クライアント オブジェクト管理方法。開発領域とネイティブな実行可能ファイルのライブラリのデフォルトのディレクトリ パスを指定することができます。
  • アプリケーションを削除、起動、停止、または再起動するときに処理を確認するメッセージを表示するかどうか。
  • アプリケーションをデバッグするときに、アプリケーションのトレースを、アプリケーションと同じウィンドウの別のフレームに表示するか、またはアプリケーションとは別個のウィンドウに表示するか。

WAI サービスの有効化

ノート Web アプリケーション インターフェイス (WAI) は、iPlanet Web Server 4.x で提供 されていますが、将来のリリースでのサポートは保証されていません。WAI アプリケーションを新規に開発しないことをお勧めします。

WAI サービスは、CORBA (Common Object Request Broker Architecture) を使うプラグインの一種です。WAI アプリケーションは、C、C++、または Java で記述でき、IIOP (Internet Inter-ORB Protocol) を使って iPlanet Web Server と対話します。WAI アプリケーションは専用のプロセス内で実行されます。WAI アプリケーションが機能するには、オブジェクト リクエスト ブローカ (ORB) が必要です。

iPlanet Web Server 4.x には、オブジェクト リクエスト ブローカ (ORB) は付属していません。WAI アプリケーションを使う前に、Inprise の Visibroker 3.3+ をインストールする必要があります。Visibroker 3.3+ は、次の Inprise の Web サイトから入手することができます。

Visibroker 3.3+ をインストールしたら、次に iPlanet Web Server に WAI をインストールする必要があります。インストールするには、インストール手順を実行し、WAI のみのインストールを選択します。

WAI をインストールしたら、次の手順は、サーバで有効にすることです。WAI サービスを有効にするとは、基本的にサーバの IIOP (Internet Inter-ORB Protocol) のサポートをオンにすることを意味します。

サーバで WAI サービスを有効にするには、次の手順を実行します。

  1. サーバ マネージャで [Programs] タブを選択します。
  2. [WAI Handler] リンクをクリックします。
  3. WAI サービスを有効にするには、[Yes] ラジオ ボタンをクリックします。
  4. 変更を保存して適用します。
WAI の詳細については、次の URL の「Writing Web Applications with WAI」を参照してください。

 

(C) Copyright (C) 2000 Sun Microsystems, Inc. Some preexisting portions Copyright (C) 2000 Netscape Communications Corp. All rights reserved.