[APACHE DOCUMENTATION]

Apache HTTP Server Version 1.3

Apache 1.3 のコンパイルとインストール

このドキュメントは Apache を Unix システムでコンパイル、インストールするためのものです。Windows でのコンパイルとインストールについては Microsoft Windows で使う Apache、TPF については Apache 1.3 HTTP Server を TPF にインストール を見てください。

UnixWare ユーザはコンパイルする前に、各種の UnixWare バージョンの build notes を参考にすると良いでしょう。

Apache のダウンロード

Apache の最新のバージョン情報をhttp://www.apache.org/ Apache ウェブサイトで得ることが出来ます。ここには最新リリースと、ベータテスト版のリリース、ミラーウェブサイトと anonymous ftp サイトが表示されています。

バイナリ配布をダウンロードしたのなら、Apache のインストールに移ってください。そうでなければ、サーバのコンパイルについて記述している次のセクションを読んで下さい。

Apache のコンパイル

Apache のコンパイルは三段階です: まずサーバに入れたい Apache モジュールを選択してください。次に、OS に合った設定をします。最後にコンパイルをします。

Apache の全ての設定は、Apache 配布のsrcディレクトリで行われます。このディレクトリに入ってください。

  1. Configuration ファイルの中で Apache にコンパイルするモジュールを選択します。実装したいオプションのモジュールの行のコメントを外すか(ファイルの終わりにある AddModule 行で)、あなたがダウンロードしたか、書き込んだ追加のモジュールの新しい行を追加します(どのように Apache モジュールを書き込むかについてのドキュメントはAPI.htmlを参照してください)。必要でないことがわかっていれば、デフォルトモジュールのいくつかにコメントアウトすることができます(ですが、デフォルトのモジュールの多くはサーバの正確な操作とセキュリティにとって重要なので注意してください)。 Rule行のいくつかを設定する必要があるなら、Configuration ファイルにある指示を読むべきでしょう。

  2. OS に合うように Apache を設定してください。通常、以下に与えられているようなConfigureスクリプトを実行できます。 しかし、もしこれが失敗するか、特別な要求を持っていれば(例えばオプションのモジュールによって要求される追加のライブラリを含むための)、 Configuration ファイルで以下のオプションを一つ以上編集する必要があるかもしれません: EXTRA_CFLAGS, LIBS, LDFLAGS, INCLUDES.

    Configure スクリプトを実行します:

        % Configure
        Using 'Configuration' as config file
         + configured for <whatever> platform
         + setting C compiler to <whatever> *
         + setting C compiler optimization-level to <whatever> *
         + Adding selected modules
         + doing sanity check on compiler and options
        Creating Makefile in support
        Creating Makefile in main
        Creating Makefile in os/unix
        Creating Makefile in modules/standard
       
    (*: 設定とシステムによっては、Configure はこれらの行を表示しません。それで OK です).

    これは 3 の段階で使われる Makefile を生成します。また、オプションのサポートプログラムをコンパイルするために、サポートディレクトリの中に Makefile を作ります。

    (様々な設定を保存したいなら、Configure -file Configuration.ai のように、別の Configuration ファイルを読ように Configure にオプションを付けます)

  3. make を実行します。
Apache 配布にあるモジュールはテストが行われており、Apache 開発グループのメンバーによって正確に使われたものです。特定のニーズや機能があるメンバーやサードパーティによって配布された追加モジュールは、<URL:http://www.apache.org/dist/contrib/modules/>で入手できます。コアの Apache コードに、これらのモジュールをリンクさせるためのページに使用説明があります。

Apache のインストール

コンパイルした後、src ディレクトリに httpd というバイナリファイルが作成されます。Apache のバイナリー配布はこのファイルです。

次のステップはプログラムをインストールして、それを設定することです。Apache は、コンパイルされているディレクトリと同じセットから設定され、実行するようになっています。もしどこか他のところから実行させたければ、ディレクトリを作って、そこにconflogsiconsディレクトリをコピーしてください。その場合には、サーバルートのディレクトリのパーミッションの設定するかについて、security 情報 を読むべきです。

次に、サーバの設定ファイルを編集します。3つの設定ファイルで directive を設定します(訳注: Apache 1.3.4 からは設定ファイルを一つに統一することが推奨されています。Apache 1.3.4 以降ではデフォルトで httpd.conf のみを使います)。デフォルトでこれらのファイルは、conf ディレクトリに配置され、srm.confaccess.confhttpd.conf です。 念のため、配布の conf ディレクトリには同じ内容のファイル、srm.conf-distaccess.conf-disthttpd.conf-dist があります。 -distなしでその名前のこれらのファイルをコピーするか、名前を変えてください。それからそれぞれのファイルを編集してください。それぞれのファイルにあるコメントを注意深く読んでください。これらのファイルの正確な設定に失敗すると、サーバが動かなくなったり、動作が不安定になったりします。 conf ディレクトリには mime.types という追加ファイルがなければなりません。このファイルは通常、編集の必要がありません。

最初に httpd.conf を編集してください。これはサーバに関する一般的な属性を設定します; ポート番号や起動ユーザです。次に srm.conf ファイルを編集してください; これはドキュメントツリーの root、server-parsed HTML や内部的なイメージマップの解析のような特別な機能を設定します。最後に access.conf ファイルを編集してください。アクセスに関する基本事項を設定します。

これら3つのファイルに加えて、サーバの動作はアクセスされたディレクトリにある .htaccess ファイルを使うことによって、ディレクトリ毎で設定できます。

システムタイムを適切に設定してください!

公的なウェブサーバの適切な操作には、HTTP プロトコルの要素がその日の時間として示されるため、正確な時間を維持していることが必要です。UNIX や、NT であっても、NTP や、なんらかの時間の同期を取るシステムの設定に注意することです。

サーバの起動と停止

サーバを起動するには、単に httpd を実行するだけです。これはコードにコンパイルされた場所にある httpd.conf を捜します(デフォルトでは /usr/local/apache/conf/httpd.conf)。もしこのファイルがどこか他にあれば、-f の引数で本当の場所を与えることができます。例えば:
    /usr/local/apache/httpd -f /usr/local/apache/conf/httpd.conf
もし全てがうまく行けば、これは直ちにコマンドプロンプトを返します。これは、サーバが立ち上がって、実行していることを示しています。サーバの初期化の間になにか不都合が生じると、画面にエラーメッセージが表示されます。 もしサーバの起動が OK なら、サーバに接続するためにブラウザを使い、ドキュメントを読むことができます。サーバとして同じマシンでブラウザを動かして、デフォルトの 80 のポートを使うと、ブラウザに現れる当てはまる URL は
    http://localhost/

サーバが起動すると、リクエストをハンドルするプロセスをたくさん作ります。もしルートユーザとして Apache を起動させると、子が httpd.conf ファイルで与えられているようなユーザに変更している間、親プロセスはルートとして作動し続けます。

httpd が走っている時に、アドレスに対して "bind" できないことでエラーが出るのは、設定された Apache のポートが既に他のプロセスに使われているか、一般ユーザとして 1024 以下(デフォルト・ポート 80 で)のポートを使って httpd を作動させているかのどちらかです。

サーバが作動しなければ、httpd を実行したときに表示されるエラーメッセージを読みます。詳しくは、サーバの error_log を調べます(デフォルトの設定では、logs ディレクトリにある error_log ファイルです)。

システムのリブート後にサーバを走らせたいのなら、スタートアップのファイルで httpd を呼ぶようにしてください(一般的には、rc.local か、またはrc.N ディレクトリにあるファイルです)。これは root として Apache を起動します。その前に、セキュリティとアクセス制限に関するサーバの設定を確実にしてください。

Apache を停止させるには、親プロセスに TERM シグナルを送信します。このプロセスの PID は、logsディレクトリにあるhttpd.pidファイルに書かれます(別の場所に設定されていなければ)。親によって更新されるので、子プロセスを殺さないでください。サーバを停止させる一般的なコマンドは:

    kill -TERM `cat /usr/local/apache/logs/httpd.pid`

Apache のコマンドラインでのオプションや、設定、ログファイルの詳細な情報については、Apache の起動を参照してください。 配布されているモジュールによってサポートされている全ての Apache の directive に関しては、Apache の directive を参照してください。

サポートプログラムのコンパイル

上記でコンパイルされ、設定されるメインの httpd サーバの他に、Apache は多数のサポートプログラムを含んでいます。これらはデフォルトではコンパイルされません。サポートプログラムは support ディレクトリにあります。サポートプログラムをコンパイルするには、このディレクトリに入り、
    make
と入力してください。
このページの情報に関わる、ご質問、お問い合わせは、 japache@infoscience.co.jpまで。

JAPACHE ホームページ