<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE manualpage SYSTEM "/style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="/style/manual.ja.xsl"?>
<!-- English Revision: 1597021 -->
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<manualpage metafile="invoking.xml.meta">
<title>Apache の起動</title>
<summary>
<p>Windows 上では、Apache は通常はサービスとして実行されます。
詳細に関しては、「<a href="platform/windows.html#winsvc">
サービスとして実行する</a>」をご覧下さい。</p>
<p>Unixでは、<program>httpd</program>
プログラムが、バックグラウンドで常にリクエスト処理を行う
デーモンとして実行されます。この文書ではどのように
<program>httpd</program> を起動するかについて記述しています。</p>
</summary>
<seealso><a href="stopping.html">停止と再起動</a></seealso>
<seealso><program>httpd</program></seealso>
<seealso><program>apachectl</program></seealso>
<section id="startup"><title>Apache の起動方法</title>
<p>もし、設定ファイル中で指定されている
<directive module="mpm_common">Listen</directive>
がデフォルトの 80 (もしくは 1024 以下の他のポート)
である場合は、Apache を起動するためには root
権限が必要になりますが、
これはこの特権ポートにバインドするためです。
起動して、一度ログファイルを開くといった準備のための
動作を幾つか実行した後は、クライアントからのリクエストに対する
listen と応答を実際に行う<em>子</em>プロセスを起動します。
メインの <program>httpd</program> プロセスは root 権限で走り続けますが、
子プロセスはもっと低い権限で走ります。
これは選択した<a
href="mpm.html">マルチプロセッシングモジュール</a>で制御されます。</p>
<p>推奨の <program>httpd</program> 実行プログラムの起動方法は、
<program>apachectl</program>
制御スクリプトを使用する方法です。このスクリプトは、<program>httpd</program>
がオペレーティングシステム上で正常に動作するように必要な環境変数を
適切に設定して、<program>httpd</program> バイナリを起動します。
<program>apachectl</program> はどんなコマンドライン引数も通過させますので、
<program>httpd</program> のどのコマンドラインオプションも
<program>apchectl</program> のオプションとして使用できます。
また、<program>apchectl</program> スクリプトを直接編集し、
スクリプト先頭付近の <code>HTTPD</code> 変数を変更することで、
<program>httpd</program> バイナリの正しい位置を指定したり、<em>常に</em>
付加させるコマンドライン引数を指定したりすることができます。</p>
<p><program>httpd</program> が起動されてまず最初にすることは、
<a href="configuring.html">設定ファイル</a>
<code>httpd.conf</code> の位置を特定して読み込むことです。
このファイルの位置はコンパイル時に設定されますが、実行時に
<code>-f</code> コマンドラインオプションを使って
位置を指定することもできます。例えば次のようにです。</p>
<example>/usr/local/apache2/bin/apachectl -f
/usr/local/apache2/conf/httpd.conf</example>
<p>スタートアップが万事上手くいったら、サーバはターミナルから
切り離されて、コマンドプロンプトが即座に戻ってくるでしょう。
これはサーバが起動している状態を示しています。
その後はブラウザでサーバに接続して、
<directive module="core">DocumentRoot</directive>
ディレクトリのテストページを見ることができるでしょう。</p>
</section>
<section id="errors"><title>起動時のエラー</title>
<p>Apache は、起動時に致命的な問題に遭遇すると、
終了する前に、コンソールか
<directive module="core">ErrorLog</directive>
のどちらかに問題を記述したメッセージを出力します。
最もよくあるエラーメッセージは
「<code>Unable to bind to Port ...</code>」
です。このメッセージは普通は次のどちらかが原因です。</p>
<ul>
<li>root でログインしていない時に、
特権ポートでサーバを起動しようとした。</li>
<li>同じポートに既にバインドされている Apache
がもう一つあるときや他のウェブサーバが存在している時に、
サーバを開始しようとした。</li>
</ul>
<p>より多くの問題解決の方策の説明は、
Apache <a href="http://wiki.apache.org/httpd/FAQ">FAQ</a> をご覧下さい。</p>
</section>
<section id="boot"><title>ブート時の起動</title>
<p>システムがリブートした後でも
サーバが実行され続けるようにしたい場合は、
<program>apachectl</program>
を呼び出すものをシステムスタートアップファイル
(通常 <code>rc.local</code> や <code>rc.N</code>
内のファイル) に追加しなければなりません。
この方法では Apache を root 権限で起動します。
これをする前に、セキュリティやアクセス制限が
適切に設定されていていることを確認してください。</p>
<p><program>apachectl</program> スクリプトは通常は、標準的な SysV init
スクリプトとして動作するように設計されています。
<code>start</code>, <code>restart</code>, <code>stop</code>
といった引数をとって、<program>httpd</program>
への適切なシグナルに変換します。
ですから、通常は単に適切な init ディレクトリ内から
<program>apachectl</program> へリンクすることができます。しかし、
念のためシステムの要求に合致していることを確認してください。</p>
</section>
<section id="info"><title>追加情報</title>
<p><program>httpd</program> や
<program>apachectl</program>、サーバに含まれていたその他補助プログラムの、
コマンドラインオプションに関する追加情報は、
<a href="programs/">サーバと補助プログラム</a>ページに
記載されています。
Apache 配布に含まれている全<a href="mod/">モジュール</a>、
それによって提供される<a href="mod/directives.html">ディレクティブ</a>
のドキュメントもあります。</p>
</section>
</manualpage>