9.26. Apache2.0 からの移行ポイント

Apache2.2 では、Apache2.0 と比較していくつかの改良が加えられているため設定ファイル等にいくつかの変更があります。Apache2.2 で変更されている主な点について解説します。

ティップ

Apache のオンラインマニュアルに 1.3 から 2.0 または 2.2 へのアップグレードに関する記述があります。合わせて参照してください。

変更された主なディレクティブ

以下の表の通り、一部のディレクティブは指定方法が変更されています。

表 9-14. 2.2 の主な変更ディレクティブ

変更されたディレクティブ変更内容
UseCanonicalName Off設定ファイルに記述がない場合のデフォルトが Off に変更されました。有効にする場合には明示的に UseCanonicalName On 指定が必要です。
UserDir mod_userdir は設定ファイル内に UserDir ディレクティブの指定がない場合、リクエストに応じなくなりました。以前のデフォルトの動作をさせるには UserDir public_html を指定する必要があります。
AuthUserFileダイジェスト認証のパスワードファイルの指定は AuthDigestFile ではなく AuthUserFile ディレクティブを使用します。

認証モジュールの分割

Apache2.2 では、認証に関するモジュールが機能ごとに細分化されるといった変更がなされています。(ユーザー認証について詳細は 項9.17を参照)。mod_auth_basic および mod_auth_digest はそれぞれ基本認証、ダイジェスト認証のフロントエンド部分を提供し、mod_authn_file や mod_authn_dbm モジュールが実際の認証機能を提供します。また、mod_authz_host などはホストベースのアクセス制御機能を提供するモジュールです。変更にともなって mod_auth_pgsql 、mod_auth_mysql など Apache2.0 で使用していたモジュールが正常に動作しない場合があります。ご注意ください。

サードバーティ製 DSO モジュール

大半の Apache2.0 用のモジュールは、そのまま動作しますが、すべてのモジュールを再コンパイルしてからロードしてください。