Apache HTTP サーバ バージョン 2.0
This document refers to the 2.0 version of Apache httpd, which is no longer maintained. Upgrade, and refer to the current version of httpd instead, documented at:
You may follow this link to go to the current version of this document.
アップグレードを簡単にするために、既存の 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 では修正なしでは 動きません。詳細は 開発者向け文書 にあります。