apache2 configtestでapache2.confの記述エラーを検査する

こんにちは。今回はapache2の設定ファイルであるapache2.confの文法が正しく記述されているかチェックするconfigtestコマンドを紹介します。設定ファイルに記述エラーがあるとapacheを開始することができません。そんな時に設定ファイルのどこに記述エラーがあるかを検査してくれるコマンドがconfigtestです。

実行方法

まずは/etc/apache2/apache2.confに記述エラーを埋め込んでみます。

# apache2のコマンドではないhello worldを記述します。
# 記述する箇所はどこでもよいです。
hello world

apache2.confを保存したら、以下のコマンドで検査します。

$ sudo apache2ctl configtest

検査の結果エラーとなりますので、エラーの内容がターミナルに出力されます。1行目にエラー箇所が出力されます。 line 199 of /etc/apache2/apach2.confの文はapache2.confの199行目に問題があるという意味です。2行目にエラーの内容です。helloコマンドは不正なコマンドと怒られていますね。

AH00526: Syntax error on line 199 of /etc/apache2/apache2.conf:
Invalid command 'hello', perhaps misspelled or defined by a module not included in the server configuration
Action 'configtest' failed.
The Apache error log may have more information

エラーを解消してもう一度configtestを実行してみます。記述エラーが解消されている状態では以下のメッセージが表示されます。

syntax OK

まとめ

いかがでしょうか。今回はapache2.confの記述エラーを検査するconfigtestコマンドを紹介しました。なぜかapacheが起動しないときは今回紹介したconfigtestコマンドを使用してトラブルシューティングしてみてはいかがでしょうか。原因の切り分けには有効かと思います。

Apache Http Server

Posted by kobainmac