kazmax - Linux で自宅サーバー

apache2.2 起動と自動起動設定

apacheの初期設定が終了したら、後は起動させるだけです。

デフォルトのままだと、OSを再起動した場合などに、apacheが起動してくれません。 ここでは、chkconfigに登録し、ランレベルに合わせ起動させるように設定します。

Last Update : 2006年08月20日

apache2.2 起動と自動起動設定の手順

  1. apache2.2 起動
  2. apache2.2 自動起動設定(chkconfig に登録)
    • 2-1. シェル作成
    • 2-2. chkconfig に登録

1. apache2.2 の起動

apacheは、

# /usr/local/apache2/bin/apachectl start

で起動できます。

起動したら、ps コマンドなどで、ちゃんと起動しているか確認するか、 実際にブラウザからURLを入力して確認しましょう。

ブラウザから確認した場合、「It works!」と画面に表示されます。

ちなみに、 以下の様に、start の代わりに configtest と引数を変更して実行すると、設定ファイルがまちがっているかどうか確認できます。

# /usr/local/apache2/bin/apachectl configtest

Syntax error ~ と出てきたら、どこか設定ファイルに間違いがあるので、確認しましょう。

error がある場合は、起動できません。errorの状態のまま、restart をかけるとapacheが停止したりします。 Syntax OK とでれば起動できます。

要は、apachectl に引数あたえれば起動や、停止、ステータスの確認などができます。 下にapachectlの引数の表書いておきます。

apachectl (version 2.2) の引数について。
引数 説明
start apache 起動
stop apache 停止
restart apache が停止しているなら起動。
apache が起動しているなら再起動。設定ファイルに間違いがあると、apache が停止したりする。
fullstatus mod_status モジュールが有効になっていて、かつhttpd.confに設定がしてあれば、状態を表示。
CUIでログインしてる時に見たいなら別途テキストベースのブラウザが必要。
もしくは、外からGUIのブラウザからでもみれる。
status fullstatusと同じ。上の方がちょっとだけ詳しい。
graceful apache が停止しているなら起動。
apache が起動しているなら、処理中のリクエストの完結を待って apache 再起動
graceful-stop 処理中のリクエストの完結を待って apache 停止。
configtest 設定ファイル適用のテスト。正しければ「Syntax OK」、間違いがあれば教えてくれる。
startssl apache を SSLを有効にして起動。

2. apache2.2 の自動起動設定(service に登録)

OS自体にリブートをかけたりした場合、初期状態のままだと apache が自動的に起動してきません。ランレベルに合わせてwwwサービスの起動設定をします。

chkconfig --lsit とすると、どのランレベルでどのサービスが実行されるのかのリストが表示されます。これに apache を登録していきます。

2-1. シェル作成

こりたい人は、思う存分こってください。

自分は、面倒なのでコレで。シェルの置き場は決まってます(/etc/init.d/の下)ので、ご注意を。

# cd /etc/init.d/
# vi apache

下記内容を入力

#!/bin/sh
#
# chkconfig: 35 85 15
# description: apache 2.2.3

apachectl="/usr/local/apache2/bin/apachectl"

case "$1" in
        start|stop|restart|fullstatus| \
        status|graceful|graceful-stop| \
        configtest|startssl)
            $apachectl $@
            ;;
        *)
            ;;
esac

↑ case "$1" in の下の start|stop ~ configtest|startssl)は、行末の「 \ 」を取れば一行でOK。

また、コメントアウト(先頭が#のところ)されているところの
chkconfig、 description の行は、chkconfig プログラムがこの2行を見ます。

今回はchkconfig に登録する予定なのでchkconfig、 description の行の記述は必須です。

シェルに実行権限を与えます。

# chmod 755 apache

2-2. chkconfig に登録

# chkconfig --add apache

確認

# chkconfig --list apache
apache 0:off 1:off 2:off 3:on 4:off 5:on 6:off ← サービスが登録され表示されます。

memo

chkconfig に登録しておくと、以下の様にしてサービスの起動や停止が行えます。

# service apache start
# service apache stop
# service apache restart
…

上の表の引数全部使えます。

Apache 関連記事