2024年4月16日发(作者:)

原创文章,百度空间博文,地址:

/oldspark/blog/item/

工作记录:Moodle迁移小记

2012-01-27 12:41

目的:将安装在虚拟机中的Moodle1.9.x升级到2.2.1并迁移到真实机器中,以提高访问性

能,遗憾的是,条件有限,真实机器只有安装windows2003server,Moodle在windows环境

下的几个中文乱码痼疾暂时避免不了了,$##%$^%^&%$&^#$$TGFSR@#$#$^$%

迁移前系统环境:虚拟机中的Ubuntu+Apache+Postgresql+Php,目标系统环境:真实机器

Windows2003server+Moodle自带的XAMPP。

要做的关键工作:将XAMPP默认的Moodle对Mysql数据库的连接访问改换为对Postgresql

数据库的连接访问。

详细步骤:

1、虚拟机中的1.9.x版Moodle升级到2.2.1版本,具体方法参考俺最近一篇博文;

2、在虚拟机Ubuntu中用新立锝安装pgadmin3,很方便地用图形界面导出旧Moodle的数据

库(自由命名),一切设置用默认的就好;

3、在虚拟机Ubuntu中备份旧Moodle的moodledata文件夹,具体在哪里,可以查看Moodle

的配置文件;

4、旧Moodle的数据库和moodledata文件夹备份好以后就可以进入目标机器(真实机器

Windows2003server)安装配置,以下是最取巧的步骤;

5、到Moodle官网下载,解压后得到文件夹,直接执行

Start 后在浏览器访问localhost,按照最最简单最最默认的方式安装一个标

准的连接mysql的Moodle2.2.1,执行Stop 停止Moodle所有相关服务;

6、到Postgresql官网下载windows环境的安装包,执行后安

装配置Postgresql数据库,也安装一个windows版的pgadmin3组件;

7、启动pgadmin3,新建登录角色moodle,新建空白数据库moodle,所有者选moodle,编

码选UTF,选择moodle数据库,右键选择恢复功能,找到刚才备份的文件,

用默认设置恢复旧Moodle的数据库,恢复成功返回值是0;

8、进入新Moodle的相关目录,将刚才备份的moodledata文件夹覆盖新Moodle的moodledata

文件夹,保险的话最好将新Moodle的moodledata文件夹先清空或者干脆删除;

9、进入新Moodle的相关目录,修改文件,将$CFG->dbtype = 'mysqli';这句修

改为$CFG->dbtype = 'pgsql';

10、进入Apache下的conf目录,修改文件,在文件头加一句LoadFile "盘符:/新

Moodle安装路径/server/php/",只有加了这句,新Moodle才能正常地连接使用真实

机器Windows2003server下安装的Postgresql数据库;

11、这时候,不能再用Start 命令启动Moodle相关服务了,因为这同时会启动

Mysql服务,没有必要,要进入下一级目录,执行apache_就好;

12、接着访问localhost,按照页面提示做一些后续设置就好,没有难度,可以根据具

体机器的ip或者域名,修改文件,把

$CFG->wwwroot = 'localhost';中的网站地址修改成"我的域名"即可。

后续问题:还是windows下Moodle的日历乱码和中文文件名上下载痼疾,据说Moodle1.8

就解决得很好了,可是现在都2.2了还酱紫,郁闷,下次再折腾吧……