1 <?xml version="1.0" encoding="UTF-8" ?>
2 <!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
3 <?xml-stylesheet type="text/xsl" href="./style/manual.ja.xsl"?>
4 <!-- English Revision: 527129:1824141 (outdated) -->
7 Licensed to the Apache Software Foundation (ASF) under one or more
8 contributor license agreements. See the NOTICE file distributed with
9 this work for additional information regarding copyright ownership.
10 The ASF licenses this file to You under the Apache License, Version 2.0
11 (the "License"); you may not use this file except in compliance with
12 the License. You may obtain a copy of the License at
14 http://www.apache.org/licenses/LICENSE-2.0
16 Unless required by applicable law or agreed to in writing, software
17 distributed under the License is distributed on an "AS IS" BASIS,
18 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 See the License for the specific language governing permissions and
20 limitations under the License.
23 <manualpage metafile="install.xml.meta">
25 <title>コンパイルとインストール</title>
29 <p>この文書で扱う範囲は、Unix や Unix に類似したシステムでの
30 Apache のコンパイルとインストールです。 Windows における
32 href="platform/windows.html">Microsoft
33 Windows で Apache を使う</a>」をご覧下さい。
35 href="platform/">プラットホーム</a>」をご覧下さい。</p>
37 <p>Apache 2.0 では他の Open Source プロジェクトと同様、
38 ビルド環境構築に <code>libtool</code> と <code>autoconf</code>
41 <p>マイナーバージョンからその次のバージョンにアップグレードする
42 (2.2.50 から 2.2.51 へ等) 場合は、まず <a href="#upgrading">
43 アップグレード</a>をご覧下さい。</p>
47 <seealso><a href="programs/configure.html">ソースツリーの設定</a></seealso>
48 <seealso><a href="invoking.html">Apacheの起動</a></seealso>
49 <seealso><a href="stopping.html">Apacheの停止と再起動</a></seealso>
51 <section id="overview"><title>概要 (せっかちな人向け)</title>
54 <columnspec><column width=".13"/><column width=".80"/></columnspec>
56 <td><a href="#download">ダウンロード</a></td>
58 <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
63 <td><a href="#extract">展開</a></td>
65 <td><code>$ gzip -d httpd-<em>NN</em>.tar.gz<br />
66 $ tar xvf httpd-<em>NN</em>.tar<br />
67 $ cd httpd-<em>NN</em></code></td>
71 <td><a href="#configure">設定</a></td>
73 <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
78 <td><a href="#compile">コンパイル</a></td>
80 <td><code>$ make</code> </td>
84 <td><a href="#install">インストール</a></td>
86 <td><code>$ make install</code> </td>
90 <td><a href="#customize">カスタマイズ</a></td>
92 <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
96 <td><a href="#test">テスト</a></td>
98 <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
103 <p><em>NN</em> は最新のバージョンナンバーに、
104 <em>PREFIX</em> はインストールするサーバでのファイルシステムのパスに、
105 置き換えてください。<em>PREFIX</em> を指定しなかった場合は、
106 デフォルトの <code>/usr/local/apache2</code> になります。</p>
108 <p>Apache httpd のコンパイルとインストールに必要なものをはじめとして、
109 コンパイルとインストールについては、次に詳しく記述されています。</p>
112 <section id="requirements"><title>必要なもの</title>
114 <p>Apache のビルドには次のものが必要です:</p>
118 <dd>ディスクに少なくとも 50 MB の一時的な空き容量があるように
119 気を付けてください。インストール後は Apache は 10 MB 程度の
120 ディスクスペースを占めます。実際に必要になるディスクスペースは、
121 設定オプションやサードパーティー製モジュールをどう選択するかによって
124 <dt>ANSI-C コンパイラとビルドシステム</dt>
125 <dd>ANSI-C コンパイラをインストールしておいて下さい。お薦めは <a
126 href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
127 による <a href="http://www.gnu.org/software/gcc/gcc.html">GNU C
128 compiler (GCC)</a> です。GCC がない場合は、
129 少なくとも提供されているコンパイラが ANSI 準拠であることを確認しておいて下さい。
130 それから、変数 <code>PATH</code> には <code>make</code>
131 といった基本的なビルドツールが含まれている必要があります。</dd>
134 <dd>HTTP プロトコルの要素は日時の時刻で表現されています。ですから、
135 正確な時刻にシンクロさせる機能をシステムに設定することを吟味してみて下さい。
136 Network Time Protocol (NTP) をベースとした ntpdate や xntpd プログラムが
137 この目的によく用いられます。NTP ソフトウェアや公開 NTP
139 href="http://www.ntp.org">NTP ホームページ</a> をご覧下さい。</dd>
141 <dt><a href="http://www.perl.org/">Perl 5</a>
143 <dd>提供されているスクリプト幾つか、例えば <program>apxs</program> や
144 <program>dbmmanage</program> は
146 5 インタプリタが必要になります (5.003 以降)。
147 Perl インタプリタを複数インストールしている (たとえば全体のシステムの一部
148 としてインストールされている Perl 4 と、自分で追加でインストールした
149 Perl 5 があるなどの) 場合、<code>--with-perl</code> オプション (下記参照)
150 を使って <program>configure</program> が意図したものを使うように
152 <program>configure</program> スクリプトで Perl 5 インタプリタが
153 見つからない場合は、この影響を受けるサポートスクリプトが使えなくなります。
154 もちろん、Apache httpd のコンパイルとインストールは問題なく行えます。</dd>
158 <section id="download"><title>ダウンロード</title>
160 <p>Apache HTTP サーバは <a
161 href="http://httpd.apache.org/download.cgi">Apache HTTP
162 サーバダウンロードサイト</a>からダウンロードできますし、
163 同じ場所に幾つかのミラーサイトもリストしています。
164 UNIX に類似するシステムで Apache を使うユーザは、ソースを
165 ダウンロードしてビルドしたほうが良いでしょう。
166 ビルドの手順(下記)は簡単ですし、そのおかげでニーズに
168 さらに、バイナリのリリースはソースリリースよりも
170 それでもバイナリをダウンロードしたのであれば、
171 ディストリビューションの中にある <code>INSSTALL.bindist</code>
174 <p>ダウンロード後、ダウンロードしたものが Apache HTTP
175 サーバの完全で改竄されていないバージョンであることを
176 検証することが重要です。これはダウンロードした tarball の PGP 署名を
179 href="http://httpd.apache.org/download.cgi#verify">ダウンロード
180 ページ</a> にあり、さらに詳しい例は <a
181 href="http://httpd.apache.org/dev/verification.html">PGP の使用
186 <section id="extract"><title>展開</title>
188 <p>Apache HTTPD の tarball
189 からソースファイルを展開して取り出すとは、
190 単なる圧縮の解除と tar の展開です:</p>
193 $ gzip -d httpd-<em>NN</em>.tar.gz<br />
194 $ tar xvf httpd-<em>NN</em>.tar
197 <p>配布用のソースコードがある現在いるディレクトリの下に、
199 サーバをコンパイルする段階に進む前に、そのディレクトリに
200 <code>cd</code> で移動してください。</p>
203 <section id="configure"><title>ソースツリーを設定する</title>
205 <p>次のステップは、あなたのプラットホームと
208 これは配布ディレクトリのルートディレクトリにある、
209 <program>configure</program>
212 版をダウンロードした開発者は、次のステップに進む前に
213 <code>autoconf</code> と<code>libtool</code>
214 をインストールして <code>buildconf</code>
216 公式リリースではこの作業は必要ありません。) </p>
218 <p>デフォルトオプションを使ってソースツリーを全て設定する
219 のであれば、単純に <code>./configure</code> とタイプしてください。
220 デフォルトオプションを変更できるように、<program>configure</program>
221 には様々な変数やコマンドラインオプションが用意されています。</p>
223 <p>最も重要なオプションは、Apache がこの後でインストールされる位置
224 <code>--prefix</code> です。Apache は、このインストール位置に
225 おいて正常に動作するように設定しなければならないからです。
226 さらに詳細なファイル位置の制御は追加の <a
227 href="programs/configure.html#installationdirectories">設定オプション
230 <p>この時点で、<a href="mod/">モジュール</a> を有効にしたり
231 無効にしたりすることで Apache 本体に含まれる <a
232 href="programs/configure.html#optionalfeatures">機能</a>
233 を指定できます。Apache 本体にはデフォルトで、モジュールの <a
234 href="mod/module-dict.html#Status">Base</a> セットが
236 <code>--enable-<var>module</var></code> オプションで
237 有効になります。ここで <var>module</var> はモジュールの名前で、
238 つまりそれはモジュールの名前から <code>mod_</code> 文字列を取り除いた後に
239 アンダースコアをダッシュで置換した文字列です。
240 これとは別の方法で <code>--enable-<var>module</var>=shared</code>
241 オプションを使って、モジュールを<a href="dso.html">
242 シェアードオブジェクト (DSO)</a> -- 実行時にロードしたり
243 アンロードしたりできる形式 -- としてコンパイルすることもできます。
244 同様に、<code>--disable-<var>module</var></code> オプションで
245 Base モジュールを無効化することもできます。
246 これらのオプションを使っているときに、もし指定したモジュールが存在しなくても
247 <program>configure</program> は警告を上げることなく、単純にオプションを
248 無視することに気をつけてください。</p>
250 <p>上記に加えて、<program>configure</program> スクリプトに、
251 コンパイラ、ライブラリ、ヘッダファイルの位置を追加情報として渡す
252 必要がある場合があります。このような場合には、環境変数あるいは
253 コマンドラインオプションで <program>configure</program> に渡します。
254 詳細に関しては <program>configure</program> マニュアルページ
255 をご覧ください。あるいは <code>--help</code> オプションつきで
256 <program>configure</program> を呼び出してください。</p>
258 <p>ちょっとどんなことができるかを見せましょう。
259 ここで典型的な例として、<code>/sw/pkg/apache</code>
260 というインストールツリーでコンパイラとフラグを指定して、
261 さらに二つの追加モジュール <module>mod_rewrite</module> と
262 <module>mod_speling</module> を後で DSO
263 メカニズムでロードするようにコンパイルしてみます:</p>
266 $ CC="pgcc" CFLAGS="-O2" \<br />
267 ./configure --prefix=/sw/pkg/apache \<br />
268 --enable-rewrite=shared \<br />
269 --enable-speling=shared
272 <p><program>configure</program> を実行したら、システムの機能を
273 テストしたり、後でサーバをコンパイルするために必要な Makefile
274 を生成したりするのに数分間かかるでしょう。</p>
276 <p>個々の <program>configure</program> オプションの詳細に関しては
277 <program>configure</program> マニュアルページ
281 <section id="compile"><title>ビルド</title>
283 <p>これで Apache の様々なパーツをビルドすることができます。
284 次のコマンドを単純に実行するだけです:</p>
286 <example>$ make</example>
288 <p>基本的な設定をするのに数分かかりますが、
290 また、時間はハードウェアや有効にしたモジュールの数に
294 <section id="install"><title>インストール</title>
296 <p>さて、設定したインストール <em>PREFIX</em>
297 (前述の <code>--prefix</code> オプションを参照)
298 以下にパッケージをインストールする段階になりました。
301 <example>$ make install</example>
303 <p>通常 <em>PREFIX</em> は書き込みパーミッションが制限されている
304 ディレクトリになっているので、このステップは通常は
307 <p>アップグレードする場合は、インストールでは設定ファイルや
308 ドキュメントファイルの上書きは行いません。</p>
311 <section id="customize"><title>カスタマイズ</title>
313 <p>次に <code><em>PREFIX</em>/conf/</code> 以下にある <a
314 href="configuring.html">設定ファイル</a>を編集して、
315 Apache HTTP サーバをカスタマイズします。</p>
317 <example>$ vi <em>PREFIX</em>/conf/httpd.conf</example>
319 <p><code><em>PREFIX</em>/docs/manual/</code> や
320 <a href="./">docs/manual/</a> にある Apache マニュアルをざっと見てください。
322 href="http://httpd.apache.org/docs/&httpd.docs;/"
323 >http://httpd.apache.org/docs/&httpd.docs;/</a>
325 href="mod/directives.html">設定ディレクティブ</a>に当たってみてください。</p>
328 <section id="test"><title>テスト</title>
330 <p>次のコマンドを実行して Apache HTTP サーバを<a
331 href="invoking.html">開始</a>できます:</p>
333 <example>$ <em>PREFIX</em>/bin/apachectl -k start</example>
335 <p>URL <code>http://localhost/</code> を通して最初のドキュメントに対する
336 リクエストを発行する事ができるはずです。これで見える
337 ウェブページは <directive module="core">DocumentRoot</directive>
339 <code><em>PREFIX</em>/htdocs/</code> でしょう。
340 サーバを再び<a href="stopping.html">停止</a>するには、
343 <example>$ <em>PREFIX</em>/bin/apachectl -k stop</example>
345 <section id="upgrading"><title>アップグレード</title>
347 <p>アップグレードでまず行なうべきことは、リリースアナウンスと
348 ソースディストリビューションに入っている <code>CHANGES</code> を読んで、
349 自身のサイトに対して影響を及ぼす変更点を探すことです。
350 メジャーリリース間の変更をする場合 (例えば 1.3 から 2.0 へ、2.0 から 2.2 へ)
351 は、コンパイル時や実行時の設定に大きな差異があるでしょうから、
352 手動の調整が必要になるでしょう。モジュールも全て、API
353 の変更に合わせるためにアップグレードが必要になるでしょう。</p>
355 <p>マイナーバージョンから次のバージョンにアップグレードする場合
356 (例えば 2.2.55 から 2.2.57 へ) は、もっと簡単です。
357 <code>make install</code> を実行しても今あるドキュメント、
358 ログファイル、設定ファイルは上書きされません。
359 さらに、マイナーバージョン間では <program>configure</program> オプション、
360 実行時の設定、モジュール API に不整合が起こらないように、
362 大抵の場合、同一の <program>configure</program> コマンドライン、
363 同一の設定ファイル、モジュール全てが正常に動作するはずです。</p>
365 <p>マイナーバージョンでアップグレードする場合は、
366 既にインストールされているサーバの <code>build</code> ディレクトリ内か、
367 以前インストールに使ったソースコードツリーの最上位ディレクトリ内にある、
368 <code>config.nice</code> ファイルを探してください。
369 このファイルにはソースツリーを設定した時に使った
370 <program>configure</program> コマンドラインが、そのまま入っています。
371 次のバージョンにアップグレードする場合は <code>config.nice</code>
372 ファイルを新しいバージョンのソースツリーにコピーし、
373 必要であればそれを編集した後に、次のように実行します。</p>
376 $ ./config.nice<br />
379 $ <em>PREFIX</em>/bin/apachectl -k graceful-stop<br />
380 $ <em>PREFIX</em>/bin/apachectl -k start<br />
383 <note type="warning">新しいバージョンを使用する場合は、
384 実際に運用を始める前に、必ず自分用の環境でテストすべきです。
385 最終的にアップグレードする前に、非互換性がないかをテストするために、
386 例えば、異なる <code>--prefix</code> と異なるポート (<directive
387 module="mpm_common">Listen</directive> ディレクティブで設定します)
388 を使用することで、古いバージョンに影響を与えずに新しいバージョンを
389 インストールし、実行できます。</note>
391 <p>もとの <program>configure</program> に追加する形で、
392 追加の引数を <code>config.nice</code> に渡すこともできます:</p>
395 $ ./config.nice --prefix=/home/test/apache --with-port=90