Apacheエラー「DocumentRoot must be a directory」の原因と解決方法
Apacheの設定ファイル(httpd.conf)を修正してApacheを再起動すると、「DocumentRoot must be a directory」というエラーメッセージが表示されてApacheの再起動に失敗し、Apacheが停止してしまった。
《例》
[root@nobuneko conf]# /etc/rc.d/init.d/httpd restart
httpd を停止中: [失敗]
httpd を起動中: Syntax error on line 283 of /etc/httpd/conf/httpd.conf:
DocumentRoot must be a directory
[失敗]
エラーメッセージ「DocumentRoot must be a directory」は、直訳すると「ドキュメントルートは、ディレクトリにする必要がある」ということなので、httpd.confでのDocumentRootの設定に誤りがあるのだろう。
/etc/httpd/conf/httpd.confの238行目を見ると
DocumentRoot "/var/www/html"
となっていた。
確認をすると、wwwディレクトリもhtmlディレクトリも作っていなかった。
httpd.confでドキュメントルートとして指定したディレクトリが存在しなかったので、「DocumentRoot must be a directory」というエラーメッセージが出ていたことが分かった。
ディレクトリを作成すると、Apacheの起動に成功した。