25.2.2.4. モジュールおよび Apache HTTP Server 2.0
Apache HTTP Server 2.0 では、モジュールシステムが変更され、モジュールをチェーン化したり、新しいや関心のある方法で組み合わせたりできるようになりました。Common Gateway Interface (CGI)スクリプトは、たとえば、
mod_include
で処理できるサーバー解析された HTML ドキュメントを生成できます。これにより、モジュールを組み合わせて特定の目的を達成する方法に関して、非常に多くの可能性が開かれます。
これが機能する仕組みは、各リクエストに 1 つの ハンドラー モジュールと、その後に 0 個以上の フィルター モジュールが提供されることです。
Apache HTTP Server 1.3 では、たとえば Perl スクリプトは Perl モジュール(
mod_perl
)によって完全に処理されます。Apache HTTP Server 2.0 では、リクエストは最初にコアモジュールによって 処理 されます。これは静的ファイルを提供し、mod_perl
によって フィルターリング されます。
この使用方法、および Apache HTTP Server 2.0 のその他の新機能はすべてこのドキュメントの範囲外になります。ただし、PATH_INFO ディレクティブがフィルターとして実装されるモジュールで処理されるドキュメントに PATH_INFO ディレクティブが使用されている場合、それぞれが true ファイル名の後に続くパス情報が含まれているため、変更はこの変更の影響を受けます。最初に要求を処理するコアモジュールは、デフォルトでは PATH_INFO を理解せず、このような情報を含むリクエストに対して
404 Not Found
エラーを返します。別の方法として、AcceptPathInfo ディレクティブを使用してコアモジュールを照合し、PATH_INFO でリクエストを受け入れることもできます。
以下は、このディレクティブの例です。
AcceptPathInfo on
このトピックの詳細は、Apache Software Foundation の Web サイトを参照してください。
25.2.2.4.1. suexec
モジュール
Apache HTTP Server 2.0 では、
mod_suexec
モジュールは仮想ホストの設定に使用される User
ディレクティブおよび Group
ディレクティブではなく、SuexecUserGroup
ディレクティブを使用します。User
ディレクティブおよび Group
ディレクティブは一般的に使用できますが、仮想ホストの設定には非推奨となっています。
Apache HTTP Server 1.3 ディレクティブの例を以下に示します。
<VirtualHost vhost.example.com:80> User someone Group somegroup </VirtualHost>
この設定を Apache HTTP Server 2.0 に移行するには、以下の構造を使用します。
<VirtualHost vhost.example.com:80> SuexecUserGroup someone somegroup </VirtualHost>