2012-09-19 72 views
0

美好的一天大家,我一直在努力把我的Moodle在線,所以從互聯網上的PC可以訪問它,但直到現在,沒有運氣。 (我在Windows Server 2008和IIS 7上使用moodle 2.3.2)。設置在線moodle

我試着配置moodle文件config.php,設置指令$ CFG-> wwwroot =「my-public-ip/moodle」。然後,當我從服務器訪問moodel時,我可以通過「http:// my-public-ip/moodle」訪問它,當我嘗試通過本地主機訪問時,它發送一個錯誤,它是可以的。

但是,當我嘗試從外部PC訪問服務器時,有趣的部分出現了。當我輸入「http:// my-public-ip/moodle」時,它只是不能「看到」我對config.php文件所做的配置(它表示:此服務器cna只能通過localhost/moodle訪問),它看起來像外部個人電腦要麼忽略它,要麼搜索另一個配置文件。我不知道到底發生了什麼,這很奇怪。

任何想法?? TNX!

回答

1

更改以下文件:

LIB - > setuplib.php

Redirect ($CFG->wwwroot, get_string('wwwrootmismatch', 'error', $CFG->wwwroot), 3); 

Redirect ($CFG->wwwroot, get_string('wwwrootmismatch', 'error', $CFG->wwwroot), 0); 
+1

改變lib以實現可配置的東西真的是一個壞主意。不知道爲什麼這個答案被接受,但這不是正確的方式,是有風險的。最好避免這種方式,提到替換工具是正確的方式。 – tymik

0

這可能是因爲HTTP://部分失蹤?

$CFG->wwwroot = "my-public-ip/moodle" 

應該

$CFG->wwwroot = "http://my-public-ip/moodle" 
+0

沒有。看到@MartinGreenaway的回答,他解釋了必須做的事情。然而,http://部分也可能是必不可少的。 – tymik

1

我意識到這是一個老問題,但它也是值得指出的是,你可能還需要運行數據庫搜索和替換腳本,網址爲:

http://my-public-ip/moodle/admin/tool/replace/index.php

如方法2中引用的here

如果您安裝更改爲,那麼這是必需的。如果您已經在「localhost」下使用Moodle,那麼會存儲一些對存儲在數據庫中的舊本地主機地址的引用,這些地址需要更新爲新的基於IP的地址。