今天凌晨忽然想要將 Moodle 從 1.9.X 更新到最新的 2.0.3+。
不過,2.0.3+ 要求使用新版的 PHP,我用的 CentOS 祇有 PHP 5.1.6,所以要更新 Moodle 之前,我得先更新 PHP & MySQL 。
直接使用 yum update php 更新是不行的,因為 CentOS 要求的是穩定,不急於追求最新版本,所以資料庫裡面的 PHP 就祇有 5.1.6,沒辦法利用這樣的方式更新 PHP。既然 CentOS 沒有官方版本可以更新,那就得另尋網友們自行維護的 PHP 套件了。
上網查詢,發現許多人都推薦 REMI 套件庫 (REMI Repository),可以從這個套件庫找到最新的 PHP & MySQL。不過要使用 REMI 套件庫之前,還得先做一些設定讓 yum 認得出 REMI 套件庫。
因此要更新 Moodle 的整個流程是這樣子的:
- 設定讓 yum 能從 REMI 套件庫下載最新版本的 PHP
- 下載、安裝最新版 PHP
- 更新 Moodle
讓 yum 能使用 REMI 套件庫
要讓 yum 能使用 REMI 套件庫裡面的資源,我們得先下載兩個 rpm 檔案,並用 rpm 指令先將這兩個檔案安裝起來。
wget http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://rpms.famillecollet.com/enterprise/remi-release-5.rpm
rpm -Uvh remi-release-5*.rpm epel-release-5*.rpm
做好上述的動作後,祇要在 yum 中指定要使用 REMI 套件庫就能使用其中的資源來更新 PHP:
yum --enablerepo=remi update php php-*
這樣子就能將 PHP & MySQL 一併更新了。
安裝 Moodle 需要的 PHP Mod
要安裝 Moodle 2.0.3+ 不祇是需要最新版的 PHP,還需要安裝一些額外的 PHP 模組才行。至於需要安裝哪些模組就要進入現存的 Moodle 中做一下檢核 (網站管理 ==> 主機 ==> 環境 ==> 更新元件),看看哪些已經安裝,哪些還沒有。
Moodle 說我還需要 DOM 模組才能安裝新版 Moodle,另外 SOAP & INTL 模組也建議安裝,所以就一併裝了吧。
yum --enablerepo=remi install php-dom
yum --enablerepo=remi install php-soap
yum --enablerepo=remi install php-intl
裝好後再檢查系統環境,已經一切就緒,可以安裝新版的 Moodle 了。
開始安裝 Moodle 2.0.3
要安裝 Moodle 之前,我們先將舊版 Moodle 備份起來吧,備份這種事做再多也不怕的。進行之前先登入 Moodle,將網站設定為維修狀態,以免更新時有其他資料寫入,然後就可以開始備份了。
tar czvf moodle.tar.gz /var/www/html/moodle
tar czvf moodleData.tar.gz /你的 Moodle 資料存放路徑/
service mysqld stop
tar czvf moodleDatabase.tar.gz /var/lib/mysql/moodle
service mysqld start
cd /var/www/html
mv moodle moodle.bak
這樣子就將 Moodle 的程式與資料庫備份完成。其實用 tar 把 MySQL 包起來不是好方法,應該用 mysqldump 才比較保險,不過那還得寫很多,所以暫時用偷懶的方式備份就是了!:P
備份完成後,在 /var/www/html 目錄下解壓從 Moodle 網站下載下來的最新檔案,並從 moodle.bak 下將 config.php 複製到新的 Moodle 目錄中:
cp moodle.bak/config.php moodle
再登入 Moodle 時已經解除維修狀態,並開始更新資料庫內的資料,等一會兒更新完畢後就可以看看是不是一切正常了。:)
剛更新好的 Moodle 是英文版的,如果需要中文介面可從 Site administration ==> Language ==> Language packs ==> Install selected language pack,這樣就連中文介面都具備了。
『這麼簡單就能更新完成?!』
是啊,更新 Moodle 本身是很容易,比較麻煩的是準備好 PHP & MySQL,過了那一關後面就超簡單的了!:D 簡單歸簡單,備份還是得先做好比較安全啊!:)
不過,哪邊有比較漂亮的 Moodle 2.0+ 的佈景主題啊?內附的佈景主題好少喔……
延伸閱讀
I have referenced your excellent paper in my blog article re Bicentennial Man 變人. Please feel free to visit me at:
回覆刪除http://lotusandcedar.blogspot.com
Thanks again !!!
Haricot
(Canada)