Apache HTTP サーバ バージョン 2.2

アップグレードを簡単にするために、既存の Apache ユーザに
非常に重要な情報をこの文書にまとめています。これは短い
注意書きとして書かれています。より詳しい情報は
新機能の文書や
src/CHANGES ファイルで見つけられると思います。
autoconf と libtool を使うようになりました。
このシステムは Apache 1.3 の APACI システムと似ていますが、
まったく同じというわけではありません。prefork MPM を
選んでください。他の MPM はプロセスの作成やリクエストの処理の
制御に異なったディレクティブを使います。<Directory proxy:> ブロックの
代わりに <Proxy>
ブロックに置かれるようになった、というものがあります。PATH_INFO (本当のファイル名の後に続く
パス情報) の扱いが変わったものがあります。以前はハンドラとして
実装されていたものがフィルタとして実装されるようになったものは
PATH_INFO のあるリクエストを受け付けません。INCLUDES や
PHP などのフィルタは
コアハンドラの上に実装されていますので、PATH_INFO
付きのリクエストを拒否します。
AcceptPathInfo
ディレクティブを使ってコアハンドラが PATH_INFO
付きのリクエストを受け付けるようにでき、それによって SSI 等で
PATH_INFO を使う機能を復活させることができます。CacheNegotiatedDocs
ディレクティブは on もしくは off という引数を
取るようになりました。既に存在している
CacheNegotiatedDocs は
CacheNegotiatedDocs on
に置き換えてください。ErrorDocument
ディレクティブはテキストメッセージを
示すために引数の最初に使われていた引用符を使わないようになりました。
代わりに、メッセージを二重引用符で囲むようになっています。
例えば、既存の
ErrorDocument 403 "Some Message
ErrorDocument 403 "Some Message"
AccessConfig ディレクティブと
ResourceConfig ディレクティブは削除されました。
これらのディレクティブは同等の機能を持つ
Include で
置き換えることができます。設定ファイルに取り込む代わりに、
上のディレクティブのデフォルト値を使っていた場合は、
httpd.conf に Include conf/access.conf と
Include conf/srm.conf を追加する必要があるでしょう。
以前のディレクティブによる順番のように Apache が設定ファイルを
読み込むようにするためには、httpd.conf の最後に
srm.conf、access.conf の順にそれぞれ
Include
ディレクティブを書いてください。BindAddress ディレクティブと Port
ディレクティブは削除されました。同等の機能はより柔軟な
Listen
ディレクティブにより提供されています。Port ディレクティブは Apache-1.3 には自己参照 URL で
使われるポート番号を設定する、という使用法もありました。
これは Apache-2.0 では新しい
ServerName
構文によって行ないます。一つのディレクティブでホスト名と
自己参照 URL の両方を設定できるように構文が変更されました。ServerName ディレクティブは削除されました。
リクエストを扱う方法は MPM の選択により決定されるようになりました。
現時点では inetd から起動されるように設計された MPM はありません。AgentLog ディレクティブ、
RefererLog ディレクティブ、
RefererIgnore ディレクティブを提供していた
mod_log_agent と mod_log_referer
モジュールは削除されました。
Agent ログと refere ログは mod_log_config の
CustomLog
ディレクティブにより実現可能です。AddModule ディレクティブと ClearModuleList
ディレクティブは削除されました。これらのディレクティブは、
モジュールが正しい順番で呼ばれるようにするために使われていました。
Apache 2.0 の新 API はモジュールが明示的に順番を指定できるように
なっており、これらのディレクティブは必要なくなりました。FancyIndexing ディレクティブは削除されました。
同じ機能は IndexOptions
ディレクティブの FancyIndexing オプションで
実現できます。mod_negotiation による MultiViews
コンテントネゴシエーション技術は、
デフォルトのファイルマッチングがより厳密なものに変更されました。
ネゴシエート可能なファイルの場合にのみ選択されます。
以前の挙動は、MultiviewsMatch
ディレクティブを使用することで復活できます。ErrorHeader ディレクティブは不適切な名前
だったために廃止され、その機能は Header ディレクティブに統合されました。
望みの動作を得るためには ErrorHeader の代わりに
Header always set foo bar
を使ってください。
mod_auth_digest は
標準モジュールになりました。mod_mmap_static は
mod_file_cache で置き換えられました。src ディレクトリが
なくなるように、完全に再構成されました。その代わりに、
ソースは主ディレクトリに論理的に配置されるようになり、
コンパイルされたサーバのインストールは別ディレクトリへ
行なうようになりました。Apache 2.0 のサーバ API には多くの変更が加えられました。 Apache 1.3 用の既存のモジュールは Apache 2.0 では修正なしでは 動きません。詳細は 開発者向け文書 にあります。