[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