yoshiki 02/04/12 00:55:58 Modified: htdocs/manual server-wide.html.ja.jis Log: Sync up to the latest English version. Submitted by: Nobuyuki Morita , Yoshiki Hayashi Reviewed by: Yoshiki Hayashi Revision Changes Path 1.4 +268 -219 httpd-docs-1.3/htdocs/manual/server-wide.html.ja.jis Index: server-wide.html.ja.jis =================================================================== RCS file: /home/cvs/httpd-docs-1.3/htdocs/manual/server-wide.html.ja.jis,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- server-wide.html.ja.jis 13 Jul 2001 07:37:21 -0000 1.3 +++ server-wide.html.ja.jis 12 Apr 2002 07:55:58 -0000 1.4 @@ -1,220 +1,269 @@ - - - -Server-Wide Configuration - - - - - - -

サーバ全体の設定

- -

このドキュメントではコアサーバの -ディレクティブの中で、基本動作を設定するためのものを説明します。

- - - -
- -

サーバ ID

- - -
-関連ディレクティブ

- -ServerName
-ServerAdmin
-ServerSignature
-ServerTokens
-UseCanonicalName
-
- -

ServerAdmin ディレクティブと ServerTokens -ディレクティブは、エラーメッセージなどのサーバが作るドキュメントに、 -どのようなサーバの情報を表示するかを制御します。ServerTokens -ディレクティブは、Server HTTP レスポンスヘッダフィールドの値を -設定します。

- -

ServerName ディレクティブと UseCanonicalName -ディレクティブは、サーバが自分自身を参照する URL を作るときに -使われます。たとえば、クライアントがディレクトリを要求して、 -そのディレクトリ名の最後にスラッシュが付いていないような場合には、 -ドキュメントの相対的な参照を正しく解決できるようにするために、 -Apache は最後のスラッシュを含んだ完全なパスにクライアントを -リダイレクトさせる必要があります。

- -
- -

ファイルの位置

- - -
-関連ディレクティブ

- -CoreDumpDirectory
-DocumentRoot
-ErrorLog
-Lockfile
-PidFile
-ScoreBoardFile
-ServerRoot
-
- -

これらのディレクティブは Apache が適切な動作をするために必要な -各種ファイルの位置を制御します。パスがスラッシュ "/" で始まっていない -ときは、ファイルは ServerRoot からの相対パスとして -探されます。root 以外のユーザが書き込み可能なパスにファイルを -置く場合は注意が必要です。詳細は「セキュリティ情報」を -参照してください。

- -
- -

プロセス生成

- - -
-関連ディレクティブ

- -BS2000Account
-Group
-MaxClients
-MaxRequestsPerChild
-MaxSpareServers
-MinSpareServers
-ServerType
-StartServers
-ThreadsPerChild
-User
-
- -

ServerType に推奨されている値である Standalone -が設定されている場合は、Unix 上での Apache は pre-forking サーバです。 -そこでは一つの制御用プロセスが子プロセスを起動する責任を持ちます。 -そして、子プロセスはプロセスが生存している間 listen し、接続されたらそのコネクションに対する処理を行ないます。 -Apache はリクエストが来たときにすぐに応答できるように、 -常に複数のスペアサーバプロセス、またはアイドルサーバプロセスを維持しようと -します。こうすることで、リクエストが扱われる前に新しい子プロセスが fork -されるのをクライアントが待つ必要がなくなります。

- -

StartServers, MinSpareServers, -MaxSpareServers, MaxServers は、 -親プロセスがリクエストを扱うことになる子プロセスを作成する方法を制御します。 -通常、Apache は非常に自制的ですので、ほとんどのサイトでは -デフォルト値から変更する必要はありません。ただ、同時に 256 を超える -リクエストを扱うサイトは MaxClients を増やす必要があるでしょう。 -一方、メモリの少ないサイトでは、サーバがスラッシング (メモリをディスクに -スワップしたり、メモリに戻したりするのを繰り返す) を防ぐために MaxClients -を減らす必要があるでしょう。プロセス作成をチューンするための詳しい情報は -性能の情報ドキュメントを -参照してください。

- -

Unix では通常、親プロセスは 80 番ポートをバインドするために root で -起動されますが、子プロセスは Apache からより特権の少ないユーザとして -起動されます。User ディレクティブと Group -ディレクティブは、Apache の子プロセスに設定される特権を設定するために -使用されます。子プロセスは提供するすべてのコンテンツを読めなければ -いけませんが、それ以上の特権は少なければ少ない方が望ましいです。 -また、suexec が使用されていないと、 -CGI スクリプトが継承する特権にもこれらのディレクティブの設定が適用されます。

- -

MaxRequestsPerChild は、サーバが古いプロセスを kill して -新しいプロセスを起動することで、プロセスを再利用する頻度を設定します。

- -

Windows では、Apache は制御プロセス一つと子プロセス一つで -スタートします。子プロセスはリクエストに応えるために複数のスレッドを -作成します。スレッドの数は ThreadsPerChild ディレクティブで -制御します。

- -
- -

ネットワーク設定

- - -
-関連ディレクティブ

- -BindAddress
-KeepAlive
-KeepAliveTimeout
-Listen
-ListenBackLog
-AcceptFilter
-MaxKeepAliveRequests
-Port
-SendBufferSize
-TimeOut
-
- -

Apache は起動すると、ローカルマシンの何らかのポート番号とアドレスに -コネクトし、リクエストを待ちます。デフォルトでは、マシンに -割り当てられているすべてのアドレスでサーバ設定の -Port ディレクティブで指定されているポート番号を listen します。 -二つ以上のポートを listen したり、選択されたアドレスのみを listen したり、 -その組み合わせを listen したりするようにもできます。 -違う IP アドレス、ホスト名、ポート番号によって Apache の応答を -決定するバーチャルホスト機能と組み合わせて -使われることがよくあります。

- -

Apache が listen するアドレスとポート番号を指定、もしくは制限する -ディレクティブは二つあります。BindAddress ディレクティブは -サーバが一つの IP アドレスだけを listen させるために使用されます。 -Listen ディレクティブは Apache が listen する IP アドレスと -ポート番号の組、またはどちらか一方を複数指定するために使用されます。

- -

ListenBackLog ディレクティブ、SendBufferSize -ディレクティブ、TimeOut ディレクティブは、Apache と -ネットワークとの関係を調整します。 -

- -

KeepAlive ディレクティブ、KeepAliveTimeout -ディレクティブ、MaxKeepAliveRequests ディレクティブは、 -Apache が persistent connection をどのように扱うかを制御します。

- -
-

リソースの制限

- -
-関連ディレクティブ

- -LimitRequestBody
-LimitRequestFields
-LimitRequestFieldsize
-LimitRequestLine
-RLimitCPU
-RLimitMEM
-RLimitNPROC
-ThreadStackSize
-
- -

LimitRequest* ディレクティブは Apache が -クライアントからのリクエスト読み込みで使うリソースを制限するために -使われます。これらの値を制限することで、いくつかのサービス拒否攻撃は -影響を和らげることができます。

- -

RLimit* ディレクティブは、Apache の子プロセスから -fork されたプロセスが使用するリソースを制限するために -使われます。特に、これは CGI スクリプトと SSI exec コマンドで -使われるリソースを制御します。

- -

ThreadStackSize は Netware でのみ、スタックの大きさを -制御するために使われます。

- - - + + + + + + Server-Wide Configuration + + + + + + + +

サーバ全体の設定

+ +

このドキュメントではコアサーバの + ディレクティブの中で、基本動作を設定するためのものを説明します。 +

+ + +
+ +

サーバ ID

+ + + + + + +
関連ディレクティブ
+
+ ServerName
+ ServerAdmin
+ ServerSignature
+ ServerTokens
+ UseCanonicalName
+
+ +

ServerAdmin ディレクティブと ServerTokens + ディレクティブは、エラーメッセージなどのサーバが作るドキュメントに、 + どのようなサーバの情報を表示するかを制御します。 + ServerTokens ディレクティブは、Server HTTP + レスポンスヘッダフィールドの値を設定します。

+ +

ServerName ディレクティブと + UseCanonicalName ディレクティブは、 + サーバが自分自身を参照する URL を作るときに使われます。たとえば、 + クライアントがディレクトリを要求して、そのディレクトリ名の最後に + スラッシュが付いていないような場合には、ドキュメントの相対的な + 参照を正しく解決できるようにするために、Apache は最後のスラッシュ + を含んだ完全なパスにクライアントをリダイレクトさせる必要があります。 +

+
+ +

ファイルの位置

+ + + + + +
関連ディレクティブ
+
+ CoreDumpDirectory
+ DocumentRoot
+ ErrorLog
+ Lockfile
+ PidFile
+ ScoreBoardFile
+ ServerRoot
+
+ +

これらのディレクティブは Apache が適切な動作をするために必要な + 各種ファイルの位置を制御します。パスがスラッシュ "/" + で始まっていないときは、ファイルは ServerRoot + からの相対パスとして探されます。 + root 以外のユーザが書き込み可能なパスにファイルを置く場合は注意が必要です。 + 詳細は「セキュリティ情報」を + 参照してください。

+
+ +

プロセス生成

+ + + + + +
関連ディレクティブ
+
+ BS2000Account
+ Group
+ MaxClients
+ MaxRequestsPerChild
+ MaxSpareServers
+ MinSpareServers
+ ServerType
+ StartServers
+ ThreadsPerChild
+ User
+
+ +

ServerType に推奨されている値である + Standalone が設定されている場合は、Unix 上での Apache + は pre-forking サーバです。そこでは一つの制御用プロセスが子プロセスを + 起動する責任を持ちます。そして、子プロセスはプロセスが生存している間 + listen し、接続されたらそのコネクションに対する処理を行ないます。 + Apache はリクエストが来たときにすぐに応答できるように、常に複数の + スペアサーバプロセス、またはアイドルサーバプロセスを維持 + しようとします。こうすることで、リクエストが扱われる前に新しい子プロセスが + fork されるのをクライアントが待つ必要がなくなります。

+ +

StartServers, MinSpareServers, + MaxSpareServers, MaxServers は、 + 親プロセスがリクエストを扱うことになる子プロセスを作成する方法を制御します。 + 通常、Apache は非常に自制的ですので、ほとんどのサイトでは + デフォルト値から変更する必要はありません。ただ、同時に 256 を超える + リクエストを扱うサイトは MaxClients を増やす必要があるでしょう。 + 一方、メモリの少ないサイトでは、サーバがスラッシング (メモリをディスクに + スワップしたり、メモリに戻したりするのを繰り返す) を防ぐために + MaxClients を減らす必要があるでしょう。 + プロセス作成をチューンするための詳しい情報は + 性能の情報 + ドキュメントを参照してください。 +

+ +

Unix では通常、親プロセスは 80 番ポートをバインドするために + root で起動されますが、子プロセスは Apache からより特権の少ない + ユーザとして起動されます。User ディレクティブと + Groupディレクティブは、Apache の子プロセスに設定される + 特権を設定するために使用されます。子プロセスは提供するすべての + コンテンツを読めなければいけませんが、 + それ以上の特権は少なければ少ない方が望ましいです。 + また、suexec が使用されていないときは、 + CGI スクリプトが継承する特権にもこれらのディレクティブの + 設定が適用されます。

+ +

MaxRequestsPerChild は、サーバが古いプロセスを + kill して新しいプロセスを起動することで、 + プロセスを再利用する頻度を設定します。

+ +

Windows では、Apache は制御プロセス一つと子プロセス一つでスタート + します。子プロセスはリクエストに応えるために複数のスレッドを作成します。 + スレッドの数は ThreadsPerChild ディレクティブで制御します。 +

+
+ +

ネットワーク設定

+ + + + + + +
関連ディレクティブ
+
+ BindAddress
+ KeepAlive
+ KeepAliveTimeout
+ Listen
+ ListenBackLog
+ AcceptFilter
+ AcceptMutex
+ MaxKeepAliveRequests
+ Port
+ SendBufferSize
+ TimeOut
+
+ + +

Apache は起動すると、ローカルマシンの何らかのポート番号と + アドレスにコネクトし、リクエストを待ちます。デフォルトでは、 + マシンに割り当てられているすべてのアドレスでサーバ設定の + Port ディレクティブで指定されているポート番号を listen + します。二つ以上のポートを listen したり、選択されたアドレスのみを + listen したり、その組み合わせを listen したりするようにもできます。 + 違う IP アドレス、ホスト名、ポート番号によって Apache の応答を + 決定するバーチャルホスト機能と組み合わせて + 使われることがよくあります。 +

+ +

Apache が listen するアドレスとポート番号を指定、 + もしくは制限するディレクティブは二つあります。 + BindAddress ディレクティブはサーバが一つの IP + アドレスだけを listen させるために使用されます。 + Listen ディレクティブは Apache が listen する IP アドレスと + ポート番号の組、またはどちらか一方を複数指定するために使用されます。

+ +

ListenBackLog ディレクティブ、SendBufferSize + ディレクティブ、TimeOut ディレクティブは、Apache と + ネットワークとの関係を調整します。AcceptFilter + は BSD 特有のフィルタの最適化を制御します。 + 性能に関するヒントの BSD の節を + 見てください。AcceptMutex はどのように accept 時の + 排他制御を行なうかを制御します。これが一体何で、なぜ必要であるかは、 + 一般的な性能に関するヒント + を見てください。

+ +

KeepAlive ディレクティブ、KeepAliveTimeout + ディレクティブ、MaxKeepAliveRequests ディレクティブは、 + Apache が persistent connection をどのように扱うかを制御します。

+
+ +

リソースの制限

+ + + + + + +
関連ディレクティブ
+
+ LimitRequestBody
+ LimitRequestFields
+ LimitRequestFieldsize
+ LimitRequestLine
+ RLimitCPU
+ RLimitMEM
+ RLimitNPROC
+ ThreadStackSize
+
+ +

LimitRequest* ディレクティブは Apache が + クライアントからのリクエスト読み込みで使うリソースを制限するために + 使われます。これらの値を制限することで、いくつかのサービス拒否攻撃の + 影響を和らげることができます。

+ +

RLimit* ディレクティブは、Apache の子プロセスから + fork されたプロセスが使用するリソースを制限するために + 使われます。特に、これは CGI スクリプトと SSI exec コマンドで + 使われるリソースを制御します。

+ +

ThreadStackSize は Netware でのみ、 + スタックの大きさを制御するために使われます。

+ + --------------------------------------------------------------------- To unsubscribe, e-mail: docs-unsubscribe@httpd.apache.org For additional commands, e-mail: docs-help@httpd.apache.org