網站部落格
每到了寒暑假,就要為自行架設的moodle主機進行升級了,目前最新的是Moodle 3.0.2+的套件,moodle升級其實也很容易,只要先記得先備份原來的web程式和db即可
備份web及更名folder
# tar zcvf moodle_2016xxxx.tar.gz /var/www/html/moodle
# mv /var/www/html/moodle /var/www/html/moodle_backup
備份db
# mysqldump -u root -p DB_name > DB_backup_name.sql
# cd /var/www/html
# wget https://download.moodle.org/download.php/stable30/moodle-latest-30.tgz
# tar zxvf moodle-latest-30.tgz
# cp /var/www/html/moodle_backup/config.php /var/www/html/moodle
# chown -R webuser.webuser /var/www/html/moodle (將moodle的目錄設定給web的管理者所擁有)
# chmod -R 755 /var/www/html/moodle
# crontab -e -u root (設定cron.php每天早上08:20執行一次,以便提升moodle網站的memory使用效能,如果升級前有設定過了,基本上就可以延用)
20 8 * * * /usr/bin/php /var/www/html/moodle/admin/cli/cron.php |
再來就透過web畫面進行升級即可,有可能會出現一些錯誤訊息,可能少了一些php相關套件,就再透過yum install xxx來安裝即可(如果在ubuntu時,用aptitude install xxx)
升級到2.9 or 3.0以上的版本,有可能MySQL的資料庫需要修改storage的機制,在moodle中有準備了一個程式可以協助原來舊版moodle的db一次改為innoDB的作法如下:
# /usr/bin/php /var/www/html/moodle/admin/cli/mysql_engine.php --engine=InnoDB
MariaDB的API和協定相容MySQL,不過依照原來Open Source的概念,因此也另外新增了一些功能,當然由於MariaDB是MySQL一開始的分支,所以MariaDB會支援MySQL的相關運作功能,由於MySQL公司目前被Oracle(原來已經賣給Sun公司),比較屬於商業軟體了,所以一般習慣用Open Source在Linux上面的user(如小弟),配合linux新版預設值修改,在原來的LAMP (Linux Apache MySQL PHP),縮寫仍是LAMP,但是M就改為MariaDB了。當然MariaDB為所有使用MySQL的系統和應用程式的支援是不成問題的!!
確認MariaDB or MySQL目前db engine的狀況
# mysql -uroot -p (會有詢問密碼的訊息,再輸入密碼即可)
>show engines\G (就可以看到目前db支援的相關engines,如下圖預設是用innodb)