安裝Moodle

出自MoodleDocs
跳到:導覽、​搜尋

這個頁面闡述了如何安裝Moodle。如果你是一名行家裏手,(或)急於使用Moodle請查看快速開始安裝文檔。

如果你只是想在本地電腦上面嘗試安裝Moodle,這裏有為Windows系統(參閱,Windows系統完整安裝包)和OSX系統(參閱,OS X系統安裝包)準備的「一鍵」安裝程序。但他們並不適用於生產伺服器。

要求

Moodle主要是在Linux下使用ApachePostgreSQL/MySQL/MariaDBPHP進行開發的(有時也被稱為LAMP平台)。若有疑問,但這是最為安全的組合(如若沒有其他原因,這無外乎是最常用的組合)。當然也不是沒有其他選擇——參見下面的軟件部分:

Moodle基礎的要求如下所示:

硬件

  • 磁盤空間:160MB的(最小)可用空間以及儘可能大的存儲空間以存儲資料用。5GB大概是切合實際的最低配額。
  • 備份:備份空間(最好是在網絡位置)至少要與上述磁盤空間一樣大以存儲你的備份資料。
  • 內存:最少要256MB,強烈建議1G以上內存。一般的經驗規則告訴我們Moodle使用1GB的內存可以支持10到20名並發用戶,但是這會根 據你所使用的特定的硬件、軟件組合及使用方式的不同而改變。「並發」指的是同一時間在內存中的網絡伺服器進程(如,用戶在幾秒鐘內在網頁上與系統進行交互 的行為)。顯而易見,這並不是在說已登錄到系統內的用戶數。

軟件

  •  作業系統:任何軟件都需要運行於作業系統之下;儘管選擇什麼樣的作業系統很大程度上依賴於對性能的要求及對作業系統知識、技巧的掌握程 度。Linux和Windows是最常見的選擇(當然他們都能得到很好的支持)。如果你可以自由選擇,Linux普遍被認為是最佳平台。Moodle會在 Debian, Ubuntu, CentOS, RedHat, Windows 7/2012 and Mac OS X等作業系統上進行定期測試。
  • 網絡伺服器主要是Apache。其他常見Web伺服器(IIS, lightttpd, nginx, cherokee, zeus and LiteSpeed)上沒有進行過完整測試(或不能完全支持),但應可以正常工作。Moodle將來會謝絕把Moodle安裝在除上述之外的其他網絡伺服器上。網絡伺服器理應正確配置以服務於PHP文件。網絡伺服器的版本雖沒有嚴格要求,但最好使用最新版本來建設站點。
  • PHP——當前Moodle要求的最低版本是5.3.3。數個擴展需要啟用;查看更多詳情參閱PHP頁面。如若缺失任何必須的擴展,安裝程序會在環境檢查中暫停。如果可能的話,推薦使用PHP 5.5及內置的OPcache(如若無效,在環境檢查的時候可以直接忽略它)。
  • 數據庫:數據庫開發以MySQL和PostgreSQL為主,兩者均通過了全面地測試並能夠獲得豐富的文檔支持。MSSQL也可全面支持(需要注 意的是,自選插件可能並沒有在MSSQL上進行測試),但是文檔及在線幫助不及MySQL或PostgreSql那樣全面。Oracle不能完全支持,也 不推薦使用它。在使用MySQL(更豐富的文檔)或PostgeSQL(更好的穩定性/性能)時若有疑問,你可能會用到適用於當前數據庫的PHP擴展(可 能需要對其進行配置):
    • MySQL —— 最低版本 5.1.33
    • MariaDB —— 最低版本 5.3.5 (隨時準備替換Oracle公司的MySQL)
    • PostgreSQL —— 最低版本 8.3
    • MSSQL —— 最低版本 9.0
    • Oracle —— 最低版本 10.2 (不推薦)
  • 安裝Ghostscript以便可以對作業中的PDF文件進行批註。
  • 可訪問Moodle的瀏覽器最低版本:當前的火狐,IE9,Safari 6,當前的Chrome 11(低版本瀏覽器雖可正常訪問,但不保證所有功能可正常工作)。

配置你的伺服器

如果你只是想模擬一下Moodle,個人電腦就足夠了。在安裝基礎伺服器軟件的時候會根特定的選擇產生很多種可能性。一些連結及忠告可在Installing AMP里找到。

如果你正在使用託管的伺服器,這一切你都應該着手去做。然而,(尤其是在虛擬主機上)確保你理解或能夠找到如何修改PHP配置(如,文件上傳大小的限制)的方法。這些在主機託管商之間都有很大的出入。

下載並複製文件到正確的位置

重要:時至今日,有很多地方都可以下載到Moodle源碼,強烈建議你從moodle.org那裏下載。如果運行中出現什麼問題,那將會很容易得到幫助與支持。

有兩個選擇:

  • http://moodle.org/downloads下載你所需的版本,然後解壓……
  • 或者從Git庫里下載源碼(建議開發人員使用Git下載,而且升級起來也很簡單):
    • $ git clone -b MOODLE_27_STABLE git://git.moodle.org/moodle.git 

上訴命令行語句可以完整複製Moodle知識庫,然後切換為2.7的穩定版本(每周最新生成的)。有關於此更為全面的討論請參見管理員使用Git指導

輸入以上語句之後應該會得到一個包含若干文件及文件夾的名為moodle的路徑。

可以將整個moodle文件夾放入Web伺服器的文檔目錄,這種情況下網站將會被定位到http://yourwebserver.com/moodle,或者也可以複製所有內容(不包含moodle文件夾)直接放到Web伺服器的文檔目錄,這種情況下網站將會定位到看起來更為簡單的http://yourwebserver.com。如果你不是十分確定源碼該往哪放,請查閱系統或(和)Web伺服器的相關文檔。

提示:如果你想把下載到本地的源碼再上傳到伺服器上,如果可能的話,請先把本地的源文件打包上傳然後在伺服器上進行解壓縮(檢查你的文件管理器)。如若出錯,仔細查看FTP的處理過程並找出錯誤或丟失的文件。

  • Moodle文件的安全:確保Web伺服器用戶對文件沒有編輯權限是至關重要的。例如,在Unix/Linux(作為root用戶)上應該做以下改動:
# chown -R root /path/to/moodle
# chmod -R 0755 /path/to/moodle
# find /path/to/moodle -type f -exec chmod 0644 {} \;
(文件屬於管理員/超級用戶,且只能由他們來編輯——其餘所有人則只有閱讀權限) 如果你想使用內置的組件安裝器,你需要給Web伺服器用戶開放特定路徑的編輯權限。當你的伺服器支持ACL,強烈建議你使用它,在Apache伺服器上以用戶「www-data」為例,那麼你需要:
# chmod -R +a "www-data allow read,delete,write,append,file_inherit,directory_inherit" /path/to/moodle

創建一個空的數據庫

在接下來的安裝過程中需要創建一個全新的、空的數據庫。為了最後的安裝步驟能正常進行,還需注意下面的信息:

  • dbhost —— 數據庫伺服器名。如果數據庫和Web伺服器安裝在同一台機器上,數據庫地址可能是localhost,否則是數據庫伺服器名
  • dbname —— 數據庫名。隨意為其命名,如:moodle
  • dbuser —— 數據庫用戶名。隨意為其分配名稱,如,moodleuser——但請不要用root/superuser等帳號。在滿足需求的情況下,創建一個適當的最低權限的帳號
  • dbpass —— 上述用戶名的密碼

如果你的站點託管在其他主機服務商,你需要找到可操作數據庫的以Web為基礎的管理員頁面,你可以在控制面板那裏找到它(或諮詢你的管理員)。對其餘人或想要知道詳盡說明的人來說,請參閱你所選數據庫伺服器的相關頁面:

  • PostgreSQL
  • MariaDB
  • MySQL
  • MSSQL
  • Oracle (有問題,不完全支持)

創建數據目錄

Moodle需要用目錄來存儲所有的文件(站點所有的上傳文件,臨時數據,緩存,會話數據等等)。Web伺服器對此目錄有可寫權限。在較大的系統上,配置此目錄時需要根據使用情況考慮為其分配多大的可用磁盤空間。

如若為此目錄使用較為緩慢的方式(如,NFS)進行數據緩存,則可能會出現性能問題。仔細閱讀性能建議並考慮使用如memcached的緩存方式。

重要:此目錄一定不能通過web頁面進行訪問。如若如此,這將會是一個嚴重的安全漏洞。不要試圖把它放在web根目錄下,也不要放在Moodle程序的目錄下。如若如此,Moodle將不能進行安裝。除了方便,卻一無是處。

下面介紹了在Unix/Linux下創建此目錄並授予伺服器上任何人可寫權限的例子。此舉僅適用於Moodle的伺服器為非共享的。與你的伺服器管理員探討更為合理的權限管理方式,即只允許Web伺服器用戶訪問這些文件。
# mkdir /path/to/moodledata
# chmod 0777 /path/to/moodledata
如果伺服器支持ACL,那麼推薦你按照下面的方式設置權限,在Apache伺服器上以用戶「www-data」為例:
# chmod -R +a "www-data allow read,delete,write,append,file_inherit,directory_inherit" /path/to/moodledata
如果你計劃通過命令行執行PHP語句來設置權限,那麼請為當前用戶根據下面的語句設置同樣的權限:
$ sudo chmod -R +a "`whoami` allow read,delete,write,append,file_inherit,directory_inherit" /path/to/moodledata

確保moodledata在Web目錄里的安全

如果你不得不把"moodledata"放在託管伺服器的Web可訪問的目錄下。通過在「moodledata」目錄下創建.htaccess文件可能會確保安全。但這並適用於所有系統——諮詢你的服務商/管理員。名為.htaccess的文件只需包含以下寥寥數語:
order deny,allow
deny from all

開始安裝Moodle

是時候運行安裝程序了,安裝程序會為Moodle創建數據庫表並配置你的站點。推薦使用命令行的方式來安裝Moodle。如果因為別的什麼原因(如,Windows伺服器)不能使用命令行來安裝,以Web為基礎的安裝方式也是可行的。

命令行安裝

最好是作為當前系統的Web用戶時才運行如下命令行。你需要知道當前系統的Web用戶是什麼——參閱你的系統文檔(如,Ubuntu/Debian是is 'www-data', Centos是 'apache')。

  • 運行命令行的例子 (作為root —— 用'www-data' 替代你的web用戶):
# chown www-data /path/to/moodle
# cd /path/to/moodle/admin/cli
# sudo -u www-data /usr/bin/php install.php
# chown -R root /path/to/moodle
chowns命令允許腳本創建一個全新的config.php配置文件。使用下述命令語句可以找到更多信息:
# php install.php --help
安裝過程中還會遇到本頁所沒有提及的其他設置選項——如果不確定該填什麼,請接受默認選項。獲取更多相關信息請參閱通過命令行來管理網站

以Web為基礎的安裝

如需通過Web進行安裝,只需通過瀏覽器訪問Moodle主頁地址即可。

安裝過程將會帶你瀏覽數個頁面。其中需要你確認版權資訊、數據庫是否已經安裝完成,並提供詳盡的管理員帳號信息及站點信息。數據庫的創建過程需要一些時間——請耐心等待。最終你會停留在Moodle首頁上面,首頁上會顯示邀請按鈕邀你創建一門課程。

很有可能會要求你下載新的config.php配置文件並上傳到伺服器上——只需按照屏幕上指引來做就好了。

最終配置

設置Moodle里的內容

在站點系統管理員界面(可以從系統管理員版塊的站點管理員標籤進入)有數個選項需要選擇。下面是你可能想要檢查的較為重要的幾個選項:

  • 管理> 站點管理 > 插件> 消息輸出 > 郵件:設置SMTP伺服器,如有必要還需設置認證方式 (這樣Moodle就可以往外發送郵件了)。站點支持的聯繫方式也可以在此頁面進行設置
  • '管理> 站點管理  > 伺服器 > 系統路徑:為du、dot及aspell二進制設置路徑
  • '管理> 站點管理  > 伺服器> HTTP:如果伺服器開啟了防火牆,那麼有可能需要你在「Web代理」部分設置你的代理證書
  • '管理> 站點管理  > 位置 > 更新時區: 更新時區可以保證網站的時區信息是最新的

剩餘的任務

  • 配置Cron:Moodle的後台任務(如,發送論壇郵件,執行課程備份)可以通過設置某一天的固定時間執行腳本來完成任務。這就是所謂的cron腳本。請參閱Cron指導說明
  • 設置備份:參閱站點備份課程自動備份
  • 檢查郵件系統是否正常工作:創建一個包含有效郵箱的測試用戶,然後給測試用戶發信息。檢查測試用戶是否能收到信息?如若不能,檢查相關配置:管理> 站點管理 > 插件> 消息輸出 >郵件'。不要跳過這一步(提示:郵件用於恢復遺忘的密碼,甚至包括管理員的賬戶密碼)
  • 確保站點安全:閱讀安全建議

安裝已經完成

  • 創建一門全新的課程:現在你可以創建課程了。:)

 

如果出現問題……

不妨先嘗試用下面的方案試着解決問題:

  • 查驗安裝FAQ
  • 仔細檢查文件權限。核驗Web伺服器是否有讀取(不是寫入)Moodle程序文件的權限?核驗Web伺服器是否有讀取和寫入Moodle數據目錄(moodledata)的權限?
  • 檢查數據庫權限。核驗是否按照配置要求賦予了數據庫用戶正確的權利和權限(尤其是Web伺服器和數據庫伺服器不在同一台電腦上的時候)?
  • 手動創建配置文件(config.php)。複製config-dist.php(位置在Moodle程序的根目錄)文件內容到config.php里去,然後在config.php文件里編輯數據庫/站點信息。安裝程序會從正確的地方繼續進行。
  • 一旦config.php文件創建成功(參考上一步),你就可以編輯它以開啟debug(在第八部分)模式。這可以給你額外的信息以追蹤問題。如果有訪問錯誤日誌的權限,那麼查閱它也是一個好辦法。
  • 重新檢查php.ini/.htaccess文件的設置情況。配置項(如,內存限制)設置的合適嗎?是否正確編輯了php.ini/.htaccess文件?更改配置之後是否重啟(如有必要)了Web伺服器?
  • 執行安裝程序之前,是否向源碼添加了非核心(可選)的插件、主題或其他代碼?如若如此,移除它然後再試一下(非核心的內容可能會引起系統崩潰或不兼容)。
  • 論壇的安裝問題版塊闡述你遇到的問題。列出你所使用的軟件版本;並說明你做了什麼,發生了什麼及顯示的錯誤信息(如果有的話);最後試着解釋你都做了什麼來解決這些問題。不能什麼都不說明,即使是空白頁也是問題的一種展示形式。

平台特殊說明

注意:下面多數信息多由社區提供。很多信息並未經過檢查或已經過期了。請結合上面的安裝說明來閱讀下面的文檔。

另請參閱