付録A. Caching Proxy コマンドの使用

このトピックには、プロキシー・サーバー・コマンドのリファレンスを記載してあります。

cgiparse コマンド

目的

cgiparse コマンドは、CGI スクリプトの QUERY_STRING 環境変数を解析するために使用します。QUERY_STRING 環境変数が設定されていない場合は、コマンドは、標準入力から CONTENT_LENGTH で指定された文字数だけ文字を読み取ります。 戻される出力はすべて、標準出力に書き込まれます。

形式

   cgiparse -Flag [Modifier]

パラメーター

フラグ、フラグと等価な 1 文字 (-k -f -v -r -i -s -p -c -q -P)、およびフラグの機能を 以下に示します。

-keywords | -k
QUERY_STRING をキーワードとして構文解析します。 キーワードはデコードされ、標準出力に 1 行に 1 つずつ書き込まれます。
-form | -f
QUERY_STRING をフォーム要求として解析します。シェルによる評価が行われる際に、 接頭部 が FORM_ で、それにフィールド名が続くシェル変数を設定するストリングを戻します。フィールド値は、変数の内容です。
-value field-name | -v field-name
QUERY_STRING をフォーム要求として解析します。field-name の値のみを戻します。
-read | -r
標準入力から CONTENT_LENGTH 文字を読み取り、それらを標準出力に書き出します。
-init | -i
QUERY_STRING が設定されていなければ、標準入力の値を読み取り、QUERY_STRING をこの値に設定する SET ステートメントを出力します。これは、GET および POST の両方のメソッドに使用することができます。次に、典型的な使用例を示します。
eval 'cgiparse -init'

このコマンドが呼び出されると、GET または POST のどちらが使用されたかに関係なく、QUERY_STRING 環境変数が設定されます。

cgiparse は、GET メソッドが使用される場合には同じスクリプトで 複数回呼び出すことができますが、POST メソッドが使用される場合には、一度だけ呼び出します。 POST メソッドの場合、標準入力が読み取られた後、2 回目に cgiparse を呼び出しても 標準入力は空であり、無期限に待機することになります。

-sep separator | -s separator
複数の値を区切るために使用されるストリングを指定します。-value フラグを使用している場合、デフォルトの区切り記号は改行です。-form フラグを使用している場合、デフォルトの区切り記号はコンマ (,) です。
-prefix prefix | -p prefix
このフラグは -POST および -form とともに使用され、環境変数名を作成する際に使用する接頭部を指定します。 デフォルトは FORM_ です。
-count | -c
-keywords-form、および -value とともに使用されて、これらのフラグに関連する項目のカウントを出力します。
-keywords | -k
キーワードの数を戻します。
-form | -f
固有のフィールドの数を戻します (複数の値は 1 とカウントされます)。
-value field-name | -v field-name
field-name の値の数を出力します (field-name という名前のフィールドがない場合は 0 が出力されます)。
-number
-keywords-form、および -value とともに使用されて、これらのフラグに関連する指定されたオカレンスを戻します。
-keywords
n 番目のキーワードを戻します。(例えば、-2 -keywords と 指定すると、2 番目のキーワードが出力されます。)
-form
n 番目のフィールドの値すべてを出力します。 (例えば、-2 -form と指定すると、2 番目のフィールドの値すべてが出力されます。)
-value field-name
フィールド field-name の複数の値のうち n 番目の値を出力します。(例えば、-2 -value -whatsit と指定すると、whatsit フィールドの 2 番目の値が出力されます。)
-quiet | -q
すべてのエラー・メッセージが表示されないようにします。 (ただし、ゼロ以外の終了状況はエラーを示しています。)
-POST | -P
標準入力 (または、ファイル名が意図されている場合は、stdin ファイル) からの情報は 直接デコードされ、解析されてシェル変数となります。QUERY_STRING は使用されません。 -POST は、-init-form を連続して使用するのと同じです。

以下の例では、実際には QUERY_STRING が既にサーバーによって設定されているという事実を無視しています。 これらの例において、$ は Bourne シェル (B シェル) のプロンプトです。

結果

0
成功
1
コマンド行に違反がある。
2
環境変数の設定に誤りがある。
3
要求された情報を入手できなかった (該当フィールドがない、フォーム・フィールド値が要求されたときに QUERY_STRING にキーワードが入っていた、など)。
注:
これらのエラー・コードの 1 つを受信するときには、追加の通知メッセージも受信することがあります。 メッセージは発行されたコマンドにより異なります。

cgiutils コマンド

目的

nph (no-parse header) プログラムで cgiutils コマンドを使用して、完全な HTTP 1.0 応答を生成します。

注:
ユーザー固有の nph (no-parse header) をプログラムを実行してユーザー固有の戻り値を戻したい場合、そのプログラムの名前は nph- で始まらなければなりません。 このようにしておくと、サーバー・ヘッダーは、ユーザー固有の戻り値を標準サーバー戻り値でオーバーライドしません。

形式

cgiutils -Flag [Modifier]

Modifier にブランクが含まれる場合は、それを引用符 ("") で囲んでください。

パラメーター

-version
バージョン情報を戻します。
-nodate
Date: ヘッダーを戻しません。
-noel
ヘッダーの後にブランク行を出力しません。 これは、最初のヘッダー行の後に他の MIME ヘッダーを出力したい場合に役立ちます。
-status nnn
HTTP ヘッダーだけでなく、状況コード nnn 付きの完全な HTTP 応答を生成します。Expires: ヘッダーだけが必要な場合は、この フラグを使用しないでください。
-reason explanation
HTTP 応答の理由行を指定します。このフラグは、-status nnn フラグを 指定した場合にのみ使用できます。
-ct [type/subtype]
MIME Content-Type ヘッダーを指定します。次の例では、text/html という MIME コンテンツ・タイプを指定します。
      cgiutils -ct text/html

type/subtype を省略すると、MIME コンテンツ・タイプは、デフォルトの text/plain に設定されます。次の例は、MIME コンテンツ・タイプを text/plain に戻します。

   cgiutils -ct
-ce encoding
MIME Content-Encoding ヘッダーを指定します。例えば、次のとおりです。
   cgiutils -ce  x-compress
-cl language-code
MIME Content-Language ヘッダーを指定します。例えば、次のとおりです。
   cgiutils -cl en_UK
-length nnn
MIME Content-Length ヘッダーを指定します。
-expires Time-Spec
MIME Expires: ヘッダーを指定します。このフラグは、有効期間 (文書の有効期限) を days (日)、hours (時間)、minutes (分)、および seconds (秒) の任意の組み合わせで指定します。これらの値は、文書が有効と見なされる時間を指定します。例えば、次のとおりです。
      cgiutils -expires 2 days 12 hours

この cgiutils コマンドは、指定された時間を現在の GMT (グリニッジ標準時) に加算して有効期限日付を求めます。有効期限日付 は、HTTP 形式で Expires: ヘッダーに書き込まれます。

-expires now
Date: ヘッダーに一致 する Expires: ヘッダーを生成します。
-uri URI
戻される文書の URI (Universal Resource Identifier) を指定します。URI は URL と同じものと考えて構いません。
-extra xxx: yyy
cgiutils コマンドでしか指定できない特別なヘッダーを指定します。

htadm コマンド

目的

htadm コマンドの使用目的は、サーバー・パスワード・ファイルを制御することです。 サーバーはパスワード・ファイルを使用して、ファイルへのアクセスを制御します。 パスワード・ファイルへ ユーザー名を追加したり、パスワード・ファイルからユーザーを削除したり、ユーザーのパスワードを検査したり、 空のパスワード・ファイルを作成したりすることができます。 まずユーザーのパスワードを削除してから、新しいパスワードを作成することによって、ユーザーのパスワードを変更することもできます。

注:
htadm を使用してユーザーの追加、パスワードの変更、またはパスワードの検査を行うときは、パスワードをコマンド行に入力しなければなりません。このコマンドではすぐにコマンド行からパスワードが破棄されるので、マシン上のプロセス・リストを調べても (例えば ps コマンドを使用して)、ユーザーのパスワードが判明することはほとんどありません。

形式

htadm -Flag  [Modifier]

パラメーター

-adduser password-file user-name [password [real-name]]
ユーザーおよびパスワードをパスワード・ファイルに入れます。password-file のみを指定してコマンドを入力すると、他のパラメーターの入力を求めるプロンプトが出されます。
password-file
ユーザー名を入れるパスワード・ファイルのパスとファイル名。
user-name
入れたいユーザーの名前。

ユーザー名に使用できる文字は英字および数字のみです。特殊文字を使用してはなりません。

指定した名前のユーザーが既にパスワード・ファイル内にある場合は、このコマンドは失敗します。

password
ユーザー名に定義したいパスワード。

パスワードは最大 32 文字の長さです。 パスワードに使用できる文字は英字および数字のみです。特殊文字を使用してはなりません。

注:
  1. 一部のブラウザーは、8 文字を超える長さのパスワードを読み取ることも送信することもできません。 この制限があるので、8 文字を超える長さのパスワードを定義した場合、サーバーは、パスワード全体を有効と認識するか、またはパスワードの 最初の 8 文字のみを有効と認識します。
  2. 管理者ユーザー名およびパスワードには、たとえオペレーティング・システムが大/小文字の区別をしない場合でも、大/小文字の区別があります。「構成および管理」フォームにアクセスするときは、htadm コマンドを使用して、必ず正確なユーザー名およびパスワードを入力するようにしてください。
real-name
追加したユーザー名の識別のために使用したいコメントまたは名前。入力した情報がそのままパスワード・ファイルに書き込まれます。
-deluser password-file [user-name]
パスワード・ファイルからユーザーを削除します。password-file のみを指定してコマンドを入力すると、user-name パラメーターの入力を求めるプロンプトが出されます。
password-file
ユーザー名が削除されるパスワード・ファイルのパスとファイル名。
user-name
削除したいユーザーの名前。 指定したユーザー名がパスワード・ファイルにない場合は、このコマンドは失敗します。
-passwd password-file [user-name [password]]
パスワード・ファイル内に既に定義されているユーザー名のパスワードを変更します。password-file のみを指定してコマンドを入力すると、他のパラメーターの入力を求めるプロンプトが出されます。
password-file
パスワード変更の対象であるユーザー名が入っているパスワード・ファイルのパスとファイル名。
user-name
パスワードを変更したいユーザー名。 指定したユーザー名がパスワード・ファイルにない場合は、このコマンドは失敗します。
password
ユーザー名に対して定義したい新規パスワード。

パスワードは最大 32 文字の長さです。 パスワードに使用できる文字は英字および数字のみです。特殊文字を使用してはなりません。

注:
  1. 一部のブラウザーは、8 文字を超える長さのパスワードを読み取ることも送信することもできません。 この制限があるので、8 文字を超える長さのパスワードを定義した場合、サーバーは、パスワード全体を有効と認識するか、またはパスワードの 最初の 8 文字のみを有効と認識します。
  2. 管理者ユーザー名およびパスワードには、たとえオペレーティング・システムが大/小文字の区別をしない場合でも、大/小文字の区別があります。「構成および管理」フォームにアクセスするときは、htadm コマンドを使用して、必ず正確なユーザー名およびパスワードを入力するようにしてください。
-check password-file [user-name [password]]
パスワード・ファイル内に既に定義されているユーザー名のパスワードを検査し、それが正しいかどうかを知らせます。password-file のみを指定してコマンドを入力すると、他のパラメーターの入力を求めるプロンプトが出されます。
password-file
パスワード検査の対象であるユーザー名が入っているパスワード・ファイルのパスとファイル名。
user-name
パスワードを検査したいユーザー名。 指定したユーザー名がパスワード・ファイルにない場合は、このコマンドは失敗します。
password
検査したいパスワード。 入力したパスワードが、ユーザー名に対して定義されているパスワードである場合は、このコマンドは Correct を標準出力に書き出し、戻りコード 0 で終了します。 入力したパスワードが、ユーザー名に対して定義されているパスワードでない場合は、このコマンドは Incorrect を標準出力に書き出します。
-create password-file
空のパスワード・ファイルを作成します。
password-file
作成したいパスワード・ファイルのパスとファイル名。

htcformat コマンド

目的

htcformat コマンドは、プロキシー・キャッシュを保持するロー・デバイスまたはファイルの準備 を行うときに使用します。プロキシー・キャッシュで使用するようデバイスを指定する前に、このフォーマット・コマンド を使用する必要があります。

装置パスでロー・デバイスを指定することが必要です。ロー・デバイスへのアクセス方法の詳細については、使用ファイル・システムの資料を参照 してください。プロキシー・サーバー・キャッシングの構成の例を利用できます。

注:
Linux 2.2 カーネルは、ロー・デバイスへのキャッシュをサポートしていません。Linux プラットフォームでは、ファイルとメモリーだけをキャッシュ・ストレージに使用できます。

Caching Proxy キャッシュの最小サイズは 16392 KB であり、2049 ブロックです。

形式

htcformat device [-blocksize <block size>] [-blocks number of blocks]
htcformat -file filepath [-blocksize block size] -blocks number of blocks

パラメーター

-blocksize
これは、キャッシュ・デバイスのメディア内のブロックのサイズを設定します。ブロック・サイズは、バイト 単位です。デフォルトは 8192 であり、あらゆる場合にこのデフォルトを使用してください。
-blocks
デバイス上またはファイル内に作成するブロックの数。ファイルをフォーマットするときは、ファイル・サイズを指定するためにこの引数は必須です。また、この引数を使用して、キャッシュ・ストレージ用に使用される特定のデバイスまたは区画の 容量を制限することもできます。ブロック引数を指定しないと、区画に入るだけの数のブロックが作成されます。
-file
ストレージ・デバイスではなく、ファイルをフォーマットします。

使用法

さらに、キャッシュ・ファイルまたはキャッシュ・デバイスは、キャッシュ・システムによって 索引化とガーベッジ・コレクションのためにコンテナー内に分離されます。コンテナーのサイズは、一定数のブロックに設定されます。すなわち、コンテナーのサイズを構成 することはできません。ガーベッジ・コレクションを実行するために、最低限 2 つのコンテナーが必要です。最小 キャッシュ・サイズは 16392 KB です。

htcformat コマンドでは、コンテナーが 2 つ未満のキャッシュ・デバイスを生成するようなフォーマット要求は拒否されます。

次の例では、c0t0d0s0 というディスク区画を Solaris 上でフォーマット します。

htcformat /dev/rdsk/c0t0d0s0 

次の例では、lv02 というディスク区画を AIX 上でフォーマットします。

htcformat /dev/rlv02

次の例では、d: というディスク区画を Windows 上でフォーマットします。

htcformat ¥¥.¥d:

次の例では、filecache という名前のファイルを約 1 GB の大きさに フォーマットします。

htcformat -file /opt/ibm/edge/cp/filecache -blocks 131072

ibmproxy コマンド

目的

ibmproxy コマンドは、サーバーを始動するために使用します。

これらのフラグは、(-r を除く) すべて、サーバー構成ファイル内のディレクティブを使用して 設定することができます。

通常、そのディレクトリーについてよく知らないユーザーが読む指示または注意が 書かれている README という名前のファイルを作成します。 ibmproxy コマンドはデフォルトでは、ハイパーテキスト・バージョンのディレクトリーに README ファイルを埋め込みます。README ファイルの指示は、DirReadme 構成ディレクティブで設定することもできます。

形式

ibmproxy [-Flag [-Flag [-Flag..]]]

パラメーター

-nobg
サーバーをバックグラウンド・プロセスとしてではなく、フォアグラウンド・プロセスとして実行します。デフォルトでは、バックグラウンド・プロセス として実行します。
-nosnmp
SNMP サポートを off にします。
-p port-number
このポート番号を listen します。デフォルトのポート番号は 80 です。 このフラグは、構成ファイルで指定された Port ディレクティブをオーバーライドします。デフォルト値または構成ファイルで指定された値を使用するときは、このフラグを省略して ください。
-r configuration-file
構成ファイルとして使用するファイルを指定します。デフォルト構成ファイル以外の構成ファイルを使用してサーバーを始動したい場合は、このフラグを使用しなければなりません。これによって、複数の構成ファイルが使用できるようになります。
-restart
現在実行中のサーバーを再始動します。ibmproxy コマンドは、実行中のサーバーのプロセス番号を PidFile から 取得し、そのプロセス番号を HangUP シグナル (HUP) に送信します。その後、構成ファイルを再ロードし、ログ・ファイルを再オープンします。ファイルの 破壊を回避するために、同じ PidFile、ログ・ファイル、およびプロキシー・キャッシュを使用して、 サーバーの 2 つのインスタンスを同時に実行しないでください。

http デーモンは、サーバーが現在 PidFile にアクセスするために使用している構成ファイルを読み取る必要があるため、再始動する際には、同じ構成ファイルを指定する必要があります。サーバーの始動時に -r フラグと特定の構成ファイルを使用した場合、このフラグおよび同じファイルを -restart で指定する必要があります。

-snmp
SNMP サポートを on にします。
-unload
Linux では、これが、関連するファイアウォール規則を削除します。

また、シグナル処理オプションは Linux および UNIX プラットフォームのみに存在します。 Linux および UNIX プラットフォームでは、次のオプションが使用可能です。

SIGTERM
完了時には ibmproxy は停止し、終了します。SIGKILL または CANCEL を使用すると、直ちに終了させることができます。
SIGHUP
実行中の場合、ibmproxy は構成ファイルを再始動して再ロードし、処理を続行します。