Saturday, April 7, 2012

DocumentRoot does not exist

在Fedora底下,我嘗試把apache某個網頁設定檔的DocumentRoot指向home目錄的工作位置,可是在restart apache(sudo /etc/init.d/httpd restart)時候,得到Warning,寫著DocumentRoot [PATH/IS/HERE] does not exist,發現是SELinux把apache擋住了。

解決方法:

  1. 安裝policycoreutils-gui:sudo yum install -y policycoreutils-gui
  2. 執行system-config-selinux:system-config-selinux
  3. 點選左側"Boolean"選單
  4. 將"Allow httpd to read home directories"(httpd_enable_homedirs)的選項打勾(立即生效)
如此的方法不論之後重新開機也會保持設定,但是要注意安全問題,在測試的個人電腦可以如此操作,不建議在真的Web Server這麼做