前へ 目次 索引 DocHome 次へ |
iPlanet Web Server, Enterprise Edition 管理者ガイド |
第 15 章 プログラムによるサーバの拡張
この章では、クライアントからの要求に応じて HTML ページを動的に生成するプログラムを iPlanet Web Server にインストールする方法について説明します。このようなプログラムはサーバサイドアプリケーションと呼ばれます。(クライアントにダウンロードされるクライアントサイドアプリケーションは、クライアントマシン上で動作します。)
サーバサイドプログラムの概要
Java サーブレットと CGI プログラムは、それぞれ長所や用途が異なります。次のリストでは、このようなサーバサイドプログラムの相違点について説明します。
Java サーブレットは Java で記述します。Java はネットワークアプリケーションを作成するための機能の豊富なプログラム言語です。
Common Gateway Interface (CGI) プログラムは、C、Perl またはその他のプログラミング言語で記述できます。CGI プログラムはすべて、標準的な方法でクライアントとサーバの間で情報をやりとりします。
サーバで実行するサーバサイドアプリケーションのタイプ
iPlanet Web Server では、サーバサイドアプリケーションの次のタイプを実行して、コンテンツを動的に生成することができます。また、iPlanet Web Server では、サーバ自体の動作を拡張したり修正したりするプログラムも実行できます。プラグインと呼ばれるこれらのプログラムは、Netscape Server Application Programming Interface (NSAPI) を使用して記述します。プラグインプログラムの作成とインストールについての詳細は、『NSPI プログラマーズガイド』を参照してください。
サーバへのサーバサイドアプリケーションのインストール方法
プログラムのタイプによって、サーバへのインストール方法が異なります。それぞれのインストールの手順は次のとおりです。
Java サーブレットの場合は、Web アプリケーションを作成して導入できます。詳細は、「サーバでサーブレットや JSP を実行するための要件」を参照してください。
次の節では、これらのインストール方法を説明します。CGI プログラムの場合は、特定のファイル名拡張子が付いているすべてのファイル、または、指定されたディレクトリにあるすべてのファイル、あるいは、その両方を CGI プログラムとして認識するようにサーバを設定することができます。詳細については、「CGI プログラムのインストール」、 「Windows NT CGI プログラムのインストール」、および「Windows NT でのシェル CGI プログラムのインストール」を参照してください。
Java サーブレットと JavaServer Pages (JSP)
この節では、 iPlanet Web Server での Java サーブレットおよび JavaServer Pages のインストール方法と使用方法を説明します。
サーブレットと JavaServer Pages の概要
ユーザインタフェースでの Web アプリケーションの導入と編集
サーブレットと JavaServer Pages の概要
iPlanet Web Server 6.0 はサーブレット 2.2 API 仕様をサポートします。これによって、Web アプリケーションにサーブレットや JSP を組み込むことができます。Web アプリケーションは、サーブレット、JavaServer Pages、HTML ドキュメント、その他の Web リソースの集合です。Web リソースには画像ファイル、圧縮済みアーカイブ、その他のデータが含まれる場合があります。Web アプリケーションは、アーカイブ (WAR ファイル)にパッケージ化される場合と、オープンディレクトリ構造に置かれる場合があります。
注 サーブレット API のバージョン 2.2 にはバージョン 2.1 との完全な下位互換性があるため、既存のすべてのサーブレットを修正や再コンパイルすることなく引き続き使用できます。
サーブレットを開発するには、Sun Microsystems の Java サーブレット API を使用します。Java サーブレット API の使用についての詳細は、Sun Microsystems が提供しているマニュアルを次の Web サイトで参照してください。
http://java.sun.com/products/servlet/index.html
JSP は HTML ページとよく似たページで、Web ブラウザで表示できます。ただし、HTML タグに加えて、Java コードと組み合わせた JSP タグと指令のセットを指定することができます。これによって、Web ページに動的なコンテンツを取り入れるための機能が拡張されます。この追加機能で、プロパティ値を表示したり、単純な条件を使用したりすることができます。iPlanet Web Server 6.0 は JavaServer Pages (JSP) 1.1 API 仕様をサポートします。
JSP の作成についての詳細は、次に示す Sun Microsystems の JavaServer Pages の Web サイトを参照してください。
http://java.sun.com/products/jsp/index.html
iPlanet Web Server と一緒に使用するサーブレットや JSPの開発についての詳細は、『サーブレットに関するプログラマーズガイド』を参照してください。
サーバでサーブレットや JSP を実行するための要件
サーブレットを有効にするには、Server Manager で「Java」タブを選択し、「Enable/Disable Servlets/JSP」リンクを選択します。「Enable Java Globally」チェックボックスにチェックマークを付け、サーバ全体に対してサーブレットを有効にします。「Enable Java for Class」チェックボックスにチェックマークを付け、単一の仮想サーバクラスに対してサーブレットを有効にします。Java がグローバルに有効になっていない場合は、クラスに対してサーブレットを有効にすることができません。デフォルトでは、Java はグローバルに有効で、各仮想サーバのクラスに対しても有効です。JSP を有効にするには、まず、サーブレットを有効にします。また、web-apps.xml ファイルに enable="true" とともに jsp-servlet 要素を記述し、JVM クラスパスに tools.jar を追加する必要があります。詳細については、『サーブレットに関するプログラマーズガイド』を参照してください。
iPlanet Web Server に Java Runtime Environment (JRE) は組み込まれていますが、Java Development Kit (JDK) は組み込まれていません。サーバはサーブレットと、JRE を使用してコンパイル済みの JSP を実行できますが、コンパイルされていない JSP を実行するには JDK が必要です。JSP を開発したい場合は、iPlanet Web Server でカスタム JDK を使用する必要があります。
iPlanet Web Server 6.0 では、JDK の正式バージョンを使用する必要があります。『サーブレットに関するプログラマーズガイド』で説明されているように、プラットフォームによって異なるバージョンが必要です。
必要な JDK バージョンの更新情報については、iPlanet Web Server の『インストールと移行』および最新のリリースノートで確認してください。
JDK 1.2 (およびその他の JDK バージョン) は、Sun Microsystems の次のサイトから入手できます。
http://java.sun.com/products/jdk/1.2/
サーバのインストール時にパスを指定する
JDK へのパスをインストール時に指定する場合も、インストール後に指定する場合も、パスは、JDK をインストールしたフォルダです。
サーバをインストールしたあとでパスを指定する
- iPlanet Web Server をインストールするとき、インストールプロセスのダイアログボックスの 1 つで、カスタム Java Development Kit (JDK) を使用するかどうかを尋ねられます。使用する場合は、パスを指定できます。
- JDK へのパスを指定するには、Web Server Administration Server に切り替え、「Global Settings」タブを選択し、「JRE/JDK パスの構成」で説明されているように「Configure JRE/JDK Paths」ページを使用します。また、このページで JDK へのパスを変更することもできます。
Web アプリケーションの使用
次の節では、wdeploy コマンド行ユーティリティまたはユーザインタフェースを使用して、Web アプリケーションを導入、編集、および削除する方法について説明します。
web-apps.xml ファイルの使用
Web アプリケーションを導入するには、その前に iPlanet Web Server に固有の web-apps.xml ファイルを修正する必要があります。各仮想サーバには、固有の web-apps.xml ファイルがあります。このファイルは、仮想サーバで実行する Web アプリケーションのコンテキストを定義します。コンテキスト情報には、Web アプリケーションのコンテキストパス、セッション管理や認証の処理方法などのその他のプロパティが含まれます。Web アプリケーションは導入されると、デフォルトで有効になります。導入された Web アプリケーションを手動で無効にするには、web-app.xml ファイルを次のように修正する必要があります。
複数の Web アプリケーションに同じ説明を付けて導入したり編集したりした場合、そのいずれかのアプリケーションが無効になっていると、サーバは enable = "false" を無視し、デフォルト設定の enable = "true" を使用します。
- <vs>
<web-app uri="/mywebapp" dir="/webappdir" enable = "false" >
</web-app>
web-apps.xml ファイルについての詳細は、『サーブレットに関するプログラマーズガイド』を参照してください。
wdeploy を使用した Web アプリケーションの導入
Web アプリケーションを手動で導入するには、パスに server_root/bin/https/httpadmin/bin ディレクトリが含まれていることと、IWS_SERVER_HOME 環境変数が server_root ディレクトリに設定されていることを確認する必要があります。コマンド行で wdeploy ユーティリティを使用して、WAR ファイルを仮想サーバの Web アプリケーション環境に導入することができます。
wdeploy deploy -u uri_path -i instance -v vs_id [-d directory] war_file -n
仮想サーバの Web アプリケーションを削除することができます。
wdeploy delete -u uri_path -i instance -v vs_id hard|soft -n
仮想サーバの Web アプリケーション URI とディレクトリのリストを表示できます。
wdeploy list -i instance -v vs_id
コマンドパラメータには、次の意味があります。
(省略可能) アプリケーションが導入されるディレクトリ、またはアプリケーションが削除されるディレクトリ。導入されるディレクトリが指定されていない場合、アプリケーションはドキュメントルートディレクトリに導入される
ディレクトリと web-apps.xml エントリが削除されるか (hard)、web-apps.xml エントリだけが削除されるか (soft) を指定する
Web アプリケーションを導入する場合に directory を指定しないと、アプリケーションはドキュメントルートディレクトリに導入されます。そのあと、hard パラメータを使用してアプリケーションを削除する場合は、ドキュメントルートディレクトリが削除されます。
wdeploy deploy コマンドを実行すると、次の 3 つの内容が実行されます。
指定した uri_path と directory とともに Web アプリケーションが、web-apps.xml ファイルに追加される
次に例を示します。wdeploy deploy -u /hello -iserver.iplanet.com -v acme.com -d/iws60/https-server.iplanet.com/acme.com/web-apps/hello /iws60/plugins/servlets/examples/web-apps/HelloWorld/HelloWorld.war
このユーティリティの結果は、次の web-apps.xml エントリとなります。
<vs>
<web-app uri="/hello"
dir="/iws60/https-server.iplanet.com/acme.com/web-apps/hello"/>
</vs>/iws60/https-server.iplanet.com/acme.com/web-apps/hello ディレクトリには、次のコンテンツがあります。
colors
index.jsp
META-INF
WEB-INF/
web.xml
/classes/
HelloWorldServlet.class
HelloWorldServlet.java
SnoopServlet.class
SnoopServlet.java
wdeploy コマンドでの -n の使用
iPlanet Web Server 6.0 SP1 では、Web アプリケーションの導入や削除を行ったあと、その Web アプリケーションの読み込みや読み込み解除を行うように wdeploy でサーバを動的に再構成します。変更も反映するには、次のいずれかを事前に実行して、サーバを明示的に再構成しておく必要があります。wdeploy コマンドの実行に成功すると自動的に、新しい Web アプリケーションへの要求に対するサービス提供が有効になるか、削除された Web アプリケーションへの要求に対するサービス提供が停止されます。
-n オプションを指定すると、wdeploy によって再構成コマンドが Web サーバに自動的に送信されることを防止できます。スクリプトなどで、複数の Web アプリケーションの導入または導入解除を行う場合で、最後の Web アプリケーションの導入後に一度だけサーバを再起動したいときに、コマンドに -n オプションを指定します。
導入された Web アプリケーションへのアクセス
アプリケーションを導入したあと、次のようにブラウザからそのアプリケーションにアクセスできるようになります。http://vs_urlhost[:vs_port]/uri_path/[index_page]
http://acme.com:80/hello/index.jsp
ユーザインタフェースでの Web アプリケーションの導入と編集
iPlanet Web Server 6.0 SP1 では、指定された仮想サーバに対して Web アプリケーションの導入、編集、削除、無効化、および有効化を実行できます。
Web アプリケーションの導入
最初に、Virtual Server Manager の「Web Applications」タブの下の「Java Web Applications Settings」リンクを選択し (手順の 1)、次に、「Deploy Web Application」リンクを選択して「Deploy Web Application」ページにアクセスします (手順の 2 以降)。Web アプリケーションを導入するには、次の手順に従います。
「Web Applications File」フィールドに、Web アプリケーションファイルへのパスを入力します。デフォルトの仮想サーバでは、web-apps.xml が設定されています。パスは、そのインスタンスの構成ディレクトリ内の絶対パスまたはファイル名にすることができます。入力したファイル名が存在しない場合は、新規に作成されます。
「WAR File On」ドロップダウンリストから「Local Machine」または「Server Machine」を選択します。
「WAR File Path」フィールドに、Web アプリケーションを格納している WAR ファイルへの、ローカルマシンまたはサーバマシン上のパスを入力します。
- WAR ファイルを自分のサーバにアップロードする場合は、「Local Machine」を選択します。WAR ファイルがすでにサーバのマシンに存在する場合は、「Server Machine」を選択します。
Application URI フィールドに、仮想サーバ上における、Web アプリケーションの URI を入力します。
- サーバマシンの場合は、WAR ファイルへの絶対パスを入力します。
- ローカルマシンの場合は、使用可能なパスを参照できます。「参照 (browse)」をクリックすると、「ファイルアップロード」ウィンドウが表示されて、サーバにアップロードする WAR ファイルを選択することができるようになります。
WAR ファイルのコンテンツの抽出先である、サーバマシン上のディレクトリへの絶対パスを入力します。入力したディレクトリが存在しない場合は、新規に作成されます。
Web アプリケーションの編集
すでに導入されている Web アプリケーションの編集、削除、無効化、または有効化を実行できます。Virtual Server Manager の「Web Applications」タブの下の「Edit Web Applications」を選択し、「Edit Web Applications」ページにアクセスします。すでに導入されている Web アプリケーションの編集、削除、無効化、または有効化を実行するには、次の手順に従います。
編集する Web アプリケーションの横の「Action」列で、ドロップダウンリストから実行するアクションを選択します。
(省略可能) Web アプリケーションを編集する場合は、「URI」フィールドに新しい URI を入力します。
Web アプリケーションになっていないサーブレットと JSP の導入
Web アプリケーションになっていない 4.x のサーブレットや JSP を導入できますが、デフォルトの仮想サーバ内だけに導入できます。詳細は、『サーブレットに関するプログラマーズガイド』を参照してください。
JVM 属性の構成
Server Manager の「Java」タブの「Configure JVM Attributes」ページで、Java 仮想マシン (Java Virtual Machine、JVM) の属性を構成できます。これらのオプションについての詳細は、『サーブレットに関するプログラマーズガイド』を参照してください。
バージョンファイルの削除
Server Manager の「Java」タブの「Delete Version Files」ページでは、JavaServer Pages クラスキャッシュとセッションデータキャッシュのバージョン番号が保存されているファイルを削除できます。このページには、次のフィールドがあります。サーバが MMapSessionManager セッションマネージャを使用する場合に持続セッション情報が保存される SessionData ディレクトリを削除します。
JavaServer Pages (JSP) のキャッシュ情報が保存される ClassCache ディレクトリを削除します。次に、このディレクトリのデフォルトの場所を示します。
server_root/https-server_id/ClassCache/virtual_server_id/webapp_uri /
サーバは「JSP」ページを処理するときに、JSP に関連付けられた .java ファイルと .class ファイルを作成し、ClassCache ディレクトリの下の JSP クラスキャッシュに保存します。
サーバは JavaServer Pages (JSP) とサーブレットの情報をキャッシュに書き込むために、2 つのディレクトリを使用します。
ClassCache
各キャッシュには version ファイルがあります。このファイルには、キャッシュ内のファイルやディレクトリの構造を決めるためにサーバが使用するバージョン番号が保存されています。バージョンファイルを削除するだけで、キャッシュの中身を消去できます。
SessionData
- サーバは JavaServer Pages (JSP) とサーブレットの情報をキャッシュに書き込むために、次のディレクトリを使用します。
- server_root/https-server_id/ClassCache/virtual_server_id/webapp_uri/
- サーバは「JSP」ページを処理するときに、JSP に関連付けられた .java ファイルと .class ファイルを作成し、ClassCache ディレクトリの下の JSP クラスキャッシュに保存します。
- MMapSessionManager セッションマネージャを使用する場合にサーバは、SessionData ディレクトリに持続セッション情報を保存します。
起動時にバージョンファイルが見つからない場合にサーバは、対応するキャッシュのディレクトリ構造を削除して、バージョンファイルを作成し直します。次に「JSP」ページを処理するときにサーバは、JSP クラスキャッシュを作成し直します。また、次に MMapSessionManager セッションマネージャを使用して JSP またはサーブレットを処理するときにサーバは、セッションデータのキャッシュを作成し直します。
サーバの将来のアップグレードでキャッシュの異なる形式を使用する場合、サーバはバージョンファイル内の番号を確認して、バージョン番号が正しくない場合はキャッシュを消去します。
CGI プログラムのインストール
この節では、CGI プログラムのインストール方法について説明します。説明する内容を次に示します。さらに、次の節では Windows NT に固有の CGI プログラムのインストール方法を説明します。
Windows NT CGI プログラムのインストール
CGI の概要
Common Gateway Interface (CGI) プログラムは、多くのプログラミング言語で定義できます。UNIX/Linux マシンでは、Bourne シェル や Perl スクリプトで記述された CGI プログラムが一般的です。
注 UNIX/Linux の場合は、CGI の実行を補助するためにサーバで使用する CGIStub プロセスが追加されます。このようなプロセスは、CGI に最初にアクセスしたときにだけ作成されます。その番号は、CGI によるサーバへの負荷によって異なります。CGIStub プロセスを終了しないでください。サーバを停止すると、これらのプロセスは消滅します。
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 プログラム作成についての詳細は、次の情報リソースを参照してください。
iPlanet Web Server の『プログラマーズガイド』
サーバマシンに CGI プログラムを格納するには、次の 2 つの方法があります。次のサイトの The Common Gateway Interface
オンラインドキュメントの Web サイトで利用できる CGI の項。URL は次のとおり
- http://hoohoo.ncsa.uiuc.edu/cgi/overview.html
- http://www.iplanet.com/docs
CGI プログラムだけを格納するディレクトリを指定します。ファイル拡張子に関係なく、すべてのファイルがプログラムとして実行されます。
必要があれば、同時に両方のオプションを有効にすることができます。すべての CGI プログラムを特定のファイルタイプとして指定します。つまり、すべてのファイルで .cgi、.exe、または .bat などの拡張子を使用します。プログラムは任意のディレクトリ内、またはドキュメントルートディレクトリの下に配置できます。
どちらの方法にも利点があります。特定のユーザだけが CGI プログラムを追加できるようにする場合、特定のディレクトリに CGI プログラムを格納し、そのディレクトリへのアクセスを制限します。HTML ファイルを追加できる任意のユーザが CGI プログラムを追加できるようにする場合は、ファイルタイプを指定する方法を使用します。ユーザは HTML ファイルと同じディレクトリに CGI ファイルを格納できます。
ディレクトリの方法を選択した場合、サーバはそのディレクトリ内のすべてファイルを CGI プログラムとして解釈しようとします。同じ様に、ファイルタイプの方法を選択した場合、サーバはファイル拡張子として .cgi、.exe、または .bat が付いたすべてのファイルを CGI プログラムとして処理しようとします。ファイルにこれらの拡張子が 1 つ付いていて CGI プログラムではない場合、ユーザがアクセスしようとするとエラーが発生します。
注 デフォルトでは、CGI プログラムのファイル拡張子は .cgi、.exe、および .bat です。ただし、MIME タイプのファイルを修正して、CGI プログラムを示す拡張子を変更できます。MIME タイプのファイルを変更するには、Server Manager の「Preferences」タブを選択し、「MIME Types」リンクをクリックします。
CGI ディレクトリの指定
仮想サーバのクラスに対して CGI 専用ディレクトリを指定するには、次の手順を実行します。
Class Manager の「Programs」タブを選択します。
既存の CGI ディレクトリを削除するには、「CGI Directory」フォームで CGI ディレクトリの「Remove」ボタンをクリックします。既存のディレクトリの URL 接頭辞または CGI ディレクトリを変更するには、ディレクトリの「Edit」ボタンをクリックします。
「URL prefix」フィールドで、このディレクトリに使用する URL 接頭辞を入力します。つまり、入力したテキストは、CGI プログラムのディレクトリとして URL に表示されます。
- 「CGI Directory」ウィンドウが表示されます。
「CGI directory」テキストフィールドに、ディレクトリの場所を絶対パスで入力します。このディレクトリは、必ずしもドキュメントルートの下である必要はありません。このため、前の手順では URL 接頭辞を指定することが必要です。
指定したディレクトリに CGI プログラムをコピーします。これらのディレクトリ内のファイルはすべて CGI ファイルとして処理されるため、CGI ディレクトリには HTML ファイルを置かないでください。
各仮想サーバに固有の CGI 属性を構成する
単一の仮想サーバに CGI 属性を指定するには、次の手順を実行します。
Class Manager で仮想サーバを選択し、「Manage」ボタンをクリックします。
Virtual Server Manager の「Preferences」タブで「Settings」を選択します。
「CGI User」テキストフィールドに、CGI プログラムを実行するユーザの名前を入力します。
「CGI Group」テキストフィールドに、CGI プログラムを実行するグループの名前を入力します。
「CGI Directory」テキストフィールドに、実行の開始前に chroot 後、chdir するディレクトリを入力します。
(UNIX のみ) 「CGI Nice」テキストフィールドに、CGI プログラムのサーバに対する優先度を指定する増分を入力します。通常、サーバは nice 値 0 で稼働し、nice 値の増分は 0 (CGI プログラムはサーバと同じ優先度で動作) 〜 19 (CGI プログラムはサーバよりかなり低い優先度で動作) の間になります。nice 値の増分として -1 を指定し、 CGI プログラムをサーバよりも優先することは可能ですが、この方法はお勧めしません。
ファイルタイプとして CGI を指定
CGI プログラムをファイルタイプとして指定するには、次の手順を実行します。
Class Manager の「Programs」タブを選択します。
CGI ファイルには、ファイル拡張子 .bat、.exe、または .cgi を付ける必要があります。これらの拡張子が付いている CGI ファイル以外のファイルは、サーバによって CGI ファイルとして処理され、エラーが発生します。
「Editing」ピッカーから、この変更を適用するリソースを選択します。
- 「CGI as a File Type」ウィンドウが表示されます。
実行可能ファイルのダウンロード
CGI ファイルタイプとして .exe を使用している場合、.exe ファイルを実行可能ファイルとしてダウンロードできません。この問題に対する解決方法の 1 つに、ユーザにダウンロードしてもらう実行可能ファイルを圧縮し、拡張子を .exe 以外にする方法があります。この解決方法には、さらにダウンロード時間が短くなるという利点もあります。
別の解決方法として、magnus-internal/cgi タイプからファイル拡張子としての .exe を削除し、代わりに application/octet-stream タイプ (通常のダウンロード可能なファイルの MIME タイプ) に追加することもできます。Server Manager でこれを実行するには、「Preferences」タブを選択し、「MIME Types」リンクをクリックします。ただし、この方法には、変更を行ったあと、.exe ファイルを CGI プログラムとして使用できなくなるという欠点があります。
さらに、サーバの obj.conf ファイルを編集してダウンロードディレクトリを設定する方法もあります。このディレクトリ内のファイルはすべて自動的にダウンロードされます。サーバの他の部分は影響を受けません。このディレクトリの設定方法については、次の場所にある技術情報を参照してください。
http://help.netscape.com/kb/server/960513-130.html
Windows NT CGI プログラムのインストール
この節では、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 ファイルの拡張子を 1 つ指定します。Windows NT CGI プログラムは通常の CGI プログラムと同様に動作しますが、サーバでの実際のプログラムの処理方法がわずかに異なります。このため、Windows NT CGI プログラムには別のディレクトリを指定する必要があります。Windows NT CGI ファイルタイプを有効にする場合、ファイル拡張子 .wcg を使用します。
iPlanet Web Server は次の点を除いて、Windows NT CGI 1.3a の非公式仕様をサポートします。
セキュリティメソッドをサポートするために、次のキーワードが [CGI] セクションに追加されています。
HTTPS: トランザクションが SSL を介して実行されるかどうかに応じて、値はオンまたはオフ
サーバのドキュメントルートが単一ではないため、[CGI] セクションのキーワード Document Root が、予測されたドキュメントルートを参照しない場合があります。この変数で返されるディレクトリは、Windows NT CGI プログラムのルートディレクトリです。HTTPS Keysize: HTTPS がオンの場合、この値は暗号化に使用されるセッションキーのビット数を示す
HTTPS Secret Keysize: HTTPS がオンの場合、この値はサーバの非公開鍵の生成に使用されるビット数を示す
[CGI] セクションのキーワード Server Admin はサポートされません。
Windows NT CGI ディレクトリの指定
Windows NT CGI ディレクトリを指定するには、次の手順を実行します。
Class Manager の「Programs」タブを選択します。
既存の Windows NT CGI ディレクトリを削除するには、「CGI Directory」フォームで Windows NT CGI ディレクトリの「Remove」ボタンをクリックします。既存のディレクトリの URL 接頭辞または Windows NT CGI ディレクトリを変更するには、ディレクトリの「Edit」ボタンをクリックします。「WinCGI Directory」リンクをクリックします。
「URL Prefix」テキストフィールドで、このディレクトリに使用する URL 接頭辞を入力します。
- 「WinCGI Directory」ウィンドウが表示されます。
スクリプトトレーシングを有効にするかどうかを選択します。
- つまり、入力したテキストが Windows NT CGI プログラムのディレクトリとして URL に表示されます。たとえば、URL 接頭辞として「wcgi-programs」と入力する場合、Windows NT CGI プログラムへの URL はすべて次の構造になります。
- http://yourserver.domain.com/wcgi-programs/program-name
注 指定した URL 接頭辞は、手順 5 で指定する実際の Windows NT CGI ディレクトリと同じである必要はありません。
「WinCGI Directory」テキストフィールドに、ディレクトリの場所を絶対パスで入力します。
- 「Enable Script Tracing?」の下の「Yes」または「No」のラジオボタンをクリックします。
- CGI パラメータがサーバから Windows NT CGI プログラムへとファイルを介して渡されます。このファイルは通常、Windows NT CGI プログラムを実行したあとサーバによって削除されます。スクリプトトレーシングを有効にする場合、これらのファイルは /temp ディレクトリ、または環境変数 TMP と TEMP の指定先に保存されます。また、スクリプトトレーシングが有効な場合には、Windows NT CGI プログラムで開いたウィンドウは表示されたままになります。
「OK」をクリックします。
- このディレクトリは、必ずしもドキュメントルートの下である必要はありません。このため、手順 3 で URL 接頭辞を指定する必要があります。
指定したディレクトリに Windows NT CGI プログラムをコピーします。このディレクトリ内のファイルはすべて Windows NT CGI ファイルとして処理されることに注意してください。
ファイルタイプとして Windows NT CGI を指定
Windows NT CGI ファイルのファイル拡張子を指定するには、次の手順を実行します。
Server Manager の「Server Preferences」タブを選択します。
新しい MIME タイプを次の設定で追加します。
- 「Global MIME Types」ウィンドウが表示されます。Global MIME Types の詳細については、「MIME タイプの選択」を参照してください。
「New Type」ボタンをクリックします。
Windows NT でのシェル CGI プログラムのインストール
この節では、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 に関連付けるようにサーバを構成することもできます。
- c:\bin\perl.exe hello.pl
注 Windows NT でのファイル拡張子の設定方法については、Windows NT のマニュアルを参照してください。
シェル CGI ディレクトリの指定 (Windows NT)
シェル CGI ファイルのディレクトリを作成するには、次の手順を実行します。
コンピュータにシェルディレクトリを作成します。このディレクトリは、ドキュメントルートのサブディレクトリである必要はありません。
Server Manager の「Class Manager」タブを選択します。
「URL Prefix」フィールドで、シェル CGI ディレクトリに関連付ける URL 接頭辞を入力します。
- 「shell CGI Directory」リンクが強調表示され、「CGI」ウィンドウが表示されます。
「Shell CGI Directory」フィールドに、作成したディレクトリへの絶対パスを入力します。
- たとえば、すべてのシェル CGI ファイルを C:/docs/programs/cgi/shell-cgiディレクトリに保存し、ユーザに対してディレクトリを http://www.yourserver.com/shell/ として表示させるとします。この場合、URL 接頭辞として「shell」と入力します。
サーバには、このディレクトリへの読み取りと実行の権限が必要です。Windows NT の場合は、サーバを実行するユーザアカウント (たとえば、LocalSystem) に、シェル CGI ディレクトリ内のプログラムに対する読み取りや実行の権限が必要です。
シェル CGI ディレクトリ内のファイルに対しても Windows NT のファイル関連付けが行われていることを確認します。ファイル拡張子の関連付けがないファイルを実行しようとすると、サーバはエラーを返します。
ファイルタイプとして シェル CGI を指定 (Windows NT)
iPlanet Web Server の「MIME Types」ウィンドウを使用して、シェル CGI 機能にファイル拡張子を関連付けることができます。これは、Windows NT での関連付けの作成とは異なります。サーバのシェル CGI 機能とファイル拡張子を関連付ける場合、たとえば、.pl 拡張子の付いたファイルに対して関連付けを作成できます。サーバは、この拡張子を持つファイルの要求を受けると、Windows NT でこのファイル拡張子に関連付けられた実行可能ファイルを起動して、そのファイルをシェル CGI ファイルとして処理します。
ファイル拡張子をシェル CGI ファイルとして関連付けるには、次の手順を実行します。
コンピュータにシェルディレクトリを作成します。このディレクトリは、ドキュメントルートのサブディレクトリである必要はありません。
Server Manager の「Server Preferences」を選択します。
新しい MIME タイプを次の設定で追加します。
- 「Global MIME Types」ウィンドウが表示されます。Global MIME Typesについての詳細は、「MIME タイプの選択」を参照してください。
「New Type」ボタンをクリックします。
照会ハンドラの使用
注 照会ハンドラは現在、使用されなくなっています。iPlanet Web Server と Netscape Navigator のクライアントでまだサポートされていますが、ほとんど使用されていません。HTML ページのフォームを使用して照会を送信する方法がより一般的です。
デフォルトの照会ハンドラ CGI プログラムを指定できます。照会ハンドラは、HTML ファイル内の ISINDEX タグによって送信されたテキストを処理します。
ISINDEX は、入力可能なテキストフィールドを HTML ページに作成する点で、フォームのテキストフィールドと似ています。ただし、フォームのテキストフィールドの情報とは異なり、「ISINDEX」ボックス内の情報は、ユーザが Enter キーを押すとすぐに送信されます。デフォルトの照会ハンドラを指定する場合、入力された内容の送信先となるプログラムをサーバに対して指定します。ISINDEX タグについての詳細は、HTML のリファレンスマニュアルを参照してください。
Class Manager の「Programs」タブを選択します。
「Editing」ピッカーを使用して、デフォルトの照会ハンドラで設定したいリソースを選択します。
- 「Query Handler」ウィンドウが表示されます。
「Default Query Handler」フィールドで、選択したリソースのデフォルトとして使用する CGI プログラムへの絶対パスを入力します。
- ディレクトリを選択する場合、サーバがそのディレクトリまたはディレクトリ内のファイルの URL を受信したときだけ指定した照会ハンドラが実行されます。
前へ 目次 索引 DocHome 次へ
Copyright © 2001 Sun Microsystems, Inc. Some preexisting portions Copyright © 2001 Netscape Communications Corp. All rights reserved.
Last Updated October 17, 2001