2015-06-30 161 views
1

我配置的Moodle,但我得到一個錯誤信息:爲什麼moodle不可用?

Fatal error: $CFG->dataroot is not configured properly, directory does not exist or is not accessible! Exiting.

我的Moodle目錄是var/www/html/moodle,在我moodle/config.php$CFG->dataroot = '/var/moodledata';

不過,當我嘗試啓動的Moodle沒有什麼作品。可以做些什麼呢?

+2

你確定目錄'/ var/moodledata'是否存在並且可以被服務器進程訪問嗎? – Melebius

回答

4

我認爲moodledata文件夾沒有寫入權限。提供0777權限的文件夾,然後它應該是可訪問的。

0

Moodle確實需要在其工作文件夾中創建和刪除文件。如果文件夾所有者爲Apache,那麼您實際上只需要700權限並可以忽略該組。否則,您必須將moodledata660中的所有目錄的770權限設置爲moodledata文件夾中的所有文件。

關鍵的是要確保moodledata文件夾不在任何Web可訪問區域(http根)。如果您的http根目錄是/var/www/html,那麼將其設爲/var/moodledata

0

您應該先創建該目錄,並將運行Web服務器的用戶授予該目錄。 在CentOS /紅帽:

chown apache.apache /var/moodledata 

注意,在CentOS /紅帽有一個很好的機會,SELINUX阻止Web服務器進程訪問的/ var/moodledata目錄。 最簡單的方法來檢查它是通過鍵入禁用(臨時):

setenforce 0 
service httpd restart 

然後,如果以這種方式它的工作 - 將其設置爲允許訪問該目錄,並以這種方式重新啓用它:

setenforce 1 

,如果你想完全禁用SELinux,然後編輯/ etc/SELinux的/ config並設置該行:

SELINUX=disabled 

在Debian/Ubuntu的所有權應該是這樣的:

chown www-data.www-data /var/moodledata