<?xml version="1.0" encoding="EUC-JP"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>コンパイルとインストール - Apache HTTP サーバ</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p>
<p class="apache">Apache HTTP サーバ バージョン 2.2</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP サーバ</a> &gt; <a href="http://httpd.apache.org/docs/">ドキュメンテーション</a> &gt; <a href="./">バージョン 2.2</a></div><div id="page-content"><div id="preamble"><h1>コンパイルとインストール</h1>
<div class="toplang">
<p><span>Available Languages: </span><a href="./de/install.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/install.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/install.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./fr/install.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/install.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div>


    <p>この文書で扱う範囲は、Unix や Unix に類似したシステムでの
    Apache HTTPd サーバのコンパイルとインストールです。 Windows における
    コンパイルとインストールに関しては「<a href="platform/windows.html">Microsoft
    Windows で Apache HTTPd を使う</a>」をご覧下さい。
    その他のプラットホームに関しては「<a href="platform/">プラットホーム</a>」をご覧下さい。</p>

    <p>Apache HTTPd では他の Open Source プロジェクトと同様、
    ビルド環境構築に <code>libtool</code> と <code>autoconf</code>
    を使うようになっています。</p>

    <p>マイナーバージョンからその次のバージョンにアップグレードする
    (2.2.50 から 2.2.51 へ等) 場合は、まず <a href="#upgrading">
    アップグレード</a>をご覧下さい。</p>

</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#overview">概要 (せっかちな人向け)</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#requirements">必要なもの</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#download">ダウンロード</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#extract">展開</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#configure">ソースツリーを設定する</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#compile">ビルド</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#install">インストール</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#customize">カスタマイズ</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#test">テスト</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#upgrading">アップグレード</a></li>
</ul><h3>参照</h3><ul class="seealso"><li><a href="programs/configure.html">ソースツリーの設定</a></li><li><a href="invoking.html">Apache HTTPd の起動</a></li><li><a href="stopping.html">Apache HTTPd の停止と再起動</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="overview" id="overview">概要 (せっかちな人向け)</a></h2>

    <table>
      
      <tr>
        <td><a href="#download">ダウンロード</a></td>

        <td><code>$ lynx http://httpd.apache.org/download.cgi</code>
        </td>
      </tr>

      <tr>
        <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>
      </tr>

      <tr>
        <td><a href="#configure">設定</a></td>

        <td><code>$ ./configure --prefix=<em>PREFIX</em></code>
        </td>
      </tr>

      <tr>
        <td><a href="#compile">コンパイル</a></td>

        <td><code>$ make</code> </td>
      </tr>

      <tr>
        <td><a href="#install">インストール</a></td>

        <td><code>$ make install</code> </td>
      </tr>

      <tr>
        <td><a href="#customize">カスタマイズ</a></td>

        <td><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code> </td>
      </tr>

      <tr>
        <td><a href="#test">テスト</a></td>

        <td><code>$ <em>PREFIX</em>/bin/apachectl -k start</code>
        </td>
      </tr>
    </table>

    <p><em>NN</em> は最新のバージョンナンバーに、
    <em>PREFIX</em> はインストールするサーバでのファイルシステムのパスに、
    置き換えてください。<em>PREFIX</em> を指定しなかった場合は、
    デフォルトの <code>/usr/local/apache2</code> になります。</p>

    <p>Apache HTTP サーバのコンパイルとインストールに必要なものをはじめとして、
    コンパイルとインストールについては、次に詳しく記述されています。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="requirements" id="requirements">必要なもの</a></h2>

    <p>Apache HTTPd のビルドには次のものが必要です:</p>

    <dl>
      <dt>ディスクスペース</dt>
      <dd>ディスクに少なくとも 50 MB の一時的な空き容量があるように
      気を付けてください。インストール後は Apache は 10 MB 程度の
      ディスクスペースを占めます。実際に必要になるディスクスペースは、
      設定オプションやサードパーティー製モジュールをどう選択するかによって
      大きく変わるでしょう。</dd>

      <dt>ANSI-C コンパイラとビルドシステム</dt>
      <dd>ANSI-C コンパイラをインストールしておいて下さい。お薦めは <a href="http://www.gnu.org/">Free Software Foundation (FSF)</a>
      による <a href="http://www.gnu.org/software/gcc/gcc.html">GNU C
      compiler (GCC)</a> です。GCC がない場合は、
      少なくとも提供されているコンパイラが ANSI 準拠であることを確認しておいて下さい。
      それから、変数 <code>PATH</code> には <code>make</code>
      といった基本的なビルドツールが含まれている必要があります。</dd>

      <dt>時刻を正確にする</dt>
      <dd>HTTP プロトコルの要素は日時の時刻で表現されています。ですから、
      正確な時刻にシンクロさせる機能をシステムに設定することを吟味してみて下さい。
      Network Time Protocol (NTP) をベースとした ntpdate や xntpd プログラムが
      この目的によく用いられます。NTP ソフトウェアや公開 NTP 
      サーバに関する詳細は、<a href="http://www.ntp.org">NTP ホームページ</a> をご覧下さい。</dd>

      <dt><a href="http://www.perl.org/">Perl 5</a>
      [オプション]</dt>
      <dd>提供されているスクリプト幾つか、例えば <code class="program"><a href="./programs/apxs.html">apxs</a></code> や
      <code class="program"><a href="./programs/dbmmanage.html">dbmmanage</a></code> は
      Perl で書かれているので、Perl 
      5 インタプリタが必要になります (5.003 以降)。
      Perl インタプリタを複数インストールしている (たとえば全体のシステムの一部
      としてインストールされている Perl 4 と、自分で追加でインストールした
      Perl 5 があるなどの) 場合、<code>--with-perl</code> オプション (下記参照)
      を使って <code class="program"><a href="./programs/configure.html">configure</a></code> が意図したものを使うように
      明示的に指定すると良いでしょう。
      <code class="program"><a href="./programs/configure.html">configure</a></code> スクリプトで Perl 5 インタプリタが
      見つからない場合は、この影響を受けるサポートスクリプトが使えなくなります。
      もちろん、Apache HTTPd のコンパイルとインストールは問題なく行えます。</dd>

      <dt><a href="http://apr.apache.org">apr/apr-util &gt;= 1.2</a></dt>
      <dd><code>apr</code> と <code>apr-util</code> は Apache HTTPd
      ソースリリースに同梱されていますし、どんな環境でもほぼ問題なく
      使えるはずです。ただし <code>apr</code> と <code>apr-util</code>
      のバージョン 1.0 や 1.1 がシステムの一部として既にインストールされている場合、
      <code>apr</code>/<code>apr-util</code> を 1.2 にアップグレードするか、
      httpd を隔離した環境でビルドする必要があります。
      バンドルされている <code>apr</code>/<code>apr-util</code> を使って
      アップグレードする場合は、これらを手動でインストールする必要があります :
      <div class="example"><p><code>
        # Build and install apr 1.2<br />
        cd srclib/apr<br />
        ./configure --prefix=/usr/local/apr-httpd/<br />
        make<br />
        make install<br />
        <br />
        # Build and install apr-util 1.2<br />
        cd ../apr-util<br />
        ./configure --prefix=/usr/local/apr-util-httpd/ 
          --with-apr=/usr/local/apr-httpd/<br />
        make<br />
        make install<br />
        <br />
        # Configure httpd<br />
        cd ../../<br />
        ./configure --with-apr=/usr/local/apr-httpd/ 
          --with-apr-util=/usr/local/apr-util-httpd/
      </code></p></div>
      </dd>
    </dl>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="download" id="download">ダウンロード</a></h2>

    <p>Apache HTTP サーバは <a href="http://httpd.apache.org/download.cgi">Apache HTTP
    サーバダウンロードサイト</a>からダウンロードできますし、
    同じ場所に幾つかのミラーサイトもリストしています。
    UNIX に類似するシステムで Apache HTTPd を使うユーザは、ソースを
    ダウンロードしてビルドしたほうが良いでしょう。
    ビルドの手順（下記）は簡単ですし、そのおかげでニーズに
    見合ったカスタマイズを簡単にできます。
    さらに、バイナリのリリースはソースリリースよりも
    遅れていることがよくあります。
    それでもバイナリをダウンロードしたのであれば、
    ディストリビューションの中にある <code>INSSTALL.bindist</code> 
    ファイルの説明に従ってください。</p>

    <p>ダウンロード後、ダウンロードしたものが Apache HTTP 
    サーバの完全で改竄されていないバージョンであることを
    検証することが重要です。これはダウンロードした tarball の PGP 署名を
    テストすることによって検証します。
    この手順の詳細は <a href="http://httpd.apache.org/download.cgi#verify">ダウンロード
    ページ</a> にあり、さらに詳しい例は <a href="http://httpd.apache.org/dev/verification.html">PGP の使用
    </a> に記載されています。</p>

</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="extract" id="extract">展開</a></h2>

    <p>Apache HTTPd の tarball
    からソースファイルを展開して取り出すとは、
    単なる圧縮の解除と tar の展開です:</p>

    <div class="example"><p><code>
      $ gzip -d httpd-<em>NN</em>.tar.gz<br />
      $ tar xvf httpd-<em>NN</em>.tar
    </code></p></div>

    <p>配布用のソースコードがある現在いるディレクトリの下に、
    新しいディレクトリが作られます。
    サーバをコンパイルする段階に進む前に、そのディレクトリに
    <code>cd</code> で移動してください。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="configure" id="configure">ソースツリーを設定する</a></h2>

    <p>次のステップは、あなたのプラットホームと
    個人的な要求に合うように Apache HTTPd
    ソースツリーを設定することです。
    これは配布ディレクトリのルートディレクトリにある、
    <code class="program"><a href="./programs/configure.html">configure</a></code>
    スクリプトで行ないます。
     (Apache HTTPd ソースツリーの未リリース
    版をダウンロードした開発者は、次のステップに進む前に
    <code>autoconf</code> と<code>libtool</code>
    をインストールして <code>buildconf</code>
    を実行する必要があります。
    公式リリースではこの作業は必要ありません。) </p>

    <p>デフォルトオプションを使ってソースツリーを全て設定する
    のであれば、単純に <code>./configure</code> とタイプしてください。
    デフォルトオプションを変更できるように、<code class="program"><a href="./programs/configure.html">configure</a></code>
    には様々な変数やコマンドラインオプションが用意されています。</p>

    <p>最も重要なオプションは、Apache HTTPd がこの後でインストールされる位置
    <code>--prefix</code> です。Apache HTTPd は、このインストール位置に
    おいて正常に動作するように設定しなければならないからです。
    さらに詳細なファイル位置の制御は追加の <a href="programs/configure.html#installationdirectories">設定オプション
    </a> でできます。</p>

    <p>この時点で、<a href="mod/">モジュール</a> を有効にしたり
    無効にしたりすることで Apache HTTPd 本体に含まれる <a href="programs/configure.html#optionalfeatures">機能</a>
    を指定できます。Apache HTTPd 本体にはデフォルトで、モジュールの <a href="mod/module-dict.html#Status">Base</a> セットが
    含まれます。その他のモジュールは 
    <code>--enable-<var>module</var></code> オプションで
    有効になります。ここで <var>module</var> はモジュールの名前で、
    つまりそれはモジュールの名前から <code>mod_</code> 文字列を取り除いた後に
    アンダースコアをダッシュで置換した文字列です。
    これとは別の方法で <code>--enable-<var>module</var>=shared</code>
    オプションを使って、モジュールを<a href="dso.html">
    シェアードオブジェクト (DSO)</a> -- 実行時にロードしたり
    アンロードしたりできる形式 -- としてコンパイルすることもできます。
    同様に、<code>--disable-<var>module</var></code> オプションで
    Base モジュールを無効化することもできます。
    これらのオプションを使っているときに、もし指定したモジュールが存在しなくても
    <code class="program"><a href="./programs/configure.html">configure</a></code> は警告を上げることなく、単純にオプションを
    無視することに気をつけてください。</p>

    <p>上記に加えて、<code class="program"><a href="./programs/configure.html">configure</a></code> スクリプトに、
    コンパイラ、ライブラリ、ヘッダファイルの位置を追加情報として渡す
    必要がある場合があります。このような場合には、環境変数あるいは
    コマンドラインオプションで <code class="program"><a href="./programs/configure.html">configure</a></code> に渡します。
    詳細に関しては <code class="program"><a href="./programs/configure.html">configure</a></code> マニュアルページ
    をご覧ください。</p>

    <p>ちょっとどんなことができるかを見せましょう。
    ここで典型的な例として、<code>/sw/pkg/apache</code> 
    というインストールツリーでコンパイラとフラグを指定して、
    さらに二つの追加モジュール <code class="module"><a href="./mod/mod_rewrite.html">mod_rewrite</a></code> と
    <code class="module"><a href="./mod/mod_speling.html">mod_speling</a></code> を後で DSO 
    メカニズムでロードするようにコンパイルしてみます:</p>

    <div class="example"><p><code>
      $ CC="pgcc" CFLAGS="-O2" \<br />
       ./configure --prefix=/sw/pkg/apache \<br />
       --enable-rewrite=shared \<br />
       --enable-speling=shared
    </code></p></div>

    <p><code class="program"><a href="./programs/configure.html">configure</a></code> を実行したら、システムの機能を
    テストしたり、後でサーバをコンパイルするために必要な Makefile
    を生成したりするのに数分間かかるでしょう。</p>

    <p>個々の <code class="program"><a href="./programs/configure.html">configure</a></code> オプションの詳細に関しては
    <code class="program"><a href="./programs/configure.html">configure</a></code> マニュアルページ
    をご覧ください。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="compile" id="compile">ビルド</a></h2>

    <p>これで Apache HTTPd の様々なパーツをビルドすることができます。
    次のコマンドを単純に実行するだけです:</p>

<div class="example"><p><code>$ make</code></p></div>

    <p>基本的な設定をするのに数分かかりますが、
    あらかじめご了承ください。
    また、時間はハードウェアや有効にしたモジュールの数に
    大きく依存するでしょう。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="install" id="install">インストール</a></h2>

    <p>さて、設定したインストール <em>PREFIX</em> 
     (前述の <code>--prefix</code> オプションを参照) 
    以下にパッケージをインストールする段階になりました。
    次のコマンドを実行してください:</p>

<div class="example"><p><code>$ make install</code></p></div>

    <p>アップグレードする場合は、インストールでは設定ファイルや
    ドキュメントファイルの上書きは行いません。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="customize" id="customize">カスタマイズ</a></h2>

    <p>次に <code><em>PREFIX</em>/conf/</code> 以下にある <a href="configuring.html">設定ファイル</a>を編集して、
    Apache HTTP サーバをカスタマイズします。</p>

<div class="example"><p><code>$ vi <em>PREFIX</em>/conf/httpd.conf</code></p></div>

    <p><a href="./">docs/manual/</a> の Apache HTTP サーバマニュアルをざっと見てください。
    または、<a href="http://httpd.apache.org/docs/2.2/">http://httpd.apache.org/docs/2.2/</a>
    にあるマニュアル最新版、<a href="mod/directives.html">設定ディレクティブ</a>に当たってみてください。</p>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="test" id="test">テスト</a></h2>

    <p>次のコマンドを実行して Apache HTTP サーバを<a href="invoking.html">開始</a>できます:</p>

<div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl -k start</code></p></div>

    <p>URL <code>http://localhost/</code> を通して最初のドキュメントに対する
    リクエストを発行する事ができるはずです。これで見える
    ウェブページは <code class="directive"><a href="./mod/core.html#documentroot">DocumentRoot</a></code>
    以下に置かれたもので、通常は
    <code><em>PREFIX</em>/htdocs/</code> でしょう。
    サーバを再び<a href="stopping.html">停止</a>するには、
    次のコマンドを実行します:</p>

    <div class="example"><p><code>$ <em>PREFIX</em>/bin/apachectl -k stop</code></p></div>
</div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="upgrading" id="upgrading">アップグレード</a></h2>

    <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> を実行しても今あるドキュメント、
    ログファイル、設定ファイルは上書きされません。
    さらに、マイナーバージョン間では <code class="program"><a href="./programs/configure.html">configure</a></code> オプション、
    実行時の設定、モジュール API に不整合が起こらないように、
    開発者は最大限の努力をしています。
    大抵の場合、同一の <code class="program"><a href="./programs/configure.html">configure</a></code> コマンドライン、
    同一の設定ファイル、モジュール全てが正常に動作するはずです。</p>

    <p>マイナーバージョンでアップグレードする場合は、
    既にインストールされているサーバの <code>build</code> ディレクトリ内か、
    以前インストールに使ったソースコードツリーの最上位ディレクトリ内にある、
    <code>config.nice</code> ファイルを探してください。
    このファイルにはソースツリーを設定した時に使った
    <code class="program"><a href="./programs/configure.html">configure</a></code> コマンドラインが、そのまま入っています。
    次のバージョンにアップグレードする場合は <code>config.nice</code>
    ファイルを新しいバージョンのソースツリーにコピーし、
    必要であればそれを編集した後に、次のように実行します。</p>

    <div class="example"><p><code>
    $ ./config.nice<br />
    $ make<br />
    $ make install<br />
    $ <em>PREFIX</em>/bin/apachectl -k graceful-stop<br />
    $ <em>PREFIX</em>/bin/apachectl -k start<br />
    </code></p></div>

    <div class="warning">新しいバージョンを使用する場合は、
    実際に運用を始める前に、必ず自分用の環境でテストすべきです。
    最終的にアップグレードする前に、非互換性がないかをテストするために、
    例えば、異なる <code>--prefix</code> と異なるポート (<code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code> ディレクティブで設定します) 
    を使用することで、古いバージョンに影響を与えずに新しいバージョンを
    インストールし、実行できます。</div>
</div></div>
<div class="bottomlang">
<p><span>Available Languages: </span><a href="./de/install.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/install.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/install.html" hreflang="es" rel="alternate" title="Español">&nbsp;es&nbsp;</a> |
<a href="./fr/install.html" hreflang="fr" rel="alternate" title="Français">&nbsp;fr&nbsp;</a> |
<a href="./ja/install.html" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/install.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2007 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">モジュール</a> | <a href="./mod/directives.html">ディレクティブ</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">用語</a> | <a href="./sitemap.html">サイトマップ</a></p></div>
</body></html>