迁移Moodie案例一则
2018-02-28赵万宏
赵万宏
摘要
Moodie是中学信息技术教师的好帮手。本文比较详细地展示了一个Moodie迁移的成功案例。
【关键词】Moodie 迁移 变更URL
1 引言
为了便于课程教学,笔者在机房教师机上安装部署了Moodie。Moodie自运行以来效果良好,不过还是存在因Moodie安装环境不佳造成的效能问题。因此笔者决定把Moodie迁移到另一台配置相对较好的电脑。
本文叙述的就是这次成功的Moodie遷移经历。
2 详述
2.1 环境
Moodie从A电脑迁移到B电脑的主要环境参数OS版本、XAMPP版本、MySQL版本、XAMPP安装位置和内网IP的前后变化情况如下:
A电脑:WindowsXPsp3;XAMPP1.8.2;MySQL5.5.32,;E:\xampp;10.10.10.10
B电脑:Windows7;XAMPP7.0.9;MariaDB10.1.19;D:\xampp;10.10.10.8
2.2 操作流程
详细的Moodie迁移流程如下:
在A电脑上做以下操作,获得3个备份文件。
(1)打开http://10.10.10.10,进入Moodie,启动维护模式以防干扰。
(2)在E:\xampp下,把Moodie系统文件夹压缩备份成htdocs.zip.
(3)在E:\xampp下,把Moodie数据文件夹压缩备份成Moodledata.zip。
(4)打开http://10.10.10.10/phpMyAdmin,导出Moodie数据库,压缩打包成Moodle.sql.zip。
在B电脑上做以下操作,还原3个文件,并修改config.php。
(1)在D分区上安装XAMPP7.0.2环境。
(2)迁移htdocs文件夹。清空D:\xampp\htdocs文件夹,解压htdocs.zip至其中。
(3)迁移Moodledata文件夹。在D:\xampp\Moodledata下,解压Moodledata.zip至其中。
(4)迁移Moodie数据库。启动xampp,打开http:Hlocalhost/phpMyAdmin,建立一个名为Moodie的新数据库,然后把Moodle.sql.zip中的数据库文件导入其中。文件很大的话,则需要按照phpMyAdmin提示连续多次导入。
(5)修改Moodie环境配置。在D:\xampp\btdocs下,编辑config.php文件,修改其中的两个重要CFG项目值,以适应B电脑实情。
(6)重启xampp,打开http://10.10.10.8,检测Moodie的迁移情况。这时,Moodie可能会要求配置服务器PHP环境参数或安装缺失的插件。大家耐心地按照要求做即可。
通过以上10个步骤,笔者成功实现了Moodie的迁移。
2.3 特别说明
2.3.1 config.php主要配置信息的前后变化
A电脑:
$CFG->dbtype='mysqli';
$CFG->wwwroot='http://'.$_SERVER['HTTP_HOST'];
$CFG->dataroot='E:\xampp\Moodledata';
B电脑:
$CFG->dbtype='mariadb';
$CFG->wwwroot=http://.$_SERVER['HTTP_HOST'];
$CFG->dataroot='D:\xampp\Moodlcdata';
$CFG->dbtype值由'mysqli'更改为'mariadb'以适应MySQL类型由MySQLi到MariaDB的前后变化。
$CFG->wwwroot值无变化,其中参数$SERVER['HTTP_HOST']有很好的URL适应性。SCFG->dataroot值由'E:\xampp\Moodledata'更改为'D:\xampp\Moodledata'以适应前后变化。
2.3.2 变更Moodie数据库中的URI
Moodie官网上的简易迁移流程特别包括了这个操作步骤。原因笔者摘录如下:
“如若需用一个新的URL,还需为新服务器在数据库里变更URL。此URL链接的图片、文件等以绝对路径存储于数据库,而且他们参考旧的$CFG->wwwroot值。所以当加载旧数据库服务器备份的绝对链接是到新服务器时,链接会崩溃的。”
但是笔者认为不需要这个步骤。为什么呢?
首先上文提到“URL链接的图片、文件等以绝对路径存储于数据库”的情况在笔者A电脑上实际不存在。因为A电脑Moodie上的全部媒体文件都被统一存储在文件系统容器,而使用文件系统容器的好处就是可以使用相对链接访问其中的文件。其次上文还提到"I日的$CFG->wwwroot值”的影响,而实际上$CFG->wwwroot值在迁移前后是没有变化的。
实践的结果证明:即便没有做URL新旧变更,也能够正常地访问B电脑Moodie上的全部URL媒体文件,并没有链接崩溃的现象。
3 结论
这次Moodie迁移是在笔者A、B两台电脑实际软件环境下完成的,具有特殊性。不过,作为一个成功的案例,应该能给Moodie使用者提供一些借鉴与参考。
参考文献
[1]Moodle.org,DOCUMENTATION,迁移Moodle[EB/OL].https://docs.Moodle.arg/all/A/迁移Moodle.