Windows 上では、Apache は通常は Windows NT, 2000, XP ではサービスとして、Windows 9x, ME ではコンソールアプリケーションとして実行されます。 詳細に関しては、「 サービスとして実行する」と「 コンソールアプリケーションとして実行する」をご覧下さい。
Unixでは、httpd
プログラムが、バックグラウンドで常にリクエスト処理を行う
デーモンとして実行されます。この文書ではどのように
httpd
を起動するかについて記述しています。
もし、設定ファイル中で指定されている
httpd
プロセスは root 権限で走り続けますが、
子プロセスはもっと低い権限で走ります。
これは選択したマルチプロセッシングモジュールで制御されます。
推奨の httpd
実行プログラムの起動方法は、
apachectl
制御スクリプトを使用する方法です。このスクリプトは、httpd
がオペレーティングシステム上で正常に動作するように必要な環境変数を
適切に設定して、httpd
バイナリを起動します。
apachectl
はどんなコマンドライン引数も通過させますので、
httpd
のどのコマンドラインオプションも
apchectl
のオプションとして使用できます。
また、apchectl
スクリプトを直接編集し、
スクリプト先頭付近の HTTPD
変数を変更することで、
httpd
バイナリの正しい位置を指定したり、常に
付加させるコマンドライン引数を指定したりすることができます。
httpd
が起動されてまず最初にすることは、
設定ファイル
httpd.conf
の位置を特定して読み込むことです。
このファイルの位置はコンパイル時に設定されますが、実行時に
-f
コマンドラインオプションを使って
位置を指定することもできます。例えば次のようにです。
スタートアップが万事上手くいったら、サーバはターミナルから
切り離されて、コマンドプロンプトが即座に戻ってくるでしょう。
これはサーバが起動している状態を示しています。
その後はブラウザでサーバに接続して、
Apache は、起動時に致命的な問題に遭遇すると、
終了する前に、コンソールか
Unable to bind to Port ...
」
です。このメッセージは普通は次のどちらかが原因です。
より多くの問題解決の方策の説明は、 Apache FAQ をご覧下さい。
システムがリブートした後でも
サーバが実行され続けるようにしたい場合は、
apachectl
を呼び出すものをシステムスタートアップファイル
(通常 rc.local
や rc.N
内のファイル) に追加しなければなりません。
この方法では Apache を root 権限で起動します。
これをする前に、セキュリティやアクセス制限が
適切に設定されていていることを確認してください。
apachectl
スクリプトは通常は、標準的な SysV init
スクリプトとして動作するように設計されています。
start
, restart
, stop
といった引数をとって、httpd
への適切なシグナルに変換します。
ですから、通常は単に適切な init ディレクトリ内から
apachectl
へリンクすることができます。しかし、
念のためシステムの要求に合致していることを確認してください。
httpd や apachectl 、サーバに含まれていたその他補助プログラムの、 コマンドラインオプションに関する追加情報は、 サーバと補助プログラムページに 記載されています。 Apache 配布に含まれている全モジュール、 それによって提供されるディレクティブ のドキュメントもあります。