Sun ONE ロゴ      前へ      目次      索引      次へ     

Sun ONE Web Server 6.1 管理者ガイド

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

この章では、クライアントからの要求に応じて HTML ページをダイナミックに生成するプログラムを Sun ONE Web Server にインストールする方法について説明します。このようなプログラムはサーバーサイドアプリケーションと呼ばれます (クライアントにダウンロードされるクライアントサイドアプリケーションは、クライアントマシン上で動作する)。

この章には、次の内容が記述されています。


サーバーサイドプログラムの概要

Java サーブレットと CGI プログラムは、それぞれ長所や用途が異なります。次に、このようなサーバーサイドプログラムの相違点について説明します。

サーバーで実行するサーバーサイドアプリケーションのタイプ

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

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

サーバーへのサーバーサイドアプリケーションのインストール方法

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

次の節では、これらのインストール方法を説明します。


Java サーブレットと JavaServer Pages (JSP)

この節では、Sun ONE Web Server での Java サーブレットおよび JavaServer Pages のインストール方法と使用方法を説明します。

説明する内容を次に示します。

サーブレットと JavaServer Pages の概要

Sun ONE Web Server 6.1 はサーブレット 2.3 API 仕様をサポートします。この仕様では、Web アプリケーションにサーブレットと JSP を組み込むことができます。

Web アプリケーションは、サーブレット、JSP (JavaServer Pages)、HTML ドキュメント、およびその他の Web リソースの集合です。Web リソースには、イメージファイル、圧縮アーカイブ、その他のデータが含まれる場合があります。Web アプリケーションは、アーカイブ (WAR ファイル) にパッケージ化される場合と、オープンディレクトリ構造に置かれる場合があります。


Servlet API バージョン 2.3 にはバージョン 2.1 との完全な下位互換性があるため、既存のサーブレットは変更またはコンパイルし直さなくても引き続き機能します。


サーブレットの開発には、Sun Microsystems の Java Servlet API を使用します。Java Servlet API の使用については、以下の Web サイトにある Sun Microsystems のドキュメントを参照してください。

http://java.sun.com/products/servlet/index.jsp

JSP は、HTML ページのように、Web ブラウザで表示できます。ただし、HTML タグのほかに、JSP タグや、Java コードと組み合わせた指令を指定することができるため、Web ページを作成する際にダイナミックコンテンツをページに取り込むことができます。これらの追加機能によって、属性値の表示や単純な条件の使用などが可能になります。Sun ONE Web Server 6.1 は、JavaServer Pages (JSP) 1.2 API 仕様をサポートしています。


アプリケーション要求の URI の大文字と小文字は (たとえば、¥foo.JSP)、ファイルシステムパスの標準的な表記 (たとえば、C:¥Program Files¥WebServer¥docs¥foo.jsp) と一致させてください。これは、Sun ONE Web Server 6.1 Java Web コンテナが、現時点ではパターンマッチで大文字と小文字を区別しているためです。


JSP の作成については、以下の Sun Microsystems の JSP に関する Web サイトを参照してください。

http://java.sun.com/products/jsp/index.jsp

Sun ONE Web Server で使用する サーブレットと JSP の開発については、『Sun ONE Web Server 6.1 Programmer's Guide to Web Applications』を参照してください。

サーバーでサーブレットを実行するための要件

Sun ONE Web Server には、Java Development Kit (JDK) 1.4.1_03 が含まれています。従来のバージョンの Web Server では Java はサーバー全体に設定されていましたが、バージョン 6.1 では、Web サーバーのインスタンスごとに Java を設定できます。

Sun ONE Web Server 6.1 にバンドルされている JDK、または任意の JDK を使用することができます。任意の JDK を使用する場合は、その JDK へのパスを指定する必要があります。この方法については、「JVM の設定」を参照してください。

デフォルトでは、Sun ONE Web Server のインストール時に Java は無効に設定されます。サーブレットを有効にするには、最初に Java を有効にする必要があります。

Java を有効にする方法については、「Java の有効化と無効化」を参照してください。

Web アプリケーションの配備

次に、wdeploy コマンド行ユーティリティを使用して手動で、またはユーザーインタフェースを使用して、Web アプリケーションを配備、編集、削除する方法について説明します。

server.xml ファイルの使用

配備した Web アプリケーションは、デフォルトでは有効になっています。配備した Web アプリケーションを手動で無効にするには、server.xml ファイルを次のように編集する必要があります。

<VS>
<WEBAPP uri="/mywebapp" path="/webappdir" enabled = "false" >
</WEBAPP>

...

</VS>

同じ配備記述子で複数の Web アプリケーションを配備または編集してしまった場合、いずれかのアプリケーションは無効になり、enabled = "false" は無視されて enabled = "true" というデフォルト設定が引き続き適用されます。

server.xml ファイルについては、『Sun ONE Web Server 6.1 Programmer's Guide to Web Applications』を参照してください。

Web アプリケーションは、次の 2 つの方法で配備および編集できます。

管理サーバーインタフェースを使用

Sun ONE Web Server 6.1 を使用して、指定の仮想サーバーの Web アプリケーションを配備、編集、削除、有効化、無効化することができます。

Web アプリケーションの配備

「Deploy Web Applications」ページにアクセスするには、仮想サーバーマネージャの「Web Applications」タブにある「Deploy Web Applications」を選択します。

Web アプリケーションを配備するには、次の手順に従います。

  1. 「WAR File On」ドロップダウンリストから「Local Machine」または「Server Machine」を選択します。
  2. ローカルマシンからサーバーに、WAR ファイルをアップロードする場合は、「Local Machine」を選択します。サーバーマシンに WAR ファイルがすでに存在している場合は、「Server Machine」を選択します。

  3. 表示されるフィールドに、ローカルマシンまたはサーバーマシン上で Web アプリケーションが格納されている WAR ファイルへのパスを入力します。
  4. サーバーマシンの場合は、WAR ファイルへの絶対パスを入力します。

    ローカルマシンの場合は、パスをブラウズして選択します。「Browse」をクリックすると、「File Upload」ウィンドウが開き、サーバーにアップロードする WAR ファイルを選択することができます。

  5. 表示されるフィールドに、Web アプリケーションの仮想サーバー上の URI を入力します。
  6. 抽出した WAR ファイルコンテンツの格納先となる、サーバーマシン上のディレクトリへの絶対パスを指定します。ディレクトリが存在しない場合、ディレクトリが作成されます。
  7. 「OK」をクリックします。
  8. 「Apply」をクリックします。
  9. 配備する Web アプリケーションの「Dynamic Reconfiguration」を選択します。
Web アプリケーションの編集

すでに配備されている Web アプリケーションを削除、無効化、有効化することができます。「Edit Web Applications」ページにアクセスするには、仮想サーバーマネージャの「Web Applications」タブにある「Edit Web Applications」を選択します。

すでに配備されている Web アプリケーションを編集、削除、無効化、有効化するには、次の手順に従います。

  1. 編集する Web アプリケーションの隣にある「Action」列のドロップダウンリストから、実行する操作を選択します。
    • 「Edit」 - Web アプリケーションにアクセスするための URI を変更します。
    • 「Delete」 - Web アプリケーションファイルから Web アプリケーションエントリを削除し、またそのアプリケーションが配備されているディレクトリを削除します。
    • 「Disable」 - URI からその Web アプリケーションにアクセスできないようにしますが、削除は行いません。
    • 「Enable」 - 無効にした Web アプリケーションを再び有効にします。

      警告

      Web アプリケーションを削除すると、アプリケーションが配備されていたディレクトリも削除されます。


  2. (オプション) Web アプリケーションを編集する場合は、「URI」フィールドに新しい URI を入力します。
  3. 「OK」をクリックします。
  4. 「Apply」をクリックします。
  5. 配備する Web アプリケーションの「Dynamic Reconfiguration」を選択します。

コマンド行インタフェースを使用

手動で Web アプリケーションを配備する前に、server_root/bin/https/httpsadmin/bin ディレクトリがパスにあり、IWS_SERVER_HOME 環境変数が server_root ディレクトリに設定されていることを確認してください。

仮想サーバー Web アプリケーションを配備するには

コマンド行で wdeploy ユーティリティを使用して、仮想サーバーの Web アプリケーション環境に WAR ファイルを配備できます。

wdeploy deploy -u <uri_path> -i <instance> -v <vs_id> [ [-V <verboseLevel>]| [-q] ] [-n] [-d <directory>] <war_file>

仮想サーバー Web アプリケーションを削除するには

wdeploy delete -u <uri_path> -i <instance> -v <vs_id> [ [-V <verboseLevel>] | [-q] ] [-n] hard|soft

仮想サーバーの Web アプリケーションの URI とディレクトリを一覧表示するには

wdeploy list -i <instance> -v <vs_id> [ [-V <verboseLevel>] | [ -q] ]

コマンドのパラメータには以下の意味があります。

uri_path

Web アプリケーションの URI プレフィックス

instance

サーバーインスタンス名

vs_id

仮想サーバーの ID

directory

(オプション) アプリケーションが配備、または削除されるディレクトリ。指定しない場合、アプリケーションはドキュメントのルートディレクトリに配備される

hard | soft

ディレクトリと server.xml エントリを削除 (hard) するか、server.xml エントリだけを削除 (soft) するかを指定する

war_file

WAR ファイルの名前

verboseLevel

コンソールに表示するログメッセージの詳細レベル。0 〜 4 の範囲で指定する。デフォルト値は 1

Sun ONE Web Server 6.1 では、この要素の代わりに server.xmlLOG 要素にある loglevel 属性が使用される

-q

(quiet の略) ログメッセージの詳細レベルをゼロに設定する。-V 0 という設定と同じ意味

-n

wdeploy が自動的に Web サーバーに再設定コマンドを送信することを防止する。詳細は、「wdeploy コマンドでの -n の使用」を参照してください。


警告

Web アプリケーションを配備する際に directory を指定しない場合、アプリケーションはドキュメントのルートディレクトリに配備されます。その場合、hard パラメータを使用してアプリケーションを削除すると、ドキュメントのルートディレクトリも削除されます。


wdeploy deploy コマンドを実行すると、以下の 3 つの事柄が生じます。

その例を次に示します。

wdeploy deploy -u /hello -iserver.sun.com -v acme.com -d/s1ws61/https-server.sun.com/acme.com/web-apps/hello /s1ws61/plugins/servlets/examples/web-apps/HelloWorld/HelloWorld.wa r

このユーティリティを実行した結果として、server.xml には、以下のエントリが追加されています。

<VS>
   <WEBAPP uri="/hello"
   dir="/s1ws61/https-server.sun.com/acme.com/webapps/hello"/>
</VS>

以下に、/s1ws61/https-server.sun.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 の使用

Sun ONE Web Server 6.1 では、Web アプリケーションの配備または削除後に、wdeploy を使用してサーバーをダイナミックに再設定し、配備または削除された Web アプリケーションをサーバーにロードしたり、サーバーからアンロードしたりします。従来は変更を適用するために、次のいずれかの方法でサーバーを明示的に再設定する必要がありました。

現在では、wdeploy コマンドを正常に実行することで、新しい Web アプリケーションへの要求を受け付けたり、削除した Web アプリケーションへの要求を受け付けないようにすることができます。

-n オプションは、wdeploy が自動的に Web サーバーに再設定コマンドを送信することを防止します。スクリプトなどで複数の Web アプリケーションを配備または配備解除する場合に、Web アプリケーションの最後の配備以降に 1 回だけサーバーを再設定したいときは、コマンドに -n オプションを指定します。

配備した Web アプリケーションへのアクセス

アプリケーションを配備すると、ブラウザに以下の URL を指定して、アプリケーションにアクセスできます。

http://vs_urlhost[:vs_port]/uri_path/[index_page]

URL の各部には以下の意味があります。

vs_urlhost

仮想サーバーの urlhosts 値のひとつ

vs_port

(オプション) 仮想サーバーがデフォルトのポートを使用しない場合に限り必要

uri_path

アプリケーションの配備に使用したものと同じ。コンテキストパス

index_page

(オプション) エンドユーザーが最初にアクセスするアプリケーションのページ

その例を次に示します。

http://acme.com:80/hello/index.jsp

または

http://acme.com/hello/

戻り値

wdeploy オプションを実行すると、次の値を返します。

Web アプリケーションに含まれていないサーブレットと JSP の配備

Web アプリケーションに含まれていない 4.x のサーブレットや JSP を配備できますが、配備先は、デフォルトの仮想サーバー内だけです。詳細については、『Sun ONE Web Server 6.1 Programmer's Guide to Web Applications』を参照してください。

JVM の設定

サーバーマネージャの「Java」タブでは、Java 仮想マシン (Java Virtual Machine、JVM) の属性を設定できます。

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

バージョンファイルの削除

サーバーマネージャの「Java」タブの「Delete Version Files」ページでは、JavaServer Pages クラスキャッシュとセッションデータキャッシュのバージョン番号が保存されているファイルを削除できます。このページには、次のフィールドがあります。

Clear Session Data

サーバーが MMapSessionManager セッションマネージャを使用する場合に持続セッション情報が保存される SessionData ディレクトリを削除します。

Delete JSP ClassCache Files

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 つのディレクトリを使用します。

各キャッシュには version ファイルがあります。このファイルには、キャッシュ内のファイルやディレクトリの構造を決めるためにサーバーが使用するバージョン番号が保存されています。バージョンファイルを削除するだけで、キャッシュをクリーンアップすることができます。

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

サーバーの将来のアップグレードでキャッシュの異なる形式を使用する場合、サーバーはバージョンファイル内の番号を確認して、バージョン番号が正しくない場合はキャッシュを消去します。


CGI プログラムのインストール

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

さらに、次の節では Windows に固有の CGI プログラムのインストール方法を説明します。

CGI の概要

Common Gateway Interface (CGI) プログラムは、多くのプログラミング言語で定義できます。UNIX/Linux マシンでは、Bourne シェル や Perl スクリプトで記述された CGI プログラムが一般的です。


UNIX/Linux の場合は、CGI の実行を補助するためにサーバーで使用する CGIStub プロセスが追加されます。このようなプロセスは、CGI に最初にアクセスしたときにだけ作成されます。その番号は、CGI によるサーバーへの負荷によって異なります。CGIStub プロセスを終了しないでください。サーバーを停止すると、これらのプロセスは消滅します。


Windows コンピュータでは、C++ で作成した CGI プログラムまたはバッチファイルが使用される場合があります。Windows の場合、Visual Basic などの Windows ベースのプログラム言語で作成された CGI プログラムが、異なるメカニズムを使用してサーバーと連動して動作します。このようなプログラムは、Windows CGI プログラムと呼ばれます。Windows CGI については、「Windows CGI プログラムのインストール」を参照してください


コマンド行ユーティリティを実行するには、手動で Path 変数を設定して、server_root/bin/https/bin を組み込む必要があります。


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

サーバーマシンに CGI プログラムを格納するには、次の 2 つの方法があります。

必要があれば、同時に両方のオプションを有効にすることができます。

どちらの方法にも利点があります。特定のユーザーだけが CGI プログラムを追加できるようにする場合、特定のディレクトリに CGI プログラムを格納し、そのディレクトリへのアクセスを制限します。HTML ファイルを追加できる任意のユーザーが CGI プログラムを追加できるようにする場合は、ファイルタイプを指定する方法を使用します。ユーザーは HTML ファイルと同じディレクトリに CGI ファイルを格納できます。

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


デフォルトでは、CGI プログラムのファイル拡張子は .cgi.exe、および .bat です。ただし、MIME タイプのファイルを修正して、CGI プログラムを示す拡張子を変更できます。MIME タイプのファイルを変更するには、サーバーマネージャの「Preferences」タブを選択し、「MIME Types」リンクをクリックします。


CGI ディレクトリの指定

仮想サーバーのクラスに対して CGI 専用ディレクトリを指定するには、次の手順を実行します。

  1. クラスマネージャの「Programs」タブを選択します。
  2. 「CGI Directory」ウィンドウが表示されます。

  3. 「URL prefix」フィールドで、このディレクトリに使用する URL プレフィックスを入力します。つまり、入力したテキストは、CGI プログラムのディレクトリとして URL に表示されます。
  4. たとえば、URL プレフィックスとして「cgi-bin」と入力する場合、このような CGI プログラムへのすべての URL が次の構造になります。

    http://yourserver.domain.com/cgi-bin/program-name


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


  5. 「CGI Directory」テキストフィールドに、ディレクトリの場所を絶対パスで入力します。このディレクトリは、必ずしもドキュメントルートの下である必要はありません。このため、前の手順では URL プレフィックスを指定することが必要です。
  6. 「OK」をクリックします。
  7. 変更を保存して適用します。

既存の CGI ディレクトリを削除するには、「CGI Directory」フォームで CGI ディレクトリの「Remove」ボタンをクリックします。既存のディレクトリの URL プレフィックスまたは CGI ディレクトリを変更するには、ディレクトリの「Edit」ボタンをクリックします。

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

各仮想サーバーに固有の CGI 属性を設定する

単一の仮想サーバーに CGI 属性を指定するには、次の手順を実行します。

  1. クラスサーバーで仮想サーバーを選択し、「Manage」ボタンをクリックします。
  2. 仮想サーバーマネージャの「Settings」リンクを選択します。
  3. 「CGI User」テキストフィールドに、CGI プログラムを実行するユーザーの名前を入力します。
  4. 「CGI Group」テキストフィールドに、CGI プログラムを実行するグループの名前を入力します。
  5. 「CGI Directory」テキストフィールドに、実行の開始前に chroot 後、chdir するディレクトリを入力します。
  6. (UNIX のみ) 「CGI Nice」テキストフィールドに、CGI プログラムのサーバーに対する優先度を指定する増分を入力します。通常、サーバーは nice 値 0 で動作し、nice 値は、 0 (CGI プログラムがサーバーと同じ優先度で動作する) から 19 (CGI プログラムがサーバーよりも低い優先度で動作する) までの間になります。nice 値の増分として -1 を指定し、CGI プログラムをサーバーよりも優先することはできますが、これは推奨されません。
  7. 「Chroot Directory」テキストフィールドに、実行の開始前に chroot するディレクトリを入力します。
  8. 「OK」をクリックします。
  9. 変更を保存して適用します。

ファイルタイプとして CGI を指定

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

  1. クラスマネージャの「Programs」タブを選択します。
  2. 「CGI File Type」ページをクリックします。
  3. 「CGI as a File Type」ウィンドウが表示されます。

  4. 「Editing」ピッカーから、この変更を適用するリソースを選択します。
  5. 「Activate CGI as a file type ?」の下の「Yes」ラジオボタンをクリックします。
  6. 「OK」をクリックします。
  7. 変更を保存して適用します。

CGI ファイルには、ファイル拡張子 .bat.exe、または .cgi を付ける必要があります。これらの拡張子が付いている CGI ファイル以外のファイルは、サーバーによって CGI ファイルとして処理され、エラーが発生します。

実行可能ファイルのダウンロード

CGI ファイルタイプとして .exe を使用している場合、.exe ファイルを実行可能ファイルとしてダウンロードできません。

この問題に対する解決方法の 1 つに、ユーザーにダウンロードしてもらう実行可能ファイルを圧縮し、拡張子を .exe 以外にする方法があります。この解決方法には、さらにダウンロード時間が短くなるという利点もあります。

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

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

http://developer.netscape.com/docs/manuals/enterprise/admnunix/programs.htm


Windows CGI プログラムのインストール

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

Windows CGI プログラムの概要

Windows CGI プログラムは、ほかの CGI プログラムとほぼ同様に処理されます。Windows CGI プログラムだけを含むディレクトリを指定するか、またはすべての Windows CGI プログラムに同じファイル拡張子を付けるように指定します。ほかの CGI プログラムと同様に、必要な場合は、同時に両方の方法を使用できます。たとえば、すべての Windows CGI プログラムを格納するディレクトリを作成し、Windows CGI ファイルの拡張子を 1 つ指定します。

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

Sun ONE Web Server は次の点を除いて、Windows CGI 1.3a の非公式仕様をサポートします。

Windows CGI ディレクトリの指定

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

  1. クラスマネージャの「Programs」タブを選択します。
  2. 「WinCGI Directory」リンクをクリックします。
  3. 「WinCGI Directory」ウィンドウが表示されます。

  4. 「URL Prefix」テキストフィールドで、このディレクトリに使用する URL プレフィックスを入力します。
  5. つまり、入力したテキストは、Windows CGI プログラムのディレクトリとして URL に表示されます。たとえば、URL プレフィックスとして「wcgi-programs」と入力すると、これらの Windows CGI プログラムへの URL は、次のようになります。

    http://yourserver.domain.com/wcgi-programs/program-name


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


  6. スクリプトトレーシングを有効にするかどうかを選択します。
  7. 「Enable Script Tracing?」の下の「Yes」または「No」のラジオボタンをクリックします。

    CGI パラメータは、ファイルを介して、サーバーから Windows CGI プログラムに渡されます。これらのファイルは、通常、Windows CGI プログラムの実行後にサーバーによって削除されます。スクリプトトレーシングを有効にする場合、これらのファイルは /temp ディレクトリ、または環境変数 TMP と TEMP の指定先に保存されます。また、スクリプトトレーシングが有効な場合には、Windows CGI プログラムによって立ち上げられたウィンドウが表示されます。

  8. 「WinCGI Directory」テキストフィールドに、ディレクトリの場所を絶対パスで入力します。
  9. このディレクトリは、必ずしもドキュメントルートの下である必要はありません。このため、手順 3 で URL プレフィックスを指定する必要があります。

  10. 「OK」をクリックします。
  11. 変更を保存して適用します。

既存の Windows CGI ディレクトリを削除するには、「Windows CGI Directory」フォームで CGI ディレクトリの「Remove」ボタンをクリックします。既存のディレクトリの URL プレフィックスまたは Windows CGI ディレクトリを変更するには、ディレクトリの「Edit」ボタンをクリックします。

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

ファイルタイプとして Windows CGI を指定

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

  1. サーバーマネージャの「Server Preferences」タブを選択します。
  2. 「MIME Types」リンクをクリックします。
  3. 「Global MIME Types」ウィンドウが表示されます。Global MIME Typesについては、「MIME タイプの選択」を参照してください。

  4. 新しい MIME タイプを次の設定で追加します。
    • Type: type
    • Content type: magnus-internal/wincgi
    • File Suffix: サーバーを関連付けたい Windows CGI のファイルサフィックスを入力します。CGI、WinCGI、およびシェル CGI ファイルタイプを有効にする場合、CGI のタイプごとに異なるサフィックスを指定する必要があります。たとえば、CGI プログラムとシェル CGI プログラムの両方にサフィックス .exe を使用することはできません。必要に応じて、サフィックスが一意になるように、同じページのほかの MIME タイプのフィールドを編集することができます。
  5. 「New Type」ボタンをクリックします。
  6. 変更を保存して適用します。


Windows でのシェル CGI プログラムのインストール

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

Windows 向けシェル CGI プログラムの概要

シェル CGI は、Windows のファイル関連付けセットを使って CGI アプリケーションを実行するための、サーバー設定です。

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

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


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


シェル CGI ディレクトリの指定 (Windows)

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

  1. コンピュータにシェルディレクトリを作成します。このディレクトリは、ドキュメントルートのサブディレクトリである必要はありません。
  2. サーバーマネージャの「Class Manager」リンクを選択します。
  3. 次にクラスマネージャを選択します。
  4. 「shell CGI Directory」リンクが強調表示され、「CGI」ウィンドウが表示されます。

  5. 「URL Prefix」フィールドで、シェル CGI ディレクトリに関連付ける URL プレフィックスを入力します。
  6. たとえば、すべてのシェル CGI ファイルを C:¥docs¥programs¥cgi¥shell-cgi ディレクトリに保存し、ユーザーに対してディレクトリを http://www.yourserver.com/shell/ として表示させるとします。この場合、URL プレフィックスとして「shell」と入力します。

  7. 「Shell CGI Directory」フィールドに、作成したディレクトリへの絶対パスを入力します。

  8. 警告

    サーバーには、このディレクトリへの読み取りと実行の権限が必要です。Windows の場合は、サーバーを実行するユーザーアカウント (たとえば、LocalSystem) に、シェル CGI ディレクトリ内のプログラムに対する読み取りや実行の権限が必要です。


  9. シェル CGI ディレクトリ内のファイルに対しても Windows のファイルとの関連付けが行われていることを確認します。ファイル拡張子の関連付けがないファイルを実行しようとすると、サーバーはエラーを返します。

ファイルタイプとしてシェル CGI を指定 (Windows)

Sun ONE Web Server の「MIME Types」ウィンドウを使用して、シェル CGI 機能にファイル拡張子を関連付けることができます。これは、Windows での関連付けの作成とは異なります。

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

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

  1. コンピュータにシェルディレクトリを作成します。このディレクトリは、ドキュメントルートのサブディレクトリである必要はありません。
  2. サーバーマネージャの「Server Preferences」を選択します。
  3. 「MIME Types」リンクをクリックします。
  4. 「Global MIME Types」ウィンドウが表示されます。Global MIME Types については、「MIME タイプの選択」を参照してください。

  5. 新しい MIME タイプを次の設定で追加します。
    • Type: type
    • Content type: magnus-internal/shellcgi
    • File Suffix: サーバーを関連付けたいシェル CGI のファイルサフィックスを入力します。CGI、WinCGI、およびシェル CGI ファイルタイプを有効にする場合、CGI のタイプごとに異なるサフィックスを指定する必要があります。たとえば、CGI プログラムとシェル CGI プログラムの両方にサフィックス .exe を使用することはできません。必要に応じて、サフィックスが一意になるように、同じページのほかの MIME タイプのフィールドを編集することができます。
  6. 「New Type」ボタンをクリックします。
  7. 変更を保存して適用します。


クエリハンドラの使用


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


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

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

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

  1. クラスマネージャの「Programs」タブを選択します。
  2. 「Query Handler」リンクをクリックします。
  3. 「Query Handler」ウィンドウが表示されます。

  4. 「Editing」ピッカーを使用して、デフォルトのクエリハンドラで設定したいリソースを選択します。
  5. ディレクトリを選択する場合、サーバーがそのディレクトリまたはディレクトリ内のファイルの URL を受信したときだけ指定したクエリハンドラが実行されます。

  6. 「Default Query Handler」フィールドで、選択したリソースのデフォルトとして使用する CGI プログラムへの絶対パスを入力します。
  7. 「OK」をクリックします。
  8. 変更を保存して適用します。


前へ      目次      索引      次へ     


Copyright 2004 Sun Microsystems, Inc. All rights reserved.