From: Yoshiki Hayashi PassEnv
ディレクティブにより、Apache が起動されたシェルの
環境変数を渡すこともできます。
より柔軟性を高めるために、mod_setenvif
で提供されているディレクティブを使用することで、リクエストの
特性に基づいて環境変数を設定することができます。例えば、特定のブラウザ
@@ -73,39 +73,39 @@
ディレクティブにおいて環境変数を設定する [E=...]
オプションを使用することで、
より柔軟な設定を行なうことができます。
mod_unique_id は、非常に限られた条件の下で
「すべて」のリクエストについて、一意であることが保証されている値を環境変数
UNIQUE_ID に設定します。
Apache の設定ファイルで設定された環境変数とシェルから渡される 環境変数に加えて、CGI スクリプトと SSI ページには CGI の仕様で要求されている、 リクエストのメタ情報を持った環境変数の組が提供されます。
- +suexec.c
で定義されます。| 関連モジュール | 関連ディレクティブ |
|---|---|
環境変数の主な利用法の一つは、CGI スクリプトに情報を伝えることです。 上で説明されているように、CGI スクリプトに渡される環境変数は Apache の設定により設定される変数に加えて、リクエストの標準のメタ情報を含んでいます。 詳細は CGI チュートリアル を参照してください。
- +mod_include の INCLUDES フィルタで処理される
server-parsed (SSI) ドキュメントでは、echo
要素を使用すると環境変数が出力されます。
また、ページのある部分がリクエストの性質に応じて変更されるように、
環境変数をフロー制御要素で使うことができます。詳細は
SSI チュートリアル を参照してください。
allow from env= ディレクティブと deny from env=
- ディレクティブを使用して、サーバへのアクセスを環境変数の値で制御することができます。
+
+
allow from env= ディレクティブと deny from env=
+ ディレクティブを使用して、サーバへのアクセスを環境変数の値で制御することができます。
SetEnvIf
ディレクティブと組み合わせることで、クライアントの特性に基づいて
サーバへのアクセス制御を柔軟に行なうことができるようになります。
たとえば、これらのディレクティブを使用して、特定のブラウザ (User-Agent)
からのアクセスを拒否することができます。
LogFormat
ディレクティブのオプション %e
を使用することで、環境変数をアクセスログに記録することができます。さらに、
@@ -165,18 +165,18 @@
gif で終わるファイル名へのリクエストはログに記録しない、
違うサブネットのクライアントからのリクエストだけをログに記録する、
という選択が可能です。
Header
ディレクティブは環境変数の存在や不在によってクライアントへの応答に特定の
HTTP ヘッダを付けるかどうかを決めることができます。
これにより、たとえば、クライアントからのリクエスト
にあるヘッダがある場合にのみ特定の応答ヘッダを送る、というようなことが
できます。
RewriteCond
ディレクティブで評価文字列として
%{ENV:...} 式を指定することで、mod_rewrite
@@ -205,23 +205,23 @@
互換性の問題を解決するために、特定のクライアントと通信しているときは
Apache の動作を変更できる機構が導入されました。できるだけ柔軟にするために、
これらの機構は環境変数を定義することで呼び出されます。普通は、
BrowserMatch
ディレクティブを使いますが、たとえば SetEnv ディレクティブや PassEnv ディレクティブも使用することができます。
これを指定することで、リクエストが HTTP/1.0 より新しいプロトコルの場合でも、HTTP/1.0 として扱われます。
- +応答ヘッダがクライアントに送られる前に Vary
フィールドを取り除きます。
クライアントの中にはこのフィールドを正しく解釈しないものがあります。
@@ -232,11 +232,11 @@
これが設定されていると、HTTP/1.0 リクエストを発行するクライアントに対しては - 常に HTTP/1.0 で応答するようになります。この機能は、 + 常に HTTP/1.0 で応答するようになります。この機能は、 元々は AOL のプロキシの問題のために実装されました。HTTP/1.0 クライアントの中には、 - HTTP/1.1 の応答を返されると正しく動作しないものがあるかもしれません。 + HTTP/1.1 の応答を返されると正しく動作しないものがあるかもしれません。 この機能を使用することで、そのようなクライアントとの間の互換性問題を解決できます。
@@ -260,32 +260,32 @@これが設定されている場合は、KeepAlive を使用しないようにします。
mod_negotiation の挙動に影響を与えます。
(en, ja, x-klingonといった)
言語タグが格納されていれば、その言語の variant を送信しようとします。
そのような variant がない場合は、
通常のネゴシエーション処理が
適用されます。
これはクライアントへのリダイレクトの送信をサーバがより注意深く 行なうようにします。 これは通常、リダイレクトに際してクライアントに - 問題があることが分かっている場合に使われます。この機能は元々は + 問題があることが分かっている場合に使われます。この機能は元々は マイクロソフトのウェブフォルダのソフトが DAV メソッドによるディレクトリのリソースへのリダイレクトの扱いに 問題がり、それを回避するために実装されました。
- +しかしながら、リダイレクト先のページがそれとは異なるキャラクタセットを - 使用していた際、ある問題のあるブラウザのバージョンでは、実際の - (訳注:リダイレクト先のページの) キャラクタセットではなく、 - リダイレクトのテキストのキャラクタセットを使用します。 - その結果、例えば変な描画が行なわれたりして、読めなくなります。
+しかし、リダイレクト先が別の文字セットを使っている場合、 + ある問題のあるブラウザのバージョンでは、 + リダイレクト先の実際の文字セットの代わりに、 + リダイレクト元の文字セットを使ってしまうことがあります。 + その結果、例えば変な描画が行なわれたりして、読めなくなったりします。
この環境変数を設定することで、リダイレクションテキストに対する - キャラクタセットの指定を除去して、それら問題のあるブラウザでも - 目的のページがきちんと表示されるようにできます。
+ キャラクタセットの指定を除去しますので、それら問題のあるブラウザでも + リダイレクト先の文字セットを正しく使うようにできます。 @@ -313,10 +313,10 @@クライアントに関する既知の問題に対処するために、以下の行を httpd.conf に入れることを推奨しています。
@@ -343,7 +343,7 @@ BrowserMatch "JDK/1\.0" force-response-1.0
この例では、画像へのリクエストがアクセスログに現れないようにします。 これを変更することで、特定のディレクトリのログ収集をやめたり、 特定のホストからのリクエストのログ収集をやめたりすることが簡単にできます。 @@ -353,11 +353,11 @@ SetEnvIf Request_URI \.gif image-request SetEnvIf Request_URI \.jpg image-request SetEnvIf Request_URI \.png image-request CustomLog logs/access_log common env=!image-request
この例は、別のサーバにいる人が、あなたのサーバにある画像を inline 画像として使用することを防ぎます。 これは推奨されている設定ではありませんが、ある限定された状況では有効です。 @@ -372,7 +372,7 @@ SetEnvIf Referer "^$" local_referal Deny from all Allow from env=local_referal </Directory>
この手法に関する詳しい情報は ApacheToday のチュートリアル「Keeping Your Images from Adorning Other Sites 」を参照してください。
diff --git a/docs/manual/filter.html.ja.jis b/docs/manual/filter.html.ja.jis index 5e173c3b04c..c8aa633c5ed 100644 --- a/docs/manual/filter.html.ja.jis +++ b/docs/manual/filter.html.ja.jis @@ -30,7 +30,7 @@| 関連モジュール | 関連ディレクティブ |
|---|---|
フィルタ とは、サーバが送受信したデータに 適用される処理プロセスのことをいいます。クライアントからサーバに 送られたデータは 入力フィルタ によって、サーバから diff --git a/docs/manual/handler.html.ja.jis b/docs/manual/handler.html.ja.jis index 90f4c3c4ea1..d9a4567e7af 100644 --- a/docs/manual/handler.html.ja.jis +++ b/docs/manual/handler.html.ja.jis @@ -34,7 +34,7 @@
| 関連モジュール | 関連ディレクティブ |
|---|---|
「ハンドラ」とは、ファイルが呼ばれたときに実行される動作の
Apache における内部表現です。
@@ -65,7 +65,7 @@
HTTP ヘッダのあるファイルをそのまま送ります。
(mod_asis)
-
mod_cgi)以下のディレクティブによって、拡張子が html
であるファイルは footer.pl
CGI スクリプトを起動するようになります。
Action add-footer /cgi-bin/footer.pl
AddHandler add-footer .html
@@ -120,14 +120,14 @@
SetHandler send-as-is
</Directory>
ハンドラの機能を実装するために、利用すると便利かもしれないものが +
ハンドラの機能を実装するために、利用すると便利かもしれないものが
Apache API
に追加されました。詳しく言うと、request_rec
構造体に新しいレコードが追加されたということです。
| ダウンロード | @@ -102,7 +103,7 @@
NN は最新のマイナーバージョンナンバーに、 +
NN は最新のマイナーバージョンナンバーに、
PREFIX はインストールするサーバでのファイルシステムのパスに、
置き換えてください。PREFIX を指定しなかった場合は、
デフォルトの /usr/local/apache2 になります。
Apache は Apache Software
+ Apache は Apache Software
Foundation ダウンロードサイトからダウンロードできますし、
同じ場所に幾つかのミラーサイトもリストしています。
ここから最新の安定版が手に入ります。 Apache はモジュール化されたサーバです。
+ Apache はモジュール化されたサーバです。
ごくごく基本的な機能だけが、コアサーバに含まれています。
拡張機能は様々なモジュールの形で提供されます。
設定プロセス中では、どんなモジュールをサーバで使うように
@@ -500,7 +501,7 @@
をコンパイルのプロセスで含める必要があります。
個々のプラットホーム向けのデフォルトの MPM は MPM 文書に一覧がありますが、
configure スクリプトで行ないます。
- (Apache ソースツリーの CVS
+ (Apache ソースツリーの CVS
版をダウンロードした開発者は、次のステップに進む前に
autoconf とlibtool
をインストールして buildconf
@@ -345,7 +346,7 @@
--help--quietモジュール
- configure
- コマンドで置き換えることができます。
--with-mpm=NAME基本的な設定をするのに、Pentium III/Linux 2.2 のシステムでおおよそ 3 分程度かかりますが、 あらかじめご了承下さい。 - また、時間はハードウェアや有効にしたモジュールの数に + また、時間はハードウェアや有効にしたモジュールの数に 大きく依存するでしょう。
A | B | C | D | E | F | G | H | I | K | L | M | N | O | P | R | S | T | U | V | X
DavLockDBLoadModule
を使用して実行時にロードされている必要があります。
- 動作させるには、httd.conf ファイルの
- グローバルセクションに次を加えて、ウェブサーバが書き込みできる
- DAV ロックデータベースファイル名を指定します。
さらに、DAV ロックデータベースの場所が
+ DavLockDB ディレクティブを使って
+ httd.conf ファイルのグローバルセクションに指定されている
+ 必要があります。
- DavLockDB /tmp/DavLock
+ DavLockDB /usr/local/apache2/var/DavLock
ロックデータベースファイルのあるディレクトリは Apache が実行されている
+ User と Group に書き込み権限がある必要があります。
<Limit>
節を <Location>
ディレクティブ内部に追加して、DAV が有効な場所への
@@ -89,7 +95,7 @@
ディレクティブは DAV リクエストに対しては効力を持ちません。
- DavLockDB /tmp/DavLock
+ DavLockDB /usr/local/apache2/var/DavLock
<Location /foo>
@@ -99,7 +105,7 @@
AuthName DAV
AuthUserFile user.passwd
- <LimitExcept GET HEAD OPTIONS>
+ <LimitExcept GET OPTIONS>
require user admin
@@ -108,13 +114,68 @@
</Location>
HTTP 基本認証の使用は推奨できません。少なくとも
- mod_auth_digest モジュールで提供される HTTP
- ダイジェスト認証を用いるべきです。WebDAV クライアントのほとんどは
- この認証方法に対応しています。もちろん、SSL
- 有効なコネクションを通した基本認証でもセキュリティが確保できます。
mod_dav は Greg Stein さんの Apache 1.3 用の mod_dav に
+ 由来するものです。そのサイトからより多くの情報を手に入れることができます。
DAV のアクセスメソッドは遠隔クライアントがサーバのファイルを
+ 操作することを可能にしますので、 mod_dav を使用する
+ 前に、サーバが安全であることを特に注意して確認しなければなりません。
サーバ上の DAV が使用可能になっている場所はすべて認証で保護してください。
+ HTTP 基本認証の使用は推奨できません。少なくとも
+ mod_auth_digest モジュールで提供される HTTP
+ ダイジェスト認証を用いるべきです。WebDAV クライアントのほとんどは
+ この認証方法に対応しています。代わりに、SSL が
+ 有効なコネクションを通した基本認証を使うこともできます。
mod_dav がファイルを操作できるようにするためには、
+ 管理下のディレクトリとファイルとに Apache が実行されている User と Group で書き込み可能である必要があります。
+ 新しく作成されるファイルもこの User
+ と Group に所有される
+ ことになります。この理由から、そのアカウントへのアクセスを制御することは
+ 重要です。DAV リポジトリは Apache 専用のものだとみなされています。
+ Apache 以外の方法でファイルを修正すること (例えば FTP やファイルシステム
+ 用のツールなどを使って) は許可されていません。
mod_dav はいろいろな種類のサービス拒否攻撃にさらされる
+ かもしれません。LimitXMLRequestBody ディレクティブを使うと
+ 大きな DAV リクエストを解析するときに消費されるメモリの量を制限することが
+ できます。DavDepthInfinity ディレクティブは
+ PROPFIND リクエストが巨大リポジトリで大量のメモリを消費するのを
+ 防ぐことができます。他のサービス拒否攻撃には単純に使用可能なディスク領域を
+ 多くの大きなファイルで埋めてしまうんものがあります。これを直接防ぐ方法は
+ Apache にはありませんので、信用できないユーザに DAV アクセスを提供するのは
+ 避けた方が良いでしょう。
よくある要求に、mod_dav を使って動的なファイル
+ (PHP スクリプト、CGI スクリプトなど) を操作したいというものがあります。
+ これの実現は、GET リクエストはスクリプトの内容をダウンロードさせる
+ 代わりに、スクリプトを常に実行させてしまうので難しくなっています。
+ これを回避する方法には、二つの違う URL を同じコンテンツにマップし、
+ 一つはスクリプトを実行させ、もう一つはダウンロードさせたり、DAV から
+ 操作されたりするように設定するというものがあります。
+Alias /phparea /home/gstein/php_files
+Alias /php-source /home/gstein/php_files
+<Location /php-source>
+
+ DAV On
+ ForceType text/plain
+
+</Location>
+
この設定により、http://example.com/phparea を PHP スクリプトの
+ 出力をアクセスするために使うことができ、
+ http://example.com/php-source を DAV クライアントによる
+ が操作のために使うことができます。
| 説明: | 出力に対して行なう圧縮の程度 |
|---|---|
| 構文: | DeflateCompressionLevelvalue |
| 構文: | DeflateCompressionLevel value |
| デフォルト: | Zlib のデフォルト |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Extension |
| 互換性: | This directive is available since Apache 2.0.45 |
DeflateCompressionLevel ディレクティブは
- 圧縮の程度を設定します。大きな値では、より圧縮が行なわれますが、
+ 圧縮の程度を設定します。大きな値では、より圧縮が行なわれますが、
CPU 資源を消費します。
値は 1 (低圧縮) から 9 (高圧縮) です。
diff --git a/docs/manual/mod/mod_include.html.ja.jis b/docs/manual/mod/mod_include.html.ja.jis index 54687833a04..68958a91531 100644 --- a/docs/manual/mod/mod_include.html.ja.jis +++ b/docs/manual/mod/mod_include.html.ja.jis @@ -613,7 +613,7 @@ directive]"| 説明: | include 要素を開始する文字列 |
|---|---|
| 構文: | SSIStartTag tag |
| デフォルト: | SSIStartTag "<!--" |
| デフォルト: | SSIStartTag "<!--#" |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト |
| ステータス: | Base |
| モジュール: | mod_include |
| 説明: | ファイル名の拡張子を指定された文字セットにマップする |
|---|---|
| 構文: | AddCharset charset extension
-[extension] ... |
| 構文: | AddCharset charset extension
+[extension] ... |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
| 互換性: | AddCharset は Apache 1.3.10 以降でのみ使用可能 |
AddCharset ディレクティブは、与えられた拡張子を指定された - charset にマップします。charset は、拡張子 - extension を含んでいるファイル名の MIME charset +
AddCharset ディレクティブは、
+ 与えられた拡張子を指定された charset にマップします。charset
+ は、拡張子 extension を含んでいるファイル名の MIME charset
パラメータです。新しいマッピングは既にある他のマッピングに追加され、同じ拡張子
- extension のためのマッピングを上書きします。
例:
-
- AddLanguage ja .ja
- AddCharset EUC-JP .euc
- AddCharset ISO-2022-JP .jis
- AddCharset SHIFT_JIS .sjis
-
+ AddLanguage ja .ja
+ AddCharset EUC-JP .euc
+ AddCharset ISO-2022-JP .jis
+ AddCharset SHIFT_JIS .sjis
+
この場合、ドキュメント xxxx.ja.jis は charset が
- ISO-2022-JP の日本語のドキュメントとして扱われます
- (xxxx.jis.ja も同様)。AddCharset
+ ISO-2022-JP の日本語のドキュメントとして扱われます
+ (xxxx.jis.ja も同様)。AddCharset
ディレクティブは、ドキュメントが適切に解釈され表示されるように、
ドキュメントの charset の情報をクライアントに教えるために役に立ちます。
また、サーバがクライアントの charset
の優先度に基づいて複数のドキュメントの中からドキュメントを選ぶコンテントネゴシエーションのためにも役に立ちます。
引数 extensionは大文字小文字を区別せず、 +
引数 extensionは大文字小文字を区別せず、 最初のドットはあってもなくても構いません。
| 説明: | ファイル名の拡張子を指定されたエンコーディング にマップする |
|---|---|
| 構文: | AddEncoding
- MIME-enc extension [extension] ... |
| 構文: | AddEncoding MIME-enc extension
+[extension] ... |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
AddEncoding ディレクティブは、
+ 与えられた拡張子を指定されたエンコーディングにマップします。
+ MIME-enc は、拡張子 extension
+ を含んだドキュメントに使用する MIME エンコーディングです。
+ この新しいマッピングは既にある他のマッピングに追加され、
+ 同じ拡張子 extension のためのマッピングを上書きします。
AddEncoding ディレクティブは、与えられた拡張子を指定された - エンコーディングにマップします。MIME-enc は、拡張子 - extension を含んだドキュメントに使用する MIME - エンコーディングです。この新しいマッピングは既にある他のマッピングに追加され、 - 同じ拡張子 extension のためのマッピングを上書きします。例:
- -これは、拡張子 .gz を含むファイル名が x-gzip
- エンコーディングを使ってエンコードされていることと、拡張子 .Z
- を含むファイル名が x-compress
+ これは、拡張子 古いクライアントは 引数 extension は大文字小文字を区別せず、
+ 引数 extension は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。
+ 例
AddEncoding x-gzip .gz
AddEncoding x-compress .Z.gz を含むファイル名が x-gzip
+ エンコーディングを使ってエンコードされていることと、拡張子 .Z
+ を含むファイル名が x-compress
でエンコードされていることを指定します。x-zip と x-compress
@@ -312,40 +303,39 @@ Content-Type: text/plain; charset=ISO-8859-2
なしで指定してください。
| 説明: | ファイル名の拡張子を指定されたハンドラにマップする |
|---|---|
| 構文: | AddHandler
- handler-name extension [extension] ... |
| 構文: | AddHandler handler-name extension
+[extension] ... |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
拡張子 extension が名前にあるファイルは指定された handler-name に扱われます。 +
拡張子 extension が名前にあるファイルは指定された handler-name に扱われます。
この新しいマッピングは既にある他のマッピングに追加され、
- 同じ拡張子 extension
+ 同じ拡張子 extension
のためのマッピングを上書きします。たとえば、拡張子
".cgi" で終わるファイルを CGI
スクリプトとして扱いたいときは、以下の設定をします。
- AddHandler cgi-script .cgi
-
これを srm.conf か httpd.conf ファイルに記述することで、拡張子
- ".cgi" を含むファイルは CGI プログラムとして扱われます。
+
+ AddHandler cgi-script .cgi
+
これを httpd.conf ファイルに記述することで、拡張子
+ ".cgi" のファイルは CGI プログラムとして扱われます。
引数 extension は大文字小文字を区別せず、 +
引数 extension は大文字小文字を区別せず、 最初のドットはあってもなくても構いません。
-SetHandler| 説明: | ファイルの拡張子をクライアントのリクエストを処理する フィルタにマップする |
|---|---|
| 構文: | AddInputFilter
- filter[;filter...] extension
- [extension ...] |
| 構文: | AddInputFilter filter[;filter...]
+extension [extension] ... |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
| 互換性: | AddInputFilter - は Apache 2.0.26 以降のみで使用可能。 |
| 互換性: | 2.0.26 以降で使用可能 |
AddInputFilter はファイルの拡張子 extension を - クライアントのリクエストや POST がサーバに来たときに +
AddInputFilter はファイルの拡張子
+ extension をクライアントのリクエストや POST がサーバに来たときに
処理をするフィルタにマップします。
- これは、SetInputFilter ディレクティブも
+ これは、SetInputFilter ディレクティブも
含め、他の場所で定義されているフィルタに加えられます。
このマッピングはすでにあるものより優先されてマージされ、
- 同じ extension に対する既存のマッピングを上書きします。
複数のフィルタを指定するときは、データを処理する順番にセミコロンで - 繋いで書く必要があります。フィルタと extension との +
複数のフィルタを指定するときは、データを処理する順番にセミコロンで + 繋いで書く必要があります。フィルタと extension との 両方の引数は大文字小文字を区別せず、拡張子の最初のドットは あってもなくても構いません。
+| 説明: | ファイル名を指定された言語にマップ |
|---|---|
| 構文: | AddLanguage
- MIME-lang extension [extension] ... |
| 構文: | AddLanguage MIME-lang extension
+[extension] ... |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
AddLanguage ディレクティブは、与えられた拡張子を指定された - content language にマップします。MIME-lang は、拡張子 - extension を含んでいるファイル名の MIME における言語です。 +
AddLanguage ディレクティブは、与えられた拡張子を指定された
+ content language にマップします。MIME-lang は、拡張子
+ extension を含んでいるファイル名の MIME における言語です。
この新しいマッピングは既にあるマッピングに追加され、同じ拡張子
- extension のためのマッピングを上書きします。
-
例:
+ extension のためのマッピングを上書きします。 -この場合、 複数の言語が同じ拡張子に割り当てられているときは、
最後のものが使用されます。すなわち、次のような場合、 拡張子 " 拡張子 引数 extension は大文字小文字を区別せず、
+ 引数 extension は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。
+ 例
AddEncoding x-compress .Z
- AddLanguage en .en
- AddLanguage fr .fr
+ AddLanguage en .en
+ AddLanguage fr .fr
xxxx.en.Z ドキュメントは compress
された英語のドキュメントとして扱われます (xxxx.Z.en
も同様)。content language はクライアントに通知されますが、
- ブラウザがこの情報を使うことはおそらくありません。AddLanguage
+ ブラウザがこの情報を使うことはおそらくありません。
+ AddLanguage
ディレクティブは、サーバがクライアントの言語の優先度に基づいて複数の
ドキュメントの中からドキュメントを選ぶコンテントネゴシエーションのためにより役に立ちます。
- AddLanguage en .en
- AddLanguage en-uk .en
- AddLanguage en-us .en
-
+ AddLanguage en .en
+ AddLanguage en-uk .en
+ AddLanguage en-us .en
+ .en" のあるドキュメントは
- "en-us" として扱われます。.en のあるドキュメントは
+ en-us として扱われます。参照
mod_negotiation
-
-説明: ファイル名の拡張子をサーバからの応答を処理するフィルタに
マップする
+構文: AddOutputFilter
- filter[;filter...] extension
- [extension ...]構文: AddOutputFilter filter[;filter...]
+extension [extension] ...
-コンテキスト: サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess
+上書き: 上書き: FileInfo ステータス: ベース
-モジュール: mod_mime
+互換性: AddOutputFilter
- は Apache 2.0.26 以降でのみ使用可能。 互換性: 2.0.26 以降で使用可能 AddOutputFilter ディレクティブは
- 拡張子 extension をサーバの応答がクライアントに送られる
+ 拡張子 extension をサーバの応答がクライアントに送られる
前に処理するフィルタを定義します。
- これは SetOutputFilter ディレクティブ
+ これは SetOutputFilter
+ ディレクティブと AddOutputFilterByType ディレクティブ
を含め、他の場所で定義されているフィルタに加えられます。
この新しいマッピングは既にあるマッピングに追加され、同じ拡張子
- extension のためのマッピングを上書きします。
例えば、以下の設定はすべての .shtml ファイルを SSI で処理し、 +
例えば、以下の設定はすべての .shtml ファイルを SSI で処理し、
その出力を mod_deflate を使って圧縮します。
@@ -467,47 +454,49 @@ Content-Type: text/plain; charset=ISO-8859-2
複数のフィルタを指定するときは、データを処理する順番にセミコロンで - 繋いで書く必要があります。フィルタと extension との - 両方の引数は大文字小文字を区別せず、拡張子の最初のドットは + 繋いで書く必要があります。filter と extension の + 両引数は大文字小文字を区別せず、拡張子の最初のドットは あってもなくても構いません。
- +| 説明: | ファイル名の拡張子を指定されたコンテントタイプにマップ |
|---|---|
| 構文: | AddType MIME-type
- extension [extension] ... |
| 構文: | AddType MIME-type extension
+[extension] ... |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
AddType ディレクティブは、 +
AddType ディレクティブは、
与えられた拡張子を指定されたコンテントタイプにマップします。
- MIME-type は拡張子 extension
- を含んだドキュメントに使用する MIME タイプです。
+ MIME-type は拡張子 extension
+ を含んだドキュメントに使用する MIME タイプです。
この新しいマッピングは既にあるマッピングに追加され、同じ拡張子
- extension のためのマッピングを上書きします。
+ extension のためのマッピングを上書きします。
このディレクティブは MIME タイプファイル (TypesConfig ディレクティブを参照)
に無いマッピングを追加するために使用することができます。
例:
- -新しい MIME タイプは、 引数 extension は大文字小文字を区別せず、
+ 引数 extension は大文字小文字を区別せず、
最初のドットはあってもなくても構いません。 DefaultLanguage ディレクティブは、Apache
+ このディレクティブは、バーチャルファイルシステムを使用している際に
@@ -583,83 +570,91 @@ DefaultLanguage en
+ 例
AddType image/gif .gif
TypesConfig
- ファイルを変更するのではなく、AddType
- ディレクティブを使って追加することが推奨されています。TypesConfig
+ ファイルを変更するのではなく、AddType
+ ディレクティブを使って追加することが推奨されています。
+ 参照
DefaultType
-
-
-説明: あるスコープのすべてのファイルを指定された言語に
設定する
+構文: DefaultLanguage
- MIME-lang構文: DefaultLanguage MIME-langコンテキスト: サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess 上書き: FileInfo ステータス: ベース
-モジュール: mod_mime 互換性: DefaultLanguage
- は Apache 1.3.4 のみで使用可能 DefaultLanguage ディレクティブは、Apache
がディレクティブのスコープ (例えば、その時点の
- <Directory> の範囲) にある、明示的な言語拡張子
- (AddLanguage で設定される .fr や
- .de) のない全てのファイルを、指定された
- MIME-lang 言語であるとみなすようにします。
- これにより、すべてのファイル名を変えることなく、
+ <Directory>
+ の範囲) にある、明示的な言語拡張子
+ (AddLanguage で設定される
+ .fr や .de) のない全てのファイルを、指定された
+ MIME-lang 言語であるとみなすようにします。
+ これにより、すべてのファイル名を変えることなく、
ディレクトリがオランダ語のコンテントを含んでいる、
というようなことを指定することができます。
拡張子を使用して言語を指定する方法と違い、
- DefaultLanguage
+ DefaultLanguage
は一つの言語しか指定できないことに注意してください。DefaultLanguage
- ディレクティブが有効でなく、ファイルに AddLanguage
+ DefaultLanguage
+ ディレクティブが有効でなく、ファイルに
+ AddLanguage
で設定された言語の拡張子がないときは、
ファイルには言語属性がないとみなされます。例
-DefaultLanguage en
-例
+ DefaultLanguage en
+ 参照
@@ -560,9 +546,10 @@ DefaultLanguage en
ModMimeUsePathInfo ディレクティブ
-
+説明: path_info コンポーネントをファイル名の一部として扱うように mod_mime
-に通知する 説明: path_info コンポーネントをファイル名の一部として扱うように
+mod_mime に通知する
+構文: ModMimeUsePathInfo On|Offデフォルト: ModMimeUsePathInfo Offコンテキスト: ディレクトリ ステータス: ベース
@@ -570,9 +557,9 @@ DefaultLanguage en
モジュール: mod_mime ModMimeUsePathInfo ディレクティブは、
mod_mime の持つディレクティブを
- リクエストに適用させるために、ファイル名と path_info URL
+ リクエストに適用させるために、ファイル名と path_info URL
コンポーネントを結合させるために使用します。
- デフォルトでは「 off 」で、path_info
+ デフォルトでは「 Off 」で、path_info
コンポーネントは無視されます。/bar が存在して (foo.shtml は存在しない)
- ModMimeUsePathInfo が有効であるとして、
+ ModMimeUsePathInfo が On であるとして、
/bar/foo.shtml に対するリクエストを発行した場合、
mod_mime は入ってきたリクエストを
/bar/foo.shtml として扱い、
AddOutputFileter INCLUDES .shtml のようなディレクティブは
- INCLUDES フィルタをリクエストに付加させます。
+ INCLUDES フィルタをリクエストに付加させます。
ModMimeUsePathInfo が設定されなければ、
- icludes フィルタは付加されません。INCLUDES フィルタは付加されません。
| 説明: | MultiViews でのマッチングの検索に含ませる ファイルのタイプを指定する |
|---|---|
| 構文: | MultiviewsMatch
- [NegotiatedOnly] [Handlers] [Filters] [Any] |
| 構文: | MultiviewsMatch Any|NegotiatedOnly|Filters|Handlers
+[Handlers|Filters] |
| デフォルト: | MultiviewsMatch NegotiatedOnly |
| コンテキスト: | サーバ設定ファイル, バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
| 互換性: | Apache 2.0.26 以降 |
| 互換性: | 2.0.26 以降で使用可能 |
MultiviewsMatch を使用することで、
mod_negotiation の
Multiviews に 3 種類の異なる挙動をさせることができます。
- Multiviews を使用すると、ファイル (例 index.html) に対するリクエストに対して、
- ネゴシエーションする拡張子がベースに付いたもの
- (index.html.en, index.html.fr や index.html.gz)
+ Multiviews を使用すると、ファイル (例 index.html)
+ に対するリクエストに対して、ネゴシエーションする拡張子がベースに付いたもの
+ (index.html.en, index.html.fr や
+ index.html.gz)
をマッチさせることができます。
NegotiatedOnly オプションでは、ベース名に続く拡張子全てが +
NegotiatedOnly オプションでは、ベース名に続く拡張子全てが
コンテントネゴシエーションで mod_mime
- が認識する拡張子 (例 文字セット、コンテントタイプ、言語やエンコーディング)
- に関連付けられていなければなりません。これは副作用の最も少ない
- 最も厳密な実装で、デフォルトになっています。
ハンドラとフィルタの両方もしくは片方と関連付けられた拡張子を含めるには、
- MultiviewsMatch ディレクティブに Handler,
- Filters またはその両方のオプションをセットします。
+ MultiviewsMatch ディレクティブに Handlers,
+ Filters またはその両方のオプションをセットします。
もし他の条件が同じであれば、最も小さいファイルが送信されます。
例えば、500 文字の index.html.cgi と 1000 バイトの
index.html.pl であれば、.cgi
のファイルが優先されます。.asis ファイルを利用しているユーザは、
- .asis ファイルが asis ハンドラに関連付けられているときには、
- Handler オプションの使用を好むでしょう。
.asis ファイルが asis-handler に関連付けられているときには、
+ ハンドラオプションの使用を好むでしょう。
最後に、mod_mime が認識しない拡張子であろうとも、
- どんな拡張子でもマッチさせるようにすることができます。この挙動は Apache 1.3 の
- ときと同じもので、予期しない動作、例えば .old や
+ どんな拡張子でもマッチさせる Any が使用できます。
+ この挙動は Apache 1.3 のときと同じもので、予期しない動作、例えば .old や
.bak ファイルといったウェブマスタが送信を意図していない
ファイルを送信する、といった動作を行なう可能性があります。
例えば次の設定では、ハンドラやフィルタが Multiviews に参加することが できますし、未知のファイルは除外することができます。
-
-MultiviewsMatch Handlers Filters
-
+ MultiviewsMatch Handlers Filters
+
| 説明: | ファイルの拡張子に関連付けられたすべての文字セット + |
|---|---|
| 説明: | ファイルの拡張子に関連付けられたすべての文字セット を解除する |
| 構文: | RemoveCharset
- extension [extension] ... |
| コンテキスト: | ディレクトリ, .htaccess |
| 構文: | RemoveCharset extension [extension]
+... |
| コンテキスト: | バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
| 互換性: | RemoveCharset は Apache 2.0.24 以降で使用可能 |
| 互換性: | 2.0.24 以降で使用可能 |
RemoveCharset ディレクティブ
は与えられた拡張子に関連付けられた文字セットを取り消します。
@@ -667,13 +662,12 @@ MultiviewsMatch Handlers Filters
ファイルが親ディレクトリやサーバの設定ファイル
から継承した関連付けを取り消すことができます。例えば:
extension は大文字小文字を区別しません。 +
extension は大文字小文字を区別しません。 また、最初のドットはあってもなくても構いません。
-
-RemoveCharset .html .shtml
-
+ RemoveCharset .html .shtml
+
| 説明: | ファイルの拡張子に関連付けられたすべてのコンテントエンコーディング を解除する |
|---|---|
| 構文: | RemoveEncoding
- extension [extension] ... |
| 構文: | RemoveEncoding extension [extension]
+... |
| コンテキスト: | バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
| 互換性: | RemoveEncoding - は Apache 1.3.13 のみで使用可能 |
RemoveEncoding ディレクティブは、
与えられた拡張子に関連付けられたエンコーディングを取り消します。
これにより、サブディレクトリにある .htaccess
ファイルが親ディレクトリやサーバの設定ファイルから継承した関連付けを
- 取り消すことができます。例えば:
-AddEncoding x-gzip .gz -AddType text/plain .asc -<Files *.gz.asc> - RemoveEncoding .gz -</Files> -
+ AddEncoding x-gzip .gz
+ AddType text/plain .asc
+ <Files *.gz.asc>
+
+ RemoveEncoding .gz
+
+ </Files>
+
これは、foo.gz は gzip
でエンコードされていることを指定しますが、foo.gz.asc
はエンコードされていないプレーンテキストの
- ファイルであるということを指定します。
注意: RemoveEncoding は - AddEncoding - ディレクティブの後で処理されますので、 - 同じディレクトリの設定中に両方が現れると、 - 後者の効果が打ち消される可能性があります。
+ ファイルであるということを指定します。 + +RemoveEncoding は
+ AddEncoding
+ ディレクティブの後で処理されますので、
+ 同じディレクトリの設定中に両方が現れると、
+ 後者の効果が打ち消される可能性があります。
extension は大文字小文字を区別しません。 +
extension は大文字小文字を区別しません。 また、最初のドットはあってもなくても構いません。
| 説明: | ファイルの拡張子に関連付けられたすべてのハンドラを 解除する |
|---|---|
| 構文: | RemoveHandler
- extension [extension] ... |
| 構文: | RemoveHandler extension [extension]
+... |
| コンテキスト: | バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
| 互換性: | RemoveHandler は - Apache 1.3.4 以降でのみ使用可能 |
RemoveHandler ディレクティブ
+
RemoveHandler ディレクティブ
は与えられた拡張子に関連付けられたハンドラを取り消します。
これにより、サブディレクトリにある .htaccess
ファイルが親ディレクトリやサーバの設定ファイル
から継承した関連付けを取り消すことができます。たとえば:
-AddHandler server-parsed .html
-
+ AddHandler server-parsed .html
+
-RemoveHandler .html
-
+ RemoveHandler .html
+
これは、/foo/bar ディレクトリの .html
- ファイルは SSI ではなく (mod_include モジュール参照)、
+ ファイルは SSI (mod_include モジュール参照) ではなく、
普通のファイルとして扱われるようにする効果があります。
extension は大文字小文字を区別しません。 +
extension は大文字小文字を区別しません。 また、最初のドットはあってもなくても構いません。
RemoveInputFilter ディレクティブは
指定されたファイル拡張子に関連付けられた入力フィルタを解除します。
- これを利用することで、親ディレクトリやサーバ設定ファイルから
+ これを利用することで、親ディレクトリやサーバ設定ファイルから
継承した関連付けを サブディレクトリ内において
.htaccess ファイルで取り消すことができます。
extension 引数は大文字小文字を区別しません。また、 +
extension 引数は大文字小文字を区別しません。また、 最初のドットはあってもなくても構いません。
- +| 説明: | ファイル拡張子に関連付けられた言語を解除する |
|---|---|
| 構文: | RemoveLanguage
- extension [extension] ... |
| 構文: | RemoveLanguage extension [extension]
+... |
| コンテキスト: | バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
| 互換性: | Apache 2.0.24 以降 |
| 互換性: | 2.0.24 以降で使用可能 |
RemoveLanguage ディレクティブは
指定されたファイル拡張子に関連付けられた言語を解除します。
これを利用することで、親ディレクトリやサーバ設定ファイルから
継承した関連付けを サブディレクトリ内において
.htaccess ファイルで取り消すことができます。
extension 引数は大文字小文字を区別しません。また、 +
extension 引数は大文字小文字を区別しません。また、 最初のドットはついてもつかなくても構いません。
| 説明: | ファイル拡張子に関連付けられた出力フィルタを解除する |
|---|---|
| 構文: | RemoveOutputFilter
- extension [extension] ... |
| 構文: | RemoveOutputFilter extension [extension]
+... |
| コンテキスト: | バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
| 互換性: | RemoveOutputFilter は Apache -2.0.26 以降でのみ使用可能 |
RemoveOutputFilter ディレクティブは
指定されたファイル拡張子に関連付けられた出力フィルタを解除します。
これを利用することで、親ディレクトリやサーバ設定ファイルから
継承した関連付けを サブディレクトリ内において
.htaccess ファイルで取り消すことができます。
extension は大文字小文字を区別しません。 +
extension は大文字小文字を区別しません。 また、最初のドットはあってもなくても構いません。
- RemoveOutputFilter shtml
+ RemoveOutputFilter shtml
AddOutputFilter| 説明: | ファイルの拡張子と関連付けられたコンテントタイプを 解除する |
|---|---|
| 構文: | RemoveType
- extension [extension] ... |
| 構文: | RemoveType extension [extension]
+... |
| コンテキスト: | バーチャルホスト, ディレクトリ, .htaccess |
| 上書き: | |
| 上書き: | FileInfo |
| ステータス: | ベース |
| モジュール: | mod_mime |
| 互換性: | RemoveType は - Apache 1.3.13 以降でのみ使用可能。 |
RemoveType ディレクティブは与えられた拡張子の
MIME タイプの関連付けを取り消します。これにより、
サブディレクトリにある .htaccess
ファイルが親ディレクトリやサーバの設定ファイルから継承した
関連付けを取り消すことができます。たとえば:
-RemoveType .cgi
-
+ RemoveType .cgi
+
これは /foo/ ディレクトリ以下の .cgi
- ファイルの特別な扱いを取り消します。ファイルはデフォルトタイプとして扱われます。
注意: RemoveType ディレクティブは
- AddType ディレクティブの後に処理されますので、
- 両方が同じディレクトリの設定中に現れた場合、
- 後者の効果が打ち消される可能性があります。
DefaultType として扱われます。
+
+ RemoveType ディレクティブは
+ AddType
+ ディレクティブの後に処理されますので、
+ 両方が同じディレクトリの設定中に現れた場合、
+ 後者の効果が打ち消される可能性があります。
extension は大文字小文字を区別しません。 +
extension は大文字小文字を区別しません。 また、最初のドットはあってもなくても構いません。
| 説明: | mime.types ファイルの位置 |
|---|---|
| 構文: | TypesConfig file-path |
| 構文: | TypesConfig file-path |
| デフォルト: | TypesConfig conf/mime.types |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | ベース |
| モジュール: | mod_mime |
TypesConfig ディレクティブは、MIME - タイプ設定ファイルの位置を設定します。filename は - ServerRoot からの相対パスです。 +
TypesConfig ディレクティブは、MIME
+ タイプ設定ファイルの位置を設定します。filename は
+ ServerRoot からの相対パスです。
このファイルはファイルの拡張子からコンテントタイプへの
デフォルトのマッピングを設定します。
ほとんどの管理者は、よく使われるファイル名の拡張子を
IANA に登録されたコンテントタイプに関連付けている、
Apache の mime.types ファイルを使います。
- 現在の一覧は
- http://www.isi.edu/in-notes/iana/assignments/media-types/media-types
+ 現在の一覧は http://www.isi.edu/in-notes/iana/assignments/media-types/media-types
で管理されています。これは、主要なメディアタイプの定義を提供して、
必要ところを AddType で
上書きする、という方法で httpd.conf を簡略にします。
@@ -904,20 +896,22 @@ RemoveType .cgi
ディレクティブの引数と同じ形式の行で構成されます。
- MIME-type extension extension ...
+ MIME-type [extension] ...
拡張子の大文字小文字は区別されません。空行やハッシュ (`#') で始まる行は無視されます。
-mime.types
+ ファイルに新たなものを登録するように
+ Apache HTTP Server Project にリクエストしないでください。
+ category/x-subtype のリクエストは自動的に却下されますし、
+ 言語や文字セットの名前空間で既に使用されていて、衝突の可能性のある
+ 2 文字の拡張子も却下されます。
+ Remote_Addr -
リクエストを行なっているクライアントの IP アドレスServer_Addr -
+ リクエストを受け取ったサーバの IP アドレス
+ (2.0.43 以降のみ)Remote_User -
認証されたユーザ名 (もしあれば)varname かvarname!varname か!varnamevarname=valueのどれかの形式になります。
-最初の形式では、値は "1" に設定されます。二つ目は、
- もし値が定義されていればそれを取り除き、三つ目は変数を
- value として与えられた値に設定します。
最初の形式では、値は "1" に設定されます。
+ 二つ目はもし値が定義されていればそれを取り除きます。
+ 三つ目は変数を value の与えられた値に設定します。
+ 2.1 以降では、regex 内に $1..$9
+ が存在すればそれを認識し、regex の対応する丸括弧で囲まれた部分で
+ 置換します。
このディレクティブは綴り用のモジュールを使用するかどうかを
決めます。使用時には、以下のことを覚えておいてください DAV が有効なディレクトリでは
+
diff --git a/docs/manual/mod/mod_speling.html.ja.jis b/docs/manual/mod/mod_speling.html.ja.jis
index cbf5d29b548..094afb5beac 100644
--- a/docs/manual/mod/mod_speling.html.ja.jis
+++ b/docs/manual/mod/mod_speling.html.ja.jis
@@ -83,7 +83,6 @@
ディレクティブは「サーバ」と「バーチャルホスト」コンテキストでのみ
使用可能でした
-
mod_speling は有効にしないでください。
+ 新しく作成したリソース名を既に存在するファイル名に「修正」しようとする、
+ 例えば、新規ドキュメント doc43.html が既に存在する
+ doc34.html にリダイレクトされて、
+ 期待とは違う挙動になるからです。
このモジュールにディレクティブはありません。
理論
理論まずはじめに、Apache サーバが Unix diff --git a/docs/manual/mod/mpm_common.html.ja.jis b/docs/manual/mod/mpm_common.html.ja.jis index 6adc8820e04..307c9a3270e 100644 --- a/docs/manual/mod/mpm_common.html.ja.jis +++ b/docs/manual/mod/mpm_common.html.ja.jis @@ -31,6 +31,7 @@
AcceptMutex
CoreDumpDirectory
Group
Listen
MaxMemFree
MaxRequestsPerChild
MaxSpareThreads
MaxThreadsPerChild
MinSpareThreads
NumServers
PidFile
ScoreBoardFile
SendBufferSize| 説明: | 複数の子プロセスがネットワークソケットでリクエストを +accept しようとしているときに、Apache がそれらの子プロセスを直列化するために +使う方法 |
|---|---|
| 構文: | AcceptMutex default|method |
| デフォルト: | AcceptMutex default |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | leader, perchild, prefork, threadpool, worker |
AcceptMutex ディレクティブは、
+ ネットワークソケットのリクエストを accept しようとしている複数の子プロセスを
+ Apache が直列化するために使う方法を設定します。
+ Apache 2.0 以前は、このメソッドはコンパイル時にのみ選択できました。
+ 最適な方法は、アーキテクチャやプラットホームに大きく依存します。
+ 詳細に関しては、性能のチューニング
+ ドキュメントをご覧下さい。
このディレクティブが Default
+ に設定されていれば、コンパイル時に選択されたデフォルト値が使われます。
+ 他の使用可能なメソッドの一覧は下にあります。
+ 全てのメソッドが全てのプラットホームで使用可能であるわけではない、
+ ということに注意してください。
+ 使用可能でないメソッドが指定された場合は、
+ 使用可能なメソッドの一覧を含んだメッセージが
+ エラーログに出力されます。
flockLockFile
+ ディレクティブで定義したファイルのロックに、
+ flock(2) システムコールを使います。fcntlLockFile
+ ディレクティブで定義したファイルのロックに、
+ fcntl(2) システムコールを使います。posixsempthreadsysvsemコンパイル時にシステムのデフォルトに選ばれたものが何かを見たい場合は、
+ LogLevel を debug
+ に設定するとよいでしょう。デフォルトの AcceptMutex
+ が ErrorLog に書き込まれます。
ほとんどのシステムにおいては、pthread オプションが
+ 選ばれていると、子プロセスが ApacheCntl mutex を
+ 保持しているときに異常終了した場合、サーバはリクエストへの応答を
+ 停止してしまいます。これが発生した場合は、サーバを復旧させるためには
+ 手動で再起動させる必要があります。
Solaris は例外で、Apache も使用している、子プロセスが mutex を + 保持して異常終了した後に mutex を復旧させるための機構を提供をしています。
+御使用のシステムが pthread_mutexattr_setrobust_np() 関数を
+ 実装している場合は、pthread オプションを安全に使用できる
+ 可能性があります。
| デフォルト: | デフォルトの設定は説明文を読んでください |
|---|---|
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | worker, perchild, prefork, mpm_winnt |
| モジュール: | beos, leader, mpm_winnt, perchild, prefork, threadpool, worker |
Apache がコアダンプする前に移動を試みるディレクトリを制御します。
デフォルト値は ServerRoot
ディレクトリですが、このディレクトリはサーバの実行されているユーザ権限で
@@ -74,6 +143,15 @@
デバッグのためにコアダンプが必要であれば、
このディレクティブを使って他の位置にコアダンプを書き出すようにできます。
Apache が root として起動されて、別のユーザの権限に以降した場合は
+ Linux のカーネルはディレクトリがプロセスの権限で書き込み可能な場合でさえも
+ コアダンプを無効にします。Apache (2.0.46 以降) は
+ Linux 2.4 以降ではコアダンプを行なうように再指定しますが、それは
+ CoreDumpDirectory を明示的に設定したときに
+ 限ります。
Group unix-groupGroup #-1worker, perchild, preforkbeos, leader, mpmt_os2, perchild, prefork, threadpool, workerGroup ディレクティブで、
リクエストに応答する際に所属しておくグループを設定します。
- このディレクティブを使用するためには、スタンドアロン型の
- サーバは最初に root 権限で起動されている必要があります。
+ このディレクティブを使用するためには、
+ サーバは最初に root 権限で起動されている必要があります。
+ 非 root ユーザでサーバを起動した場合は、指定したグループに変化できずに、
+ 結果的に起動したユーザの属するグループで実行されることになります。
unix-group は次のうちのいずれかです:
# に続いてグループ番号
+ Group www-group
+
サーバを実行するために特定の新しいグループを設定することを
お薦めします。nobody を使用する管理者もいますが、
- これは常に可能であったり望ましい訳ではありません。
Group www-group
注意: サーバ開始を非 root ユーザで行った場合は、 - 指定されたグループに変わることができなくて、代わりに - 起動を行ったユーザの所属するグループとして実行され続けます。
+正確にどんなことをやっているのか、その危険性を知らないで、
+ Group (や User) を
+ root に 設定しないでください。
特記事項: このディレクティブを <VirtualHost> +
特記事項: このディレクティブを
+ <VirtualHost>
で使用することはサポートされなくなりました。Apache 2.0 で
- suEXEC ラッパーを実現したい場合は、
+ suexec を設定したい場合は、
SuexecUserGroup
- を使用してください。
- セキュリティ: セキュリティ上の注意点に関しては、
- User
- をご覧下さい。
Listen [IP-address:]portnumberworker, perchild, prefork, mpm_winntbeos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, workerListen ディレクティブは Apache
が特定の IP アドレスやポート番号だけを listen するように指定します。
デフォルトでは全ての IP インターフェースのリクエストに応答します。
- Listen ディレクティブは現在では必須のディレクティブとなりました。
+ Listen ディレクティブは
+ 現在は必須のディレクティブとなりました。
もし設定ファイルになければ、サーバは起動に失敗します。
- これは以前のバージョンの Apache から変更のあった部分です。
Listen ディレクティブでは、特定のポートあるいは +
Listen ディレクティブでは、特定のポートあるいは
アドレスとポートの組み合わせから入ってくるリクエストに対して
応答するように指定します。
もしポート番号だけが指定された場合は、サーバは全インターフェースの
@@ -146,7 +236,7 @@
します。
複数のアドレスとポートに対して listen するように、
- 複数の Listen ディレクティブを使うこともできます。
+ 複数の Listen ディレクティブを使うこともできます。
サーバは列挙されたアドレスとポート全てからのリクエストに対して
応答します。
ListenBacklog 511worker, perchild, prefork, mpm_winntbeos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker保留状態のコネクションのキューの最大長です。 +
保留状態のコネクションのキューの最大長です。 一般的には調整する必要はありませんし、調整は望ましくありません。 しかし、TCP SYN フラッドアタックの状況下におかれる場合に、 増やした方が望ましいシステムもあります。 @@ -212,27 +302,31 @@
LockFile logs/accept.lockworker, perchild, preforkleader, perchild, prefork, threadpool, workerUSE_FCNTL_SERIALIZED_ACCEPT または USE_FLOCK_SERIALIZED_ACCEPT
- のいずれかを使って Apache をコンパイルした際に使用することになる、
- ロックファイルのパスを LockFile
- は設定します。
- このディレクティブは通常はデフォルト値のままにしておくべきです。
- これを変更する際の主な理由は、logs
- ディレクトリが NFS マウントされたものであるという理由です。
- ロックファイルはローカルディスクに保存しなければならない
- からです。
- メインサーバプロセスの PID が自動的にファイル名に付加されます。
/var/tmp
- といった、誰でも書き込めるディレクトリにファイルを
- 置かない方がよいです。なぜなら、サーバが起動時に作成する
- ロックファイルの作成自体を妨害することによって、
- 誰でもサービス拒否アタックを引き起こすことができるからです。
AcceptMutex
+ が fcntl や flock
+ に設定されて使用されている場合に、使用されるロックファイルへのパスを
+ LockFile ディレクティブで設定します。
+ このディレクティブは通常はそのままにしておきます。
+ 主に logs ディレクトリが NFS
+ でマウントされている場合などに値を変えます。
+ なぜならロックファイルはローカルディスクに
+ 保存されなければならないからです。
+ メインサーバプロセスの PID がファイル名に自動的に付加されます。
/var/tmp
+ といった、誰でも書き込めるディレクトリにファイルを
+ 置かない方がよいです。なぜなら、サーバが起動時に作成する
+ ロックファイルの作成自体を妨害することによって、
+ 誰でもサービス拒否アタックを引き起こすことができるからです。
AcceptMutexMaxClients number詳細は使用法をご覧下さい。worker, preforkbeos, leader, prefork, threadpool, workerMaxClients ディレクティブは、
応答することのできる同時リクエスト数を設定します。
@@ -252,20 +347,23 @@
他のリクエストの最後まで達して子プロセスが空くと、
次のコネクションに応答します。
スレッドを用いないサーバ (すなわち prefork)
+
スレッドを用いないサーバ (すなわち prefork)
では、MaxClients
は、リクエストに応答するために起動される
子プロセスの最大数となります。
- デフォルト値は 256 で、これを増加させたい場合は、
+ デフォルト値は 256 で、これを増加させたい場合は、
ServerLimit
の値も増加させる必要があります。
スレッドを用いるサーバ (すなわち worker)
+
スレッドを用いるサーバや、ハイブリッドサーバ (すなわち
+ beos worker)
では、MaxClients
は、クライアントに応答できるスレッドの総数を制限します。
- デフォルト値は
- ThreadsPerChild
- を 16 倍した値になります。MaxClients
+ beos でのデフォルト値は 50 です。
+ ハイブリッド MPM でのデフォルト値は 16
+ ServerLimit
+ の 25 倍 (ThreadsPerChild) です。
+ MaxClients
を 16 プロセス以上必要な値まで増加させたい場合は、
ServerLimit
も増加させる必要があります。
| 説明: | 主メモリアロケータが free() を呼ばずに保持し続けられるメモリの -最大量 |
|---|---|
| 構文: | MaxMemFree number |
| 説明: | free() が呼ばれない限り、 +主メモリアロケータが保持し続けられるメモリの最大量 |
| 構文: | MaxMemFree KBytes |
| デフォルト: | MaxMemFree 0 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | worker, prefork, mpm_netware |
| モジュール: | beos, leader, mpm_netware, prefork, threadpool, worker |
MaxMemFree ディレクティブは free() を呼ばずに
+
MaxMemFree ディレクティブは
+ free() が呼ばれない限り、
主アロケータが保持できる空のメモリの最大値をキロバイト単位で設定します。
設定されていないか、零に設定されているときは、無制限になります。
MaxRequestsPerChild 10000worker, perchild, prefork, mpm_winntleader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, workerMaxRequestsPerChild ディレクティブは、
個々の子サーバプロセスが扱うことのできるリクエストの制限数を
設定します。MaxRequestsPerChild
個のリクエストの後に、子プロセスは終了します。
- MaxRequestsPerChild が 0
+ MaxRequestsPerChild が 0
に設定されている場合は、プロセスは期限切れにより終了することはありません。
mpm_netware と mpm_winnt
+ でのデフォルト値は 0 です。
MaxRequestsPerChild
を非ゼロに制限することには、二つの利点があります:
KeepAlive リクエストの場合は、 - 一つ目のリクエストだけがこの制限に該当します。 - 実効的には、一つの子プロセスあたりのコネクション数を - 制限するように挙動が変化します。
+KeepAlive リクエストの場合は、
+ 一つ目のリクエストだけがこの制限に該当します。
+ 実効的には、一つの子プロセスあたりのコネクション数を
+ 制限するように挙動が変化します。
| 説明: | アイドルスレッドの最大数 |
|---|---|
| 構文: | MaxSpareThreads number |
| デフォルト: | 詳細は使用法をご覧下さい。 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | mpm_netware, perchild, worker |
| モジュール: | beos, leader, mpm_netware, mpmt_os2, perchild, threadpool, worker |
アイドルなスレッドの最大数です。異なる MPM ではそれぞれ、 このディレクティブは異なる取り扱われ方をされます。
@@ -338,10 +444,11 @@ デフォルトはMaxSpareThreads 10 です。
この MPM はアイドルスレッド数を、それぞれの子プロセスごとに監視します。
子プロセスにアイドルスレッドが多すぎる場合は、
- サーバはその子プロセスに含まれるスレッドを終了し始めます。
+ サーバはその子プロセスに含まれるスレッドを終了し始めます。
- worker では、
- デフォルトは MaxSpareThreads 500 です。
+
worker, leader,
+ threadpool では、
+ デフォルトは MaxSpareThreads 250 です。
この MPM はアイドルスレッド数をサーバ全体で監視します。
サーバでアイドルスレッド数が多すぎる場合は、
この数字よりも少ない数になるまで子プロセスを終了します。
beos と mpmt_os2 は
+ mpm_netware と似た挙動をします。
+ beos でのデフォルト値は MaxSpareThreads 50
+ です。mpmt_os2 でのデフォルト値は 10
+ です。
MaxSpareThreads の取る値には制限があります。
+ Apache は次の規則に従って自動的に補正します。
perchild では、
+ MaxSpareThreads が
+ ThreadLimit
+ と等しいかそれ以下である必要があります。mpm_netware は
+ MinSpareThreads
+ よりも大きい必要があります。leader, threadpool,
+ worker では、
+ MinSpareThreads と
+ ThreadsPerChild
+ で決まる総和と等しいか大きい必要があります。| 説明: | 子プロセス毎のスレッド数の最大数 |
|---|---|
| 構文: | MaxThreadsPerChild number |
| デフォルト: | MaxThreadsPerChild 64 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | worker, perchild |
子プロセス毎に含まれるスレッド数の最大値です。
- 子プロセス毎にスレッド数変化する MPM では、
- このディレクティブは、子プロセス内に生成されるスレッド数の
- 最大値を設定します。デフォルト値よりも大きい値にするのであれば、
- コンパイル時に定義された HARD_THREAD_LIMIT
- を変更して、サーバを再コンパイルする必要があります。
MinSpareServers number詳細は使用方法をご覧下さい。mpm_netware, perchild, workerbeos, leader, mpm_netware, mpmt_os2, perchild, threadpool, workerリクエストに応答するスレッド数の最小値です。 +
リクエストに応答するスレッド数の最小値です。 異なる MPM ではそれぞれ、 このディレクティブは異なる取り扱われ方をします。
@@ -394,10 +510,15 @@ デフォルトはMinSpareThreads 5 で、
アイドルスレッド数を子プロセス毎に監視します。
もし子プロセスに十分な数のスレッドがなければ、
- サーバはその子プロセスに新しいスレッドを作り始めます。
-
- worker では、
- デフォルトは MinSpareThreads 250 で、
+ サーバはその子プロセスに新しいスレッドを作り始めます。
+ ですから、NumServers
+ を 10 に、MinSpareThreads を
+ 5 にした場合は、最小でも 50 のアイドルスレッドが
+ システム上にあることになります。
worker, leader,
+ threadpool では、
+ デフォルトは MinSpareThreads 75 で、
アイドルスレッド数をサーバ全体で監視します。
もしサーバに十分な数のアイドルスレッドがなければ、
アイドルスレッド数がこの数よりも大きくなるまで
@@ -407,28 +528,17 @@
デフォルトは MinSpareThreads 10 で、
シングルプロセス MPM ですので、サーバ全体で管理されます。
beos と mpmt_os2 は、
+ mpm_netwareによく似ています。
+ beos でのデフォルトは MinSpareThreads 1
+ です。mpmt_os2 でのデフォルトは
+ 5 です。
| 説明: | 同時に起動している子プロセスの総数 |
|---|---|
| 構文: | NumServers number |
| デフォルト: | NumServers 2 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | perchild |
同時に起動している子プロセスの数です。 - このディレクティブを使用する MPM は動的に新しい子プロセスを - 生成することは行わないので、サイト全体に来るリクエスト全てを - 十分扱える程度に大きな数に設定しておく必要があります。
-PidFile filenamePidFile logs/httpd.pidworker, perchild, prefork, mpm_winntbeos, leader, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, workerPidFile ディレクティブで、
デーモンのプロセス ID をサーバが記録するファイルを設定します。
- もしファイル名がスラッシュ (/) で始まらない場合は、
+ ファイル名が絶対パスでない場合は、
ServerRoot
からの相対的なものとして扱われます。
サーバが ErrorLog
- や TransferLog を閉じて開き直したり、設定ファイルを
+ や TransferLog
+ を閉じて開き直したり、設定ファイルを
再読込したりさせるために、サーバにシグナルを送ることができると
便利なことがあります。
- これは SIGHUP (kill -1) シグナルを PidFile
+ これは SIGHUP (kill -1) シグナルを PidFile
に書かれているプロセス ID に送ることでできます。
PidFile には、ログファイルの設置位置や +
PidFile には、ログファイルの設置位置や
セキュリティ
と全く同じ注意点があります。
Apache 2 では、 + apachectl + スクリプトのみを使用してサーバの (再) 起動や停止を + 行なうことを推奨しています。
+ScoreBoardFile logs/apache_statusworker, perchild, preforkbeos, leader, mpm_winnt, perchild, prefork, threadpool, workerApache は親プロセスと子プロセス間の通信にスコアボードを用います。 この通信機能にファイルを必要とするアーキテクチャもあります。 ファイルが指定されていなければ、Apache はまずメモリ上 - (匿名共有メモリ) にスコアボードを作ろうとし、それが失敗すると + (匿名共有メモリ) にスコアボードを作ろうとし、それが失敗すると ディスク上にファイル (ファイルベースの共有メモリ) を作ろうとします。 このディレクティブを指定すると、Apache は必ずディスクにファイルを生成します。
@@ -505,27 +623,30 @@| 説明: | TCP バッファサイズ |
|---|---|
| 構文: | SendBufferSize bytes |
| デフォルト: | SendBufferSize 0 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | worker, perchild, prefork, mpm_winnt |
| モジュール: | beos, leader, mpm_netware, mpm_winnt, mpmt_os2, perchild, prefork, threadpool, worker |
サーバは TCP バッファサイズを指定されたバイト数に設定します。 高速で高レイテンシな環境で (例 100ms 程度、大陸横断高速通信路など) 古い一般的な OS のデフォルト値を増やすのに非常に便利です。
+0にした場合、OS のデフォルト値が使用されます。
| 説明: | 設定可能なサーバプロセス数の上限 |
|---|---|
| 構文: | ServerLimit number |
| デフォルト: | ServerLimit 256 (prefork), ServerLimit 16 (worker) |
| デフォルト: | 詳細は使用法を参照 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | worker, prefork |
| モジュール: | leader, perchild, prefork, threadpool, worker |
prefork MPM の場合は、このディレクティブは
+
prefork MPM の場合は、このディレクティブは
Apache プロセス稼働中における
MaxClients
に設定可能な上限値を設定することになります
@@ -533,7 +654,7 @@
worker MPM の場合には、このディレクティブは
ThreadLimit
ディレクティブと組み合わせて、
- Apache プロセス稼働中における
+ Apache プロセス稼働中における
MaxClients
に設定可能な上限値を設定することになります。
再起動中にこのディレクティブを変更しても無視されますが、
@@ -550,50 +671,67 @@
prefork MPM では、
MaxClients
- を 256 よりも大きな値に設定する必要がある時にだけ使用してください。
+ を 256 (デフォルト) よりも大きな値に設定する必要がある時にだけ使用してください。
希望の MaxClients
数とくらべて、必要以上に大きな値を指定することは避けてください。
worker MPM では、
+
worker, leader,
+ threadpool MPM では、
MaxClients と
ThreadsPerChild
- の設定で 16 サーバプロセス以上必要になる場合にのみ使用してください。
- 希望の
+ の設定で 16 サーバプロセス (デフォルト)
+ 以上必要になる場合にのみ使用してください。希望の
MaxClients と
ThreadsPerChild
とくらべて、必要となるサーバプロセス数以上に大きな値を
設定することは避けてください。
perchild MPM では、
+ NumServers を 8 (デフォルト)
+ よろいも大きな値に設定する必要があるときにのみ使用してください。
ServerLimit 20000 という制限付きでコンパイルされています。
+ これはスペルミスによって誤って酷い状況になるのを、
+ 回避するための処置です。
| 説明: | 起動時に生成される子サーバプロセスの数 |
|---|---|
| 構文: | StartServers number |
| デフォルト: | StartServers 5 |
| デフォルト: | 詳細は使用方法を参照 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | worker |
| モジュール: | leader, mpmt_os2, prefork, threadpool, worker |
StartServers ディレクティブは、
起動時に生成される子サーバプロセスの数を設定します。
- プロセス数は負荷に応じて動的に制御されますので、
+ プロセス数は負荷に応じて動的に制御されますので、
通常はこの値を調整する理由はあまりないでしょう。
デフォルト値は MPM ごとに異なります。
+ leader, threadpool,
+ worker は StartServers 3 です。
+ prefork は 5 で、
+ mpmt_os2 は 2 です。
| 説明: | 起動時に生成されるスレッドの数 |
|---|---|
| 構文: | StartThreads number |
| デフォルト: | 詳細は使用方法を参照 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | mpm_netware, perchild |
| モジュール: | beos, mpm_netware, perchild |
起動時に生成されるスレッドの数です。 スレッド数は負荷に応じて動的に制御されますので、 @@ -608,6 +746,9 @@ この場合プロセスは一つしかないので、 起動時にリクエストに応答するスレッドの総数となります。
+beos でのデフォルトは StartThreads
+ 10 です。
+ また、起動時に生成されるスレッドの総数にも反映されます。
ThreadLimit number詳細は使用方法を参照mpm_winnt, workerleader, mpm_winnt, perchild, threadpool, workermpm_winnt
+で利用可能このディレクティブは Apache プロセス稼働中における @@ -643,9 +787,16 @@
ThreadLimit のデフォルト値は
- worker のときは 64 で、mpm_winnt のときは
- 1920 です。
mpm_winnt のときは 1920 で、
+ 他の場合は 64 です。
+
+ ThreadLimit 20000 (mpm_winnt
+ の場合は ThreadLimit 15000 )
+ という制限付きでコンパイルされています。
+ これはスペルミスによって誤って酷い状況になるのを、
+ 回避するための処置です。
| 説明: | 子プロセスそれぞれに生成されるスレッド数 |
|---|---|
| 構文: | ThreadsPerChild number |
| デフォルト: | ThreadsPerChild 50 |
| デフォルト: | 詳細は使用方法を参照 |
| コンテキスト: | サーバ設定ファイル |
| ステータス: | MPM |
| モジュール: | worker, mpm_winnt |
| モジュール: | leader, mpm_winnt, threadpool, worker |
このディレクティブは、それぞれの子プロセスで生成される
スレッド数を設定します。
@@ -667,7 +818,11 @@
大きくなければなりません。worker のような、
子プロセスが複数あるような MPM を利用しているのであれば、
サーバの通常負荷を十分扱える程度に、
- スレッド総数が多くなければなりません。
mpm_winntでの ThreadsPerChild
+ のデフォルト値は 64 で、他の場合は
+ 25 です。
User unix-useridUser #-1worker, perchild, preforkleader, perchild, prefork, threadpool, workerUser ディレクティブは
サーバがリクエストに応答する際に用いるユーザ ID を設定します。
このディレクティブを使用するためには、スタンドアロン型の
サーバは最初に root 権限で起動されている必要があります。
- unix-userid は次のどちらかです:
root で起動した場合に親プロセスが root
+ として実行されているのは正常な動作です。
+ Unix-userid は次のどれかです。
このユーザは、外部に見せるように意図していないファイルに、
アクセス可能になってしまうような権限を持つべきではないですし、
- 同様に httpd リクエストに対して応答するように意図していない
+ 同様に HTTP リクエストに対して応答するように意図していない
実行コードを、実行できるような権限を持つべきではないです。
サーバを実行するために特定の新しいユーザとグループを
設定することをお薦めいたします。
@@ -707,25 +867,31 @@
なぜなら nobody ユーザは、システムで
他の役割を担っているかも知れないからです。
注意: 非 root ユーザでサーバを起動した場合は、 - より低い権限のユーザに変わることに失敗して、 - 代わりに起動を行ったユーザ権限のまま実行され続けるでしょう。 - root 権限で開始した場合親プロセスが root - 権限で実行され続けますが、これは正常です。
+正確にどんなことをやっているのか、その危険性を知らないで、
+ User (や Group) を root に
+ 設定しないでください。
perchild MPM では、異なるユーザ ID
+ で複数のバーチャルホストを動かすことを目的としていますが、
+ User は、主サーバのユーザ ID
+ と、AssignUserID
+ ディレクティブを持たない <VirtualHost> セクションへの
+ フォールバックとを定義することになります。
特記事項: このディレクティブを
<VirtualHost>
で使用することはサポートされなくなりました。
- suexec 向けにサーバを設定するのであれば、
+ suexec 向けにサーバを設定するのであれば、
SuexecUserGroup
を使用してください。
自分が何をやっているのか正確に把握していない、
-そしてその危険性を把握していないのであれば、
-User
-(や Group)
-を root に設定しないでください。