From c1c79a8951593326389cd0c60dde1f82b4e86ec7 Mon Sep 17 00:00:00 2001
From: Hiroaki Kawai
ダウンロード後、特にミラーサイトを使った場合は、
- ダウンロードしたものが Apache HTTP
+ UNIX に類似するシステムで Apache を使うユーザは、ソースを
+ ダウンロードしてビルドしたほうが良いでしょう。
+ ビルドの手順(下記)は簡単ですし、そのおかげでニーズに
+ 見合ったカスタマイズを簡単にできます。
+ さらに、バイナリのリリースはソースリリースよりも
+ 遅れていることがよくあります。
+ それでもバイナリをダウンロードしたのであれば、
+ ディストリビューションの中にある INSSTALL.bindist
+ ファイルの説明に従ってください。
ダウンロード後、ダウンロードしたものが Apache HTTP
サーバの完全で改竄されていないバージョンであることを
検証することが重要です。これはダウンロードした tarball の PGP 署名を
テストすることによって検証します。
- これは二つの段階があります。
- まず KEYS
- ファイルを Apache 配布サイト
- からダウンロードしてください。(KEYS
ファイル自体が
- 改竄されていないことを確実にするために、以前の Apache
- 配布から取り出したファイルを使ったり、
- 公開鍵サーバから鍵を取り込むのもいいでしょう。)
- 自分の個人キーホルダーに鍵を取り込むには、
- 次のコマンド (pgp のバージョンに依存) を使います:
または、
- -次のステップでは、tarball を PGP 署名でテストします。
- PGP 署名は必ず メインの Apache
- ウェブサイトから取得してください。
- 署名ファイルへのリンクは対応するダウンロードリンクの隣にあり、また
- Apache
- 配布サイトの特定のディレクトリで見つけることもできるでしょう。
- 署名ファイルの名前は、ソースファイルの tarball と同じ名前に
- .asc
を付加したものになっています。
- 以下のコマンド (やっぱり pgp のバージョンに依存) のどれか一つで、
- 配布ファイルをチェックすることができます:
または、
- -すると、こんなメッセージを受けるはずです。
- -自分のキーホルダーに格納されている信頼関係が原因で、
- "鍵とその鍵の署名者が検証できなかった"
- という旨のメッセージを同時に受けるかもしれません。
- しかし、KEYS
- ファイルの信憑性を受け入れるならば問題ではありません。
配布用のソースコードがある現在いるディレクトリの下に、
@@ -241,7 +210,8 @@
個人的な要求に合うように Apache
ソースツリーを設定することです。
これは配布ディレクトリのルートディレクトリにある、
- configure
スクリプトで行ないます。
+ configure
+ スクリプトで行ないます。
(Apache ソースツリーの CVS
版をダウンロードした開発者は、次のステップに進む前に
autoconf
とlibtool
@@ -252,14 +222,42 @@
デフォルトオプションを使ってソースツリーを全て設定する
のであれば、単純に ./configure
とタイプしてください。
デフォルトオプションを変更できるように、configure
- には様々な変数やコマンドラインオプションが用意されています。
- 一般的に、環境変数が ./configure
の前に設置されて、
- 他のオプションはその後に設置されます。
- ここで最も重要なオプションは Apache
- をどこにインストールするかを決める location prefix です。
- なぜなら、Apache が正しく動作するためには
- この場所用に設定されていないといけないからです。
- しかし、お好みにより利用できるオプションはもっと沢山あります。
最も重要なオプションは、Apache がこの後でインストールされる位置
+ --prefix
です。Apache は、このインストール位置に
+ おいて正常に動作するように設定しなければならないからです。
+ さらに詳細なファイル位置の制御は追加の 設定オプション
+ でできます。
この時点で、モジュール を有効にしたり
+ 無効にしたりすることで Apache 本体に含まれる 機能
+ を指定できます。Apache 本体にはデフォルトで、モジュールの Base セットが
+ 含まれます。その他のモジュールは
+ --enable-module
オプションで
+ 有効になります。ここで module はモジュールの名前で、
+ つまりそれはモジュールの名前から mod_
文字列を取り除いた後に
+ アンダースコアをダッシュで置換した文字列です。
+ これとは別の方法で --enable-module=shared
+ オプションを使って、モジュールを
+ シェアードオブジェクト (DSO) -- 実行時にロードしたり
+ アンロードしたりできる形式 -- としてコンパイルすることもできます。
+ 同様に、--disable-module
オプションで
+ Base モジュールを無効化することもできます。
+ これらのオプションを使っているときに、もし指定したモジュールが存在しなくても
+ configure
は警告を上げることなく、単純にオプションを
+ 無視することに気をつけてください。
上記に加えて、configure
スクリプトに、
+ コンパイラ、ライブラリ、ヘッダファイルの位置を追加情報として渡す
+ 必要がある場合があります。このような場合には、環境変数あるいは
+ コマンドラインオプションで configure
に渡します。
+ 詳細に関しては configure マニュアルページ
+ をご覧ください。
ちょっとどんなことができるかを見せましょう。
ここで典型的な例として、/sw/pkg/apache
@@ -279,288 +277,9 @@
テストしたり、後でサーバをコンパイルするために必要な Makefile
を生成したりするのに数分間かかるでしょう。
Apache の全ての設定フラグを見る最も簡単な方法は、
- ./configure --help
を実行する方法です。
- 引数や環境変数に関する簡単な記述が出力されます。
autoconf
でのビルドでは幾つかの環境変数を使ってビルド環境を
- 設定します。一般的に、これらの変数で Apache をビルドする際の
- 方法が変わったりしますが、できあがるサーバの機能には影響ありません。
- これらの変数は configure
を呼び出す直前の環境中に
- 置くことができますが、通常は上に示した例のように configure
- のコマンドラインでもっと簡単に指定できます。
CC=...
CPPFLAGS=...
CFLAGS=...
LDFLAGS=...
LIBS=...
-L
"と"-l
"オプション) 。
- INCLUDES=...
-Idir
") 。TARGET=...
[デフォルト値: httpd
]NOTEST_CPPFLAGS=...
NOTEST_CFLAGS=...
NOTEST_LDFLAGS=...
NOTEST_LIBS=...
NOTEST
でない版" のものと同じ機能を
- 持っています。しかし、これらの変数は autoconf
- がテストを行った後のビルドプロセスにおいてのみ、適用されます。
- これを使うと、テスト中に問題を起すけれども
- 最終的には必要になるフラグを
- 含めることができるようになります。SHLIB_PATH=...
autoconf
出力オプション--help
--quiet
cheking...
" といったメッセージがプリントされないように
- します。--verbose
Apache をインストールするパス名を設定するには、 - 現在二通りの方法があります。まず一つ目は、 - ディレクトリを指定して、その下にデフォルトの配置で - Apache のインストールを行う方法です。
- ---prefix=PREFIX
[デフォルト値:
- /usr/local/apache2
]アーキテクチャに依存したファイルを、 - 異なるディレクトリに配置するようにもできます。
- ---exec-prefix=EPREFIX
- [デフォルト値: PREFIX]二つ目の方法は、もっと柔軟にインストールパスの配置を
- 設定する方法で、config.layout
ファイルを
- 使います。この方法を使うことによって、
- Apache のインストール中に、それぞれのファイルのための配置を
- 個々に指定できるようになります。config.layout
- ファイルには設定例が幾つか含まれていますし、
- お好みの設定を次の例に従って作り出すこともできます。
- このファイル中では、異なる配置は <Layout
- FOO>...</Layout>
セクションでグループ化され、
- FOO
といった名前で参照されます。
--enable-layout=LAYOUT
config.layout
ファイル中での、
- 指定された名前のレイアウトを使用します。Apache はモジュール化されたサーバです。
- ごくごく基本的な機能だけが、コアサーバに含まれています。
- 拡張機能は様々なモジュールの形で提供されます。
- 設定プロセス中では、どんなモジュールをサーバで使うように
- コンパイルするか選ばなければなりません。このマニュアルにあるモジュールの一覧を
- 参照できます。
- "Base" ステータスの
- モジュールはデフォルトで含まれますし、
- 使いたくないのであれば、わざと無効にしなければ
- なりません (例えば
Apache と一緒にコンパイルして使うようにするには、
- 二通りの方法があります。一つめはモジュールを
- スタティックコンパイルする方法です。この場合は、
- Apache のバイナリに恒久的に組み込まれることになります。
- これの代わりに、もしオペレーティングシステムが動的共有
- ライブラリ (DSO) (訳注: Dynamic Shared Object) を
- 提供していて autoconf
がそれを認識できる
- 場合は、モジュールをダイナミックコンパイルする方法があります。
- DSO モジュールは Apache のバイナリとは別に
- 保存され、--enable-so
と明示的にすることができます。
--enable-MODULE[=shared]
=shared
オプションを付加してください。--disable-MODULE
--enable-modules=MODULE-LIST
--enable-mods-shared=MODULE-LIST
--enable-modules
や
- --enable-mods-shared
オプションに使う
- MODULE-LIST は、普通はスペース区切りの
- モジュール識別子のリストです。
- 例えば
または、同等の
- -これに加えて、特別なキーワード all
や
- most
を使って、
- 一度に全てあるいはほとんどのモジュールを加えることができます。
- その後で好きなモジュールを --disable-MODULE
-
オプションを使って取り除くことができます。
- 例えば、
標準的なモジュールに加えて、Apache 2.0 では
- Multi-Processing Modules (MPM)
- を選択してインクルードします。ただ一つだけの MPM
- をコンパイルのプロセスで含める必要があります。
- 個々のプラットホーム向けのデフォルトの MPM は MPM 文書に一覧がありますが、
- configure
- コマンドで置き換えることができます。
--with-mpm=NAME
mpm_name という MPM を有効にするには次のようにします。
- -configure
オプションが利用できます。
--with-gdbm[=path]
--with-ndbm[=path]
--with-berkeley-db[=path]
/lib
と path/include
-を検索して関連ファイルを探します。path
-にはコロンで区切って複数のインクルード、ライブラリパスを指定できます。
-Apache には suexec と呼ばれる - 補助プログラムがあります。 - このプログラムはユーザの CGI プログラムを隔離するために - 使用することができます。しかしながら、suexec - を適切に設定しなければ、 - セキュリティ上致命的な問題をかかえる場合があります。 - そのため、この機能を実装する前に suexec - 文書をよく読んで一考しておきましょう。
-個々の configure
オプションの詳細に関しては
+ configure マニュアルページ
+ をご覧ください。