|
Webサーバーの構築
|
|
WebサーバーについてApacheの構成と設定の準備全般的な動作環境の設定コンテナディレクティブの形式コンテナディレクティブの設定ドキュメントルートの設定等ユーザーディレクトリの設定バーチャルホストの設定CGIの実行許可の設定ユーザー認証機能の設定httpdのコントロールhttpdの動作チェックポートフォワーディングの設定 |
設定ファイルの書式チェックコマンドについて
WBEL
や
CentOS
の
インストール
の「パッケージグループの選択」で、
"Webサーバ"
(
Apache
)を選択しておくと
このコマンドは、 httpd の起動や終了、動作チェックの他、保存済みの設定ファイル"/etc/httpd/conf/httpd.conf"の誤りを探し出してレポートすることができます。 しかし実際のところは、apachectlはhttpdの実体プログラムである "/usr/sbin/httpd" を利用して作られている シェル スクリプト で、例えば"/etc/httpd/conf/httpd.conf"の書式チェックを行う場合は、 apachectl -t と実行しますが、httpdの起動、停止のコントロールに一般的に用いられるシェルスクリプト、 "/etc/init.d/httpd" でも、 /etc/init.d/httpd configtest と実行することで、同じ書式チェックを行うことができます。 実のところこれらのコマンドは、httpdの本体プログラムである"/usr/sbin/httpd"に対して間接的に、 httpd -t と命令しているだけですから、これらの三つの方法のどれでも同じ書式チェックを行うことができます。
これらのチェックコマンドは非常に強力で、"/etc/httpd/conf/httpd.conf"だけではなく、 "/etc/httpd/conf.d/" 以下に収容されているモジュール類の設定ファイルも同時に検査します。 またそれらの単純な書式上の誤りだけではなく、その中で記述されているディレクトリやファイルが存在しない場合や、それらのディレクトリやファイルの パーミッション がhttpdの動作の妨げになるようなケースでもエラーをリポートします。 |
|||||||||
|
もしも設定に問題がなければ、以下のように表示されます。
ただし、チェックの対象となるのはあくまで保存されている設定ファイルで、実行中のhttpdではないことに注意してください。 細かいパラメータの修正程度ならば、これらのコマンドでいちいちチェックする必要はありませんが、キーワードを新規に作成したり、大幅に内容を書き換えたりしたときは必ずチェックを行うようにしましょう。 ただしチェックできるのは、仕組みとしての誤りだけで、設定内容そのものの間違いはチェックできませんので、「チェック」の意味を間違えないようにしてください。
|
|||||||||
httpdの起動、停止、再起動httpd の起動、停止は通常、予め準備されている シェル スクリプト 、 "/etc/init.d/httpd" を利用して行います。 正確なスクリプトの場所は "/etc/rc.d/init.d/httpd" ですが、予めディレクトリ "/etc/rc.d/init.d/" の シンボリックリンク が "/etc/init.d/" で作成されていますので、 "/etc/init.d/httpd" でも実行することができます。
このシェルスクリプトが格納されているディレクトリには
パス
が通っていませんのでパス名付きで実行する必要があります
パス名を付けずに
コマンド
名"httpd"のみで実行すると、パスが通っているhttpdの実体プログラム
"/usr/sbin/httpd"
書式は以下のとおりです。作業はすべてroot アカウント から行います。 /etc/init.d/httpd start...httpdの起動 /etc/init.d/httpd stop...httpdの停止
"/etc/httpd/conf/httpd.conf"を書き換えた後にその設定を有効にするには、一度httpdを停止して起動しなおすか、以下のコマンドを実行します。 /etc/init.d/httpd restart...httpdの再起動 /etc/init.d/httpd reload...httpdの設定の再読み込み |
||||||||||
httpd reload
は、httpdを終了せずに設定の読み込みをやりなおします。
ただし、httpdの設定に誤りがある場合で、実際に設定の再読み込みが行われなくても[ OK ]のメッセージが表示されてしまいます。 従って、 httpd reload の使用はお勧めしません。 |
httpdが現在稼動してるかどうかを確認するには、 /etc/init.d/httpd status...httpdの状態確認 あるいは、 ps コマンドで起動プロセスを確認します。 |
|||||||||
httpdは設定によって最初から複数のプロセスを起動します。右のように大量に起動中のプロセスが見つかっても異常ではありません。 |
httpdは設定に誤りがあるときは起動できません。 以下に、"/etc/httpd/conf/httpd.conf"に記述ミスがある状態でhttpdを再起動した場合を示します。 |
|||||||||
"/etc/init.d/httpd"は、設定に誤りがあってhttpdを起動できない場合は、このように自動的に設定のチェックコマンド "httpd -t" が実行されるようになっています。 |
つまり、設定に誤りがあることに気付かずにhttpdの再起動を実行してしまうとhttpdは停止したままになってしまいます。 この場合はもちろん設定を修正して起動すれば良いだけですが、それまではhttpdを稼動させることはできないということになります。 もし、httpdの稼動をできるだけ停止したくないときには、再起動操作を行う前に、 "apachectl -t や "httpd -t" で設定をチェックすることをお勧めします。
また、httpdを起動、再起動した後は必ず
|
|||||||||
httpdを自動的に起動するhttpd は、常に動作させてしておくべき サーバー アプリケーション ですから、 構築中のLinuxサーバー が起動したときに自動的に デーモン が起動するように設定しておきましょう。 |
||||||||||
|
設定は ntsysv コマンド で設定画面を開き、 "httpd" にチェックを入れるだけです。 ![]() "httpd"を"ntsysv"で自動起動登録する 設定が終わったら念のため一度 構築中のLinuxサーバー を reboot コマンドで再起動し、上のパートで説明した動作確認の方法で、きちんと起動しているかどうかをチェックしてみてください。
|
|
ユーザー認証機能の設定
<<Previous
|
Next>>
httpdの動作チェック
|
このサイトは リンクフリー です。趣味や勉強のためでしたら、引用、転用、コピー、朗読、その他OKです。このサイトへのリンクについては こちら をご覧ください。今のところ更新予定はありませんのでご了承ください。 |
![]() |
”Linux”は、Linus Torvalds 氏の各国における登録商標です。”Red Hat”及びRed Hatのロゴおよび Red Hat をベースとしたすべての商標とロゴは、各国におけるRed Hat, Inc. 社の商標または登録商標です。その他のプログラム名、システム名、製品名などは各メーカー、ベンダの各国における登録商標又は商標です。 |
![]() |