9.26. Apache1.3 からの移行ポイント

Turbolinux 10 Server の採用している Apache2.0 では、Apache1.3 と比較して新たな機能が追加され、性能の向上や効率の良い管理のための様々な改良が加えられています。そこで、Apache1.3 で使用していた設定ファイルを Apache2.0 へと移行する場合には、いくつかの変更が必要になってきます。以下に移行のポイントとなる点をまとめます。

ティップ

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

削除された主なディレクティブ

以下の表の通り、一部のディレクティブは削除されて、Apache2.0 では、"Apache 2.0 の置き換えディレクティブ" のように変わっています。

表 9-13. 主な削除ディレクティブ

廃止されたディレクティブApache2.0 の置き換えディレクティブ備考
AccessConfig、ResourceConfigIncludeaccess.conf と srm.conf を使用する場合は、Include ディレクティブで指定が必要です。
BindAddress、PortListen(詳細は項9.3.1参照)
Port ServernameApache 1.3 の Port ディレクティブには、SERVER_PORT 環境変数(CGIなどで利用)を設定し、サーバーが外部リダイレクトを作成する場合などに自分自身を参照するための URL を生成する際に利用されていました。これは、ホスト名だけでなくポート番号の指定が可能になった Apache2.0 の Servername で指定します。
AgentLog、RefererLog、RefererIgnoreCustomLog 
AddModule、ClearModuleList-指定が不要になりました。
FancyIndexingIndexOptionsディレクティブの FancyIndexing オプション 
<Directory proxy:><Proxy>プロキシのアクセス制限は <Proxy> ディレクティブ内に指定します。
ServerType-MPM により決まり指定は不要になりました。現段階では、スーパーサーバーモードで起動される MPM は存在しません。

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

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

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

変更されたディレクティブ変更内容
CacheNegotiatedDocson または off の値をとるようになりました。
ErrorDocument任意のメッセージを指定する際に、メッセージの最初に " を 1 つつけるのではなく " と " でメッセージを囲むようになりました。
コンテントネゴシエーションの MultiViewsデフォルトのマッチングがより厳密になっています。Apache1.3 と同じ挙動は、MultiViewsMatch で指定が可能です。

/etc/httpd/conf.d/ 以下の設定ファイル

Apache2.0 では、設定ファイル /etc/httpd/conf/httpd.conf 内の以下の記述により、/etc/httpd/conf.d/ 以下にある拡張子が .conf のファイルが読み込まれます。

Include conf.d/*.conf

ssl.conf や php4.conf などの各設定ファイルはあらかじめ同ディレクトリ以下に配置されています。

DSO モジュールの設定ファイル

Apache2.0 では、設定ファイル /etc/httpd/conf/httpd.conf 内の以下の記述により、/etc/httpd/conf/modules ファイルが読み込まれます。modules ファイルには DSO モジュールが指定されています。(詳細は項9.7

Include conf/modules

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

Apache2.0 の API が変更になっているため、Apache1.3 の DSO モジュールを修正をせずにそのまま使用することはできません。詳細は、http://httpd.apache.org/docs-2.0/developer/ を参照してください。