この文書で扱う範囲は、Unix や Unix に類似したシステムでの Apache のコンパイルとインストールです。 Windows における コンパイルとインストールに関しては「Microsoft Windows で Apache を使う」をご覧下さい。 その他のプラットホームに関しては「プラットホーム」をご覧下さい。
Apache 2.0 の設定とインストールの環境は、Apache 1.3 とは 完全に異なるものになりました。簡単にインストールできるように、 Apache 1.3 では特製スクリプトを使っていました。 Apache 2.0 では他の Open Source プロジェクトと同様の環境に するために libtool と autoconf を使うようになっています。
| ダウンロード | $ lynx
        http://www.apache.org/dist/httpd/httpd-2_0_NN.tar.gz
         | 
      
| 展開 | $ gzip -d httpd-2_0_NN.tar.gz  | 
      
| 設定 | $ ./configure --prefix=PREFIX
         | 
      
| コンパイル | $ make  | 
      
| インストール | $ make install  | 
      
| カスタマイズ | $ vi PREFIX/conf/httpd.conf  | 
      
| テスト | $ PREFIX/bin/apachectl start
         | 
      
NN は最新のマイナーバージョンナンバーに、
    PREFIX はインストールするサーバでのファイルシステムのパスに、
    置き換えてください。PREFIX を指定しなかった場合は、
    デフォルトの /usr/local/apache2 になります。
Apache HTTPD のコンパイルとインストールに必要なものをはじめとして、 編集とインストールプロセスでのそれぞれの項は 次に詳しく記述されています。
Apache のビルドには次のものが必要です:
PATH には make
      といった基本的なビルドツールが含まれている必要があります。Apache は Apache Software Foundation ダウンロードサイトや近くの ミラーサイトからダウンロードできます。
alpha で終わるバージョン番号は、
    動くか動かないかよく分からない、
    早期のプリテストバージョンであることを示しています。
    beta で終わるバージョンはそれよりは信頼性のある
    リリースですが、テストとバグフィックスを重ねる段階のものです。
    Apache HTTP サーバの入手可能な中で最高の製品リリースを
    ダウンロードしたいのであれば、ファイル名に alpha
    も beta
    も付かない最新のバージョンを選んでください。
ダウンロード後、特にミラーサイトを使った場合は、
    ダウンロードしたものが Apache HTTP 
    サーバの完全で改竄されていないバージョンであることを
    検証することが重要です。これはダウンロードした tarball の PGP 署名を
    テストすることによって検証します。
    これは二つの段階があります。
    まず KEYS ファイルを Apache 配布サイト
    からダウンロードしてください。(KEYS ファイル自体が
    改竄されていないことを確実にするために、以前の Apache 
    配布から取り出したファイルを使ったり、
    公開鍵サーバから鍵を取り込むのもいいでしょう。)
    自分の個人キーホルダーに鍵を取り込むには、
    次のコマンド (pgp のバージョンに依存) を使います:
      $ pgp < KEYS
    
    または、
    
      $ gpg --import KEYS
    
    次のステップでは、tarball を PGP 署名でテストします。
    PGP 署名は必ず メインの Apache
    ウェブサイトから取得してください。
    署名ファイルの名前は、ソースファイルの tarball と同じ名前に
    .asc を付加したものになっています。
    以下のコマンド (やっぱり pgp のバージョンに依存) のどれか一つで、
    配布ファイルをチェックすることができます:
      $ pgp httpd-2_0_NN.tar.gz.asc
    
    または、
    
      $ gpg --verify httpd-2_0_NN.tar.gz.asc
    
    すると、こんなメッセージを受けるはずです。
      Good signature from user "Martin Kraemer
      <martin@apache.org>".
    
    自分のキーホルダーに格納されている信頼関係が原因で、
    "鍵とその鍵の署名者が検証できなかった"
    という旨のメッセージを同時に受けるかもしれません。
    しかし、KEYS 
    ファイルの信憑性を受け入れるならば問題ではありません。
Apache HTTPD の tarball からソースファイルを展開して取り出すとは、 単なる圧縮の解除と tar の展開です:
      $ gzip -d httpd-2_0_NN.tar.gz
       $ tar xvf httpd-2_0_NN.tar
    
    配布用のソースコードがある現在いるディレクトリの下に、
    新しいディレクトリが作られます。
    サーバをコンパイルする段階に進む前に、そのディレクトリに
    cd で移動してください。
次のステップは、あなたのプラットホームと
    個人的な要求に合うように Apache
    ソースツリーを設定することです。
    これは配布ディレクトリのルートディレクトリにある、
    configure スクリプトで行ないます。
     (Apache ソースツリーの CVS
    版をダウンロードした開発者は、次のステップに進む前に
    autoconf とlibtool
    をインストールして buildconf
    を実行する必要があるでしょう。
    公式リリースではこの作業は必要ありません。) 
デフォルトオプションを使ってソースツリーを全て設定する
    のであれば、単純に ./configure とタイプしてください。
    デフォルトオプションを変更できるように、configure
    には様々な変数やコマンドラインオプションが用意されています。
    一般的に、環境変数が ./configure の前に設置されて、
    他のオプションはその後に設置されます。
    ここで最も重要なオプションは Apache 
    をどこにインストールするかを決める location prefix です。
    なぜなら、Apache が正しく動作するためには
    この場所用に設定されていないといけないからです。
    しかし、お好みにより利用できるオプションはもっと沢山あります。
ちょっとどんなことができるかを見せましょう。 ここで典型的な例として、/sw/pkg/apache というインストールツリーで コンパイラとフラグを指定して、さらに二つの追加モジュール mod_rewrite と mod_speling を後で DSO メカニズムでロードするように コンパイルしてみます:
      $ CC="pgcc" CFLAGS="-O2" \
       ./configure --prefix=/sw/pkg/apache \
       --enable-rewrite=shared \
       --enable-speling=shared
    
    configure を実行したら、システムの機能を テストしたり、後でサーバをコンパイルするために必要な Makefile を生成したりするのに数分間かかるでしょう。
Apache の全ての設定フラグを見る最も簡単な方法は、 ./configure --help を実行する方法です。 引数や環境変数に関する簡単な記述が出力されます。
autoconf でのビルドでは幾つかの環境変数を使ってビルド環境を
    設定します。一般的に、これらの変数で Apache をビルドする際の
    方法が変わったりしますが、できあがるサーバの機能には影響ありません。
    これらの変数は configure を呼び出す直前の環境中に
    置くことができますが、通常は上に示した例のように configure
    のコマンドラインでもっと簡単に指定できます。
CC=...CPPFLAGS=...CFLAGS=...LDFLAGS=...LIBS=...INCLUDES=...TARGET=... [デフォルト値:apache]NOTEST_CPPFLAGS=...NOTEST_CFLAGS=...NOTEST_LDFLAGS=...NOTEST_LIBS=...SHLIB_PATH=...--help--quiet--verboseApache をインストールするパス名を設定するには、 現在二通りの方法があります。まず一つ目は、 ディレクトリを指定して、その下にデフォルトの配置で Apache のインストールを行う方法です。
--prefix=PREFIX [デフォルト値:
      /usr/local/apache2]アーキテクチャに依存したファイルを、 異なるディレクトリに配置するようにもできます。
--exec-prefix=EPREFIX
      [デフォルト値:PREFIX]二つ目の方法は、もっと柔軟にインストールパスの配置を
    設定する方法で、config.layout ファイルを
    使います。この方法を使うことによって、
    Apache のインストール中に、それぞれのファイルのための配置を
    個々に指定できるようになります。config.layout
    ファイルには設定例が幾つか含まれていますし、
    お好みの設定を次の例に従って作り出すこともできます。
    このファイル中では、異なる配置は <Layout
    FOO>...</Layout> セクションでグループ化され、
    FOO といった名前で参照されます。
--enable-layout=LAYOUTconfig.layout ファイル中での、
      指定された名前のレイアウトを使用します。現在は --enable-layout と--prefix
    オプションをミックスすることはできません。
    また configure コマンドライン中で、
    詳しく個々のパス名を指定することもできません。
    基本的なインストール作業を行いたいだけならば、単純に
    --prefix オプションをそのまま使うことができます。
    インストールをカスタマイズしたいのであれば、
    config.layout ファイルを編集して
    --enable-layout オプションを使う必要が
    あるでしょう。
Apache はモジュール化されたサーバです。 ごくごく基本的な機能だけが、コアサーバに含まれています。 拡張機能は様々なモジュールの形で提供されます。 設定プロセス中では、どんなモジュールをサーバで使うように コンパイルするか選ばなければなりません。このマニュアルにあるモジュールの一覧を 参照できます。 "Base" ステータスの モジュールはデフォルトで含まれますし、 使いたくないのであれば、わざと無効にしなければ なりません。他のステータスのモジュールは、 使いたければ有効にしなければなりません。
Apache と一緒にコンパイルして使うようにするには、
    二通りの方法があります。一つめはモジュールを
    スタティックコンパイルする方法です。この場合は、
    Apache のバイナリに恒久的に組み込まれることになります。
    これの代わりに、もしオペレーティングシステムが動的共有
    ライブラリ (DSO) (訳注: Dynamic Shared Object) を
    提供していて autoconf がそれを認識できる
    場合は、モジュールをダイナミックコンパイルする方法があります。
    DSO モジュールは Apache のバイナリとは別に
    保存され、mod_so で提供される
    実行時設定ディレクティブを使って
    組み込んだり取り外したりできます。
    動的モジュールを実際に一つもコンパイルすることなく
    サーバが DSO をロードできるようにするには、
    --enable-so と明示的にすることができます。
--enable-MODULE[=shared]=shared オプションを付加してください。--disable-MODULE--enable-modules=MODULE-LIST--enable-mods-shared=MODULE-LIST--enable-modules や
    --enable-mods-shared オプションに使う
    MODULE-LIST は、普通はスペース区切りの
    モジュール識別子のリストです。
    例えば mod_dav と mod_info を有効にする場合は、
    次のどちらかが使えます。
      ./configure --enable-dav --enable-info
    
    または、同等の
      ./configure --enable-modules="dav info"
    
    これに加えて、特別なキーワード all や
    most を使って、
    一度に全てあるいはほとんどのモジュールを加えることができます。
    その後で好きなモジュールを --disable-MODULE
    オプションを使って取り除くことができます。
    例えば、mod_info を除く全てのモジュールを DSO モジュールとして
    組み込む場合は、次のようにします。
      ./configure --enable-mods-shared=all
      --disable-info
    
    標準的なモジュールに加えて、Apache 2.0 では
    Multi-Processing Modules (MPM)
    を選択してインクルードします。ただ一つだけの MPM
    をコンパイルのプロセスで含める必要があります。
    個々のプラットホーム向けのデフォルトの MPM は MPM 文書に一覧がありますが、
    configure 
    コマンドで置き換えることができます。
--with-mpm=NAMEApache には suexec と呼ばれる 補助プログラムがあります。 このプログラムはユーザの CGI プログラムを隔離するために 使用することができます。しかしながら、suexec を適切に設定しなければ、 セキュリティ上致命的な問題をかかえる場合があります。 そのため、この機能を実装する前に suexec 文書をよく読んで一考しておきましょう。
これで Apache の様々なパーツをビルドすることができます。 次のコマンドを単純に実行するだけです:
      $ make
    
    基本的な設定をするのに、Pentium III/Linux 2.2 のシステムでおおよそ 3 分程度かかりますが、 あらかじめご了承下さい。 また、時間はハードウェアや有効にしたモジュールの数に 大きく依存するでしょう。
さて、設定したインストール PREFIX 
     (前述の --prefix オプションを参照) 
    以下にパッケージをインストールする段階になりました。
    次のコマンドを実行してください:
      $ make install
    
    アップグレードする場合は、インストールでは設定ファイルや ドキュメントファイルの上書きは行いません。
次に PREFIX/conf/ 以下にある 設定ファイルを編集して、 Apache HTTP サーバをカスタマイズします。
      $ vi PREFIX/conf/httpd.conf
    
    設定ディレクティブの 完全なリファレンスが載っていますので、 docs/manual/ や http://httpd.apache.org/docs/ にある Apache マニュアルをざっと見てください。
次のコマンドを実行して Apache HTTP サーバを開始できます:
      $ PREFIX/bin/apachectl start
    
    URL http://localhost/ を通して最初のドキュメントに対する
    リクエストを発行する事ができるはずです。これで見える
    ウェブページは DocumentRoot
    以下に置かれたもので、通常は
    PREFIX/htdocs/ でしょう。
    サーバを再び停止するには、
    次のコマンドを実行します:
      $ PREFIX/bin/apachectl stop