ApacheのDocumentRootを変更すると「Document Root must be a directory」エラーが表示されhttpdを起動できない

[Linux] ApacheのDocumentRootを変更するとApache起動時に「Syntax error on line (nnn) of /etc/httpd/conf/httpd.conf Document Root must be a directory」エラーが表示されhttpdを起動できなくなることがあります。

原因

SELinuxのセキュリティ機能が原因の可能性があります。

対策

SELinuxを無効にする(GUI)

システム>管理>セキュリティレベルとファイアーウォールの設定
メニューを選択し、セキュリティレベルの設定ダイアログを表示します。SELinuxタブを選択し、SELinux設定を"無効"に変更します。
SELinuxの無効化の手順はこちらの記事も参照してください。

SELinuxを無効にする(コマンド)

echo 0 > /selinux/enforce
コマンドを実行します。
SELinuxの無効化の手順はこちらの記事も参照してください。

タイプラベルを付加する

タイプラベルを付加することで、SELinuxが起動していてもApacheがディレクトリにアクセスできるようになります。
chcon system_u:object_r:httpd_sys_content_t (ドキュメントルートのディレクトリ) -R
コマンドを実行します。
chcon system_u:object_r:httpd_sys_content_t /home/www/html -R
著者
かつて日本を代表したスーパーエンジニア (自称)
ハードウェア、電気設備、ガーデニング関係の記事を担当。
最終更新日: 2024-01-06
作成日: 2011-04-29
iPentec all rights reserverd.