contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. <
title>コンパイルとインストール</
title>
<
p>この文書で扱う範囲は、Unix や Unix に類似したシステムでの
Apache のコンパイルとインストールです。 Windows における
Windows で Apache を使う</
a>」をご覧下さい。
href="platform/">プラットホーム</
a>」をご覧下さい。</
p>
<
p>Apache 2.0 では他の Open Source プロジェクトと同様、
ビルド環境構築に <
code>libtool</
code> と <
code>autoconf</
code>
<
p>マイナーバージョンからその次のバージョンにアップグレードする
(2.2.50 から 2.2.51 へ等) 場合は、まず <
a href="#upgrading">
<
section id="overview"><
title>概要 (せっかちな人向け)</
title>
<
columnspec><
column width=".13"/><
column width=".80"/></
columnspec>
<
td><
a href="#download">ダウンロード</
a></
td>
<
td><
a href="#extract">展開</
a></
td>
<
td><
code>$ gzip -d httpd-<
em>NN</
em>
.tar.gz<
br />
$ tar xvf httpd-<
em>NN</
em>.tar<
br />
$ cd httpd-<
em>NN</
em></
code></
td>
<
td><
a href="#configure">設定</
a></
td>
<
td><
code>$ /
configure --prefix=<
em>PREFIX</
em></
code>
<
td><
a href="#compile">コンパイル</
a></
td>
<
td><
code>$ make</
code> </
td>
<
td><
a href="#install">インストール</
a></
td>
<
td><
code>$ make install</
code> </
td>
<
td><
a href="#customize">カスタマイズ</
a></
td>
<
td><
a href="#test">テスト</
a></
td>
<
p><
em>NN</
em> は最新のバージョンナンバーに、
<
em>PREFIX</
em> はインストールするサーバでのファイルシステムのパスに、
置き換えてください。<
em>PREFIX</
em> を指定しなかった場合は、
<
p>Apache httpd のコンパイルとインストールに必要なものをはじめとして、
コンパイルとインストールについては、次に詳しく記述されています。</
p>
<
section id="requirements"><
title>必要なもの</
title>
<
p>Apache のビルドには次のものが必要です:</
p>
<
dd>ディスクに少なくとも 50 MB の一時的な空き容量があるように
気を付けてください。インストール後は Apache は 10 MB 程度の
ディスクスペースを占めます。実際に必要になるディスクスペースは、
設定オプションやサードパーティー製モジュールをどう選択するかによって
<
dt>ANSI-C コンパイラとビルドシステム</
dt>
<
dd>ANSI-C コンパイラをインストールしておいて下さい。お薦めは <
a compiler (GCC)</
a> です。GCC がない場合は、
少なくとも提供されているコンパイラが ANSI 準拠であることを確認しておいて下さい。
それから、変数 <
code>PATH</
code> には <
code>make</
code>
といった基本的なビルドツールが含まれている必要があります。</
dd>
<
dd>HTTP プロトコルの要素は日時の時刻で表現されています。ですから、
正確な時刻にシンクロさせる機能をシステムに設定することを吟味してみて下さい。
Network Time Protocol (NTP) をベースとした ntpdate や xntpd プログラムが
この目的によく用いられます。NTP ソフトウェアや公開 NTP
<
dd>提供されているスクリプト幾つか、例えば <
program>apxs</
program> や
<
program>dbmmanage</
program> は
5 インタプリタが必要になります (5.003 以降)。
Perl インタプリタを複数インストールしている (たとえば全体のシステムの一部
としてインストールされている Perl 4 と、自分で追加でインストールした
Perl 5 があるなどの) 場合、<
code>--with-perl</
code> オプション (下記参照)
を使って <
program>configure</
program> が意図したものを使うように
<
program>configure</
program> スクリプトで Perl 5 インタプリタが
見つからない場合は、この影響を受けるサポートスクリプトが使えなくなります。
もちろん、Apache httpd のコンパイルとインストールは問題なく行えます。</
dd>
<
section id="download"><
title>ダウンロード</
title>
サーバダウンロードサイト</
a>からダウンロードできますし、
同じ場所に幾つかのミラーサイトもリストしています。
UNIX に類似するシステムで Apache を使うユーザは、ソースを
ビルドの手順(下記)は簡単ですし、そのおかげでニーズに
<
p>ダウンロード後、ダウンロードしたものが Apache HTTP
サーバの完全で改竄されていないバージョンであることを
検証することが重要です。これはダウンロードした tarball の PGP 署名を
<
section id="extract"><
title>展開</
title>
<
p>Apache HTTPD の tarball
$ gzip -d httpd-<
em>NN</
em>
.tar.gz<
br />
$ tar xvf httpd-<
em>NN</
em>.tar
<
p>配布用のソースコードがある現在いるディレクトリの下に、
サーバをコンパイルする段階に進む前に、そのディレクトリに
<
code>cd</
code> で移動してください。</
p>
<
section id="configure"><
title>ソースツリーを設定する</
title>
これは配布ディレクトリのルートディレクトリにある、
<
program>configure</
program>
版をダウンロードした開発者は、次のステップに進む前に
<
code>autoconf</
code> と<
code>libtool</
code>
をインストールして <
code>buildconf</
code>
公式リリースではこの作業は必要ありません。) </
p>
<
p>デフォルトオプションを使ってソースツリーを全て設定する
のであれば、単純に <
code>/
configure</
code> とタイプしてください。
デフォルトオプションを変更できるように、<
program>configure</
program>
には様々な変数やコマンドラインオプションが用意されています。</
p>
<
p>最も重要なオプションは、Apache がこの後でインストールされる位置
<
code>--prefix</
code> です。Apache は、このインストール位置に
おいて正常に動作するように設定しなければならないからです。
<
p>この時点で、<
a href="mod/">モジュール</
a> を有効にしたり
無効にしたりすることで Apache 本体に含まれる <
a を指定できます。Apache 本体にはデフォルトで、モジュールの <
a <
code>--enable-<
var>module</
var></
code> オプションで
有効になります。ここで <
var>module</
var> はモジュールの名前で、
つまりそれはモジュールの名前から <
code>mod_</
code> 文字列を取り除いた後に
これとは別の方法で <
code>--enable-<
var>module</
var>=shared</
code>
シェアードオブジェクト (DSO)</
a> -- 実行時にロードしたり
アンロードしたりできる形式 -- としてコンパイルすることもできます。
同様に、<
code>--disable-<
var>module</
var></
code> オプションで
これらのオプションを使っているときに、もし指定したモジュールが存在しなくても
<
program>configure</
program> は警告を上げることなく、単純にオプションを
<
p>上記に加えて、<
program>configure</
program> スクリプトに、
コンパイラ、ライブラリ、ヘッダファイルの位置を追加情報として渡す
必要がある場合があります。このような場合には、環境変数あるいは
コマンドラインオプションで <
program>configure</
program> に渡します。
詳細に関しては <
program>configure</
program> マニュアルページ
をご覧ください。あるいは <
code>--help</
code> オプションつきで
<
program>configure</
program> を呼び出してください。</
p>
<
p>ちょっとどんなことができるかを見せましょう。
というインストールツリーでコンパイラとフラグを指定して、
さらに二つの追加モジュール <
module>mod_rewrite</
module> と
<
module>mod_speling</
module> を後で DSO
メカニズムでロードするようにコンパイルしてみます:</
p>
$ CC="pgcc" CFLAGS="-O2" \<
br />
--enable-rewrite=shared \<
br />
<
p><
program>configure</
program> を実行したら、システムの機能を
テストしたり、後でサーバをコンパイルするために必要な Makefile
を生成したりするのに数分間かかるでしょう。</
p>
<
p>個々の <
program>configure</
program> オプションの詳細に関しては
<
program>configure</
program> マニュアルページ
<
section id="compile"><
title>ビルド</
title>
<
p>これで Apache の様々なパーツをビルドすることができます。
<
example>$ make</
example>
また、時間はハードウェアや有効にしたモジュールの数に
<
section id="install"><
title>インストール</
title>
<
p>さて、設定したインストール <
em>PREFIX</
em>
(前述の <
code>--prefix</
code> オプションを参照)
以下にパッケージをインストールする段階になりました。
<
example>$ make install</
example>
<
p>通常 <
em>PREFIX</
em> は書き込みパーミッションが制限されている
ディレクトリになっているので、このステップは通常は
<
p>アップグレードする場合は、インストールでは設定ファイルや
ドキュメントファイルの上書きは行いません。</
p>
<
section id="customize"><
title>カスタマイズ</
title>
<
p>次に <
code><
em>PREFIX</
em>/conf/</
code> 以下にある <
a Apache HTTP サーバをカスタマイズします。</
p>
<
a href="./">
docs/
manual/</
a> にある Apache マニュアルをざっと見てください。
<
section id="test"><
title>テスト</
title>
<
p>次のコマンドを実行して Apache HTTP サーバを<
a リクエストを発行する事ができるはずです。これで見える
ウェブページは <
directive module="core">DocumentRoot</
directive>
<
code><
em>PREFIX</
em>/htdocs/</
code> でしょう。
<
section id="upgrading"><
title>アップグレード</
title>
<
p>アップグレードでまず行なうべきことは、リリースアナウンスと
ソースディストリビューションに入っている <
code>CHANGES</
code> を読んで、
自身のサイトに対して影響を及ぼす変更点を探すことです。
メジャーリリース間の変更をする場合 (例えば 1.3 から 2.0 へ、2.0 から 2.2 へ)
は、コンパイル時や実行時の設定に大きな差異があるでしょうから、
手動の調整が必要になるでしょう。モジュールも全て、API
の変更に合わせるためにアップグレードが必要になるでしょう。</
p>
<
p>マイナーバージョンから次のバージョンにアップグレードする場合
(例えば 2.2.55 から 2.2.57 へ) は、もっと簡単です。
<
code>make install</
code> を実行しても今あるドキュメント、
さらに、マイナーバージョン間では <
program>configure</
program> オプション、
実行時の設定、モジュール API に不整合が起こらないように、
大抵の場合、同一の <
program>configure</
program> コマンドライン、
同一の設定ファイル、モジュール全てが正常に動作するはずです。</
p>
<
p>マイナーバージョンでアップグレードする場合は、
既にインストールされているサーバの <
code>build</
code> ディレクトリ内か、
以前インストールに使ったソースコードツリーの最上位ディレクトリ内にある、
<
program>configure</
program> コマンドラインが、そのまま入っています。
ファイルを新しいバージョンのソースツリーにコピーし、
必要であればそれを編集した後に、次のように実行します。</
p>
<
note type="warning">新しいバージョンを使用する場合は、
実際に運用を始める前に、必ず自分用の環境でテストすべきです。
最終的にアップグレードする前に、非互換性がないかをテストするために、
例えば、異なる <
code>--prefix</
code> と異なるポート (<
directive module="mpm_common">Listen</
directive> ディレクティブで設定します)
を使用することで、古いバージョンに影響を与えずに新しいバージョンを
<
p>もとの <
program>configure</
program> に追加する形で、