Moodle的主要功能与特点包括:多种类型课程的开设、学习记录的跟踪分析、班级与小组功能、课程资源管理、分数制与等级制双评价方式、测试题库功能、多种在线教学模块、发布和评判作业、成绩管理等。
使用Moodle系统的用户主要分为4种:管理员、开发人员、教师和学生。
安装Moodle
安装需求
Moodle主要是在Linux系统中使用Apache、MySQL和PHP开发的,它同时也支持Windows XP/2000/2003、Solaris 10、Mac OS X、Netware 6系统,和PostgreSQL、Oracle、Microsoft SQL Server数据库。笔者对Moodle的介绍主要基于LAMP平台,不涉及其他操作系统和数据库。
安装Moodle的需求如下:
1.硬件需求
硬盘空间:至少有160MB剩余空间,这只是安装的最低需求,如要存储教学资料,剩余空间越大越好。
内存:至少256MB,推荐1GB。对Moodle来说,通常的原则是每1GB内存支持50个并发用户。
2.软件需求
Moodle是使用PHP脚本语言编写的,它需要Linux系统预先装好Apache、MySQL和PHP,目前大多数主流的Linux套件都会提供上述软件包。Moodle对这些软件的最低版本要求取决于用户所要安装的Moodle版本,在Moodle的下载页面http://download.moodle.org上,可以看到不同Moodle版本对这些软件版本的要求。例如,笔者介绍的Moodle 1.9.10对PHP和MySQL的最低版本要求为:PHP 4.3.0和MySQL 4.1.16。
下载和设置目录
Moodle最新版本的软件包可以通过http://download.moodle.org下载。其软件包每一个星期更新一次,截至2010年10月,其软件包的最新稳定版本为1.9.10+。
下载的软件包moodle-weekly-19.tgz解开后将生成一个名为Moodle的目录,该目录中包含了Moodle的所有文件。用户需要将该目录放置到Web服务器文档目录中(此时,Moodle的URL访问路径为http://yourwebserver.com/moodle),或将该目录中所有内容直接复制到Web服务器文档目录中(此时,Moodl e 的URL 访问路径为http://yourwebserver.com)。以笔者使用的服务器为例,如下命令将在We b 服务器文档目录中生成一个名为Moodle的目录:
# mv moodle-weekly-19.tgz /var/www/htdocs
# cd /var/www/htdocs
# tar zxvf moodle-weekly-19.tgz
# ls
drwxr-xr-x 34 root root 4096 2010-10-27 08:51 moodle/
-rw-r--r-- 1 root root 14037112 2010-10-27 15:35 moodle-weekly-19.tgz
创建数据库和资料目录
在安装Moodle之前,用户需要创建一个供Moodle使用的空数据库,然后在硬盘上创建一个目录供Moodle保存用户上传的课程资料和其他文件。
1.创建空数据库
用户需要在MySQL数据库中为Moodle创建一个空数据库(如Mo o d l e)和一个用于访问该数据库的用户(如moodleuser)。
下面笔者以使用MySQL客户端程序为例来说明创建过程:
# mysql u root p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2711
Server version: 5.0.84-log Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the current input
statement.
mysql>
首先,用户需要检查现有数据库,查看是否已有名为Moodle的数据库:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.00 sec)
创建一个数据库来存储Moodl e 表格,将它命名为Moodle,当然,用户也可以使用其他名字:
mysql> create database moodle;
Query OK, 1 row affected (0.01 sec)
将Moodle数据库的默认字符集和校对规则改变为UTF8:
mysql> alter database moodle default character set utf8 collate utf8_unicode_ci;
Query OK, 1 row affected (0.01 sec)
创建用于访问Moodle数据库的用户名和密码,并授予该用户相应的数据库访问权限。将用户名设置为moodleuser,密码设置为moodletest。也可以使用其他的用户名。需要注意的是,用户设置的用户名和密码将在接下来的配置窗口中用到:
mysql> grant select,insert,update,delete,create,create temporary tables,
-> drop,index,alter on moodle.*
-> to [email=moodleuser@localhost]moodleuser@localhost[/email] identified by 'moodletest';
Query OK, 0 rows affected (0.02 sec)
最后,退出MySQL客户端程序:
mysql> quit
Bye
#
2.创建资料目录
为安全起见,用户所创建的资料目录最好不能通过Web直接访问,即这个目录不放置在Web服务器的文档根目录中。在笔者使用的服务器中,Web服务器文档根目录为/var/www/htdocs,所以笔者是在目录/var/www中创建该资料目录,用户可以根据自己的具体情况来创建。笔者使用的资料目录名为moodledata,用户可以自行修改为其他名字,但需要注意的是,该目录名会在随后的Moodle安装界面中用到。
# cd /var/www
# mkdir moodledata
为确保Moodle可以在该资料目录中保存上传的文件,用户需要将该目录的属主和组设置为Web服务器进程的属主和组(在笔者使用的服务器中,Web服务器进程的属主和组的名字均为apache),并设置该目录的访问权限以确保该目录的属主拥有读、写和执行权限:
# chown -R apache:apache moodledata
# chmod -R 0770 moodledata
调整Apache服务器和PHP的配置
1.调整Apache服务器的配置文件httpd.conf
首先,需要确认Web服务器将index.php添加为默认页面。这在A p a c h e 的配置文件h t t p d . c o n f 中是使用DirectoryIndex参数完成的,如下所示:
DirectoryIndex index.php index.html index.htm
然后,如果用户使用的是Apache 2的版本,需要在httpd.conf中启用AcceptPathInfo变量,它允许脚本以http://server/file.php/arg1/arg2的方式传递参数。
AcceptPathInfo On
2.调整PHP的配置文件php.ini
用户需要在配置文件php.ini中调整的内容如下所示:
register_globals = Off
safe_mode = Off
magic_quotes_runtime = Off
session.auto_start = 0
session.save_handler = files
file_uploads = 1
session.bug_compat_warn = 0
magic_quotes_gpc = Off
//memory_limit设置的是一个脚本可以消耗的最大内存数,最好将它设置为大于128M
memory_limit = 256M
//PHP可以接受的最大POST数据大小,读者可以根据自己的需求调整
post_max_size = 64M
//用户上传文件的最大允许大小,读者可以根据自己的需求调整
upload_max_filesize = 100M
安装Moodle
1.使用安装脚本开始安装
用户只需使用浏览器直接访问Moodl e 主页面,如http://yourserver/moodle/install.php即可开始运行安装脚本install.php。
安装脚本将依次通过以下几个步骤帮助用户创建Moodle的配置文件config.php:
(1) 选择安装语言;
(2) 检查服务器的PHP设置是否满足要求,如不满足,屏幕上会显示,需要满足需求才能进行下一步;
(3) 确认Moodle的完整Web地址、Moodle安装目录和资料目录;
(4) 配置数据库,输入用户在前面设置好的数据库名、用户名和密码;
(5) 检查服务器的运行环境是否满足要求,主要是检查数据库版本、PHP版本和一些PHP扩展支持,如不满足,屏幕上会有显示,用户需要解决这些问题才能进行下一步;
(6) 将屏幕上显示的代码复制保存到Moodle根目录下的config.php文件中。然后,点击“继续”就将进入安装的配置阶段。
2.通过管理页面完成Moodle配置
(1)首先是GPL许可页面,用户必须同意才能进行下一步;
(2)询问用户是否需要无人值守的操作方式,建议不选择,这样可以看到整个操作过程;
(3) Moodle开始建立数据库并创建用于存储数据的表格。首先是创建主数据库表格,用户将看到一组SQL语句,其后跟随该语句的执行结果,如成功,则显示SUCCESS,在该页面的最后应显示“Database was successful ly upgraded”,点击“Continue”;
(4)接下来是创建modular、plugin等各种Moodle模块需要的表格,这些过程都是自动完成的,如无问题,只需点击“Continue”即可;
(5)配置管理员账号,用户需要在这个页面输入管理员的用户名、密码、邮件地址等信息,加星号的栏目必须填写,填写完后点击“Update profile”;

图1 Moodle站点的登录页面
(6)用户将被转到Moodle站点的登录页面,如图1所示,此时,用户可以输入刚刚创建的管理员账号和密码进入系统,将看到如图2所示的Moodle主页面。如果用户无法用刚刚创建的管理员账号和密码登录进系统,用户可以尝试使用系统默认的用户名admin和密码admin登录系统。
管理Moodle
安装完Moodle后,用户需要根据自己课程管理的具体需求,对Moodle的选项、配置文件进行一些调整,同时按照教师的要求开设课程。从图2可以看出,Moodle可以配置的选项非常多,这也正是Moodle强大之处。

图2 Moodle站点的主页面
基本设置
安装完Moodle后,首先需要下载并安装中文语言包,进行首页设置,以及选择一个合适的界面主题风格。
1. 安装中文语言包
从Moodle网站上下载的Moodle软件包默认不带中文语言包,所以需要在安装Moodle之后,从Moodle的网站http://download.moodle.org/lang16/下载中文语言包zh_cn_utf8.zip,然后将该语言包复制到Moodle主目录中的lang目录下,在笔者的服务器上,该目录的完整路径为/var/www/htdocs/moodle/lang,再将该语言包释放,具体命令如下所示:
# cp zh_cn_utf8.zip /var/www/htdocs/moodle/lang
# cd /var/www/htdocs/moodle/lang
# unzip zh_cn_utf8.zip
# ls l
total 780
-rw-r--r-- 1 root root 620 2006-09-21 10:00 README.txt
drwxr-xr-x 2 root root4096 2010-10-27 08:04 en/
drwxr-xr-x 5 root root4096 2010-10-08 08:04 en_utf8/
drwxr-xr-x 5 root root4096 2010-05-26 08:00 zh_cn_utf8/
-rw-r--r-- 1 root root 774384 2010-10-29 16:08 zh_cn_utf8.zip
接下来,用户就可以在登录页面的语言选择中发现中文语言的选项了,为了使中文选项变为默认选项,用户可以以管理员的身份登录,从Moodle 主页面的左边栏中,选择“Language”-->“Language settings”,将“Default language”选择为中文。虽然登录界面变为中文了,登录进去后的默认主页面文字还是英文的,如果想将默认主页面文字变为中文,需要在Moodle主页面的右上角,点击用户名链接,选择“Edit profile”,将“Preferred language”修改为中文即可。
2.选择界面主题风格
Moodle默认提供了很多主题风格。如果用户对Moodle默认安装的界面风格不满意,可以从Moodle主页面的左边栏中,选择“外观”-->“主题风格”-->“主题选择器”,进行选择。用户也可以通过Moodle网址http://moodle.org/mod/data/view.php?id=6552下载各种主题,将下载下来的主题包复制到Moodle主目录的theme目录中进行释放,然后通过“主题选择器”就可以进行选择了。
3.Moodle首页设置
在Moodle主页面的左边栏中,选择“首页”-->“首页设置”,填写“网站全名”和“网站简称”等信息。填写完这些信息后,当进入选项菜单时,用户会发现在Moodle页面的上方会多出一个导航栏,如图3所示,这对用户了解现有路径和返回主页面非常有帮助。

图3 Moodle导航栏
定制界面
用户一般会在安装完Moodle后,对其界面选项和排版进行调整,以更符合自己学校课程管理的需求。下面笔者列出自己对Moodle界面所做的一些修改。
1.将Moodle主页面底部的Moodle链接删除
修改所选择界面主题包中的超文本文件,例如,在笔者使用的服务器中,该文件为/var/www/htdocs/moodle/theme/相应界面主题包/footer.html,将其中包含homelink字符串的一行删除即可;
2.将Moodle配置页面底部的“此页的Moodle文档”链接删除
修改所选择界面主题包中的超文本文件,例如,在笔者使用的服务器中,该文件为/var/www/htdocs/moodle/theme/ 相应界面主题包/f o o t e r . h tm l,将其中包含moodledocslink字符串的一行删除即可;
3.取消登录页面中的访客登录按钮
如果用户不希望在登录页面中显示访客登录按钮,可以在Moodle主页面的左边栏中,选择“用户”-->“身份验证”-->“管理授权”,将“访客登录按钮”设置为“隐藏”即可;
4.取消登录页面中的忘记用户名或密码处理按钮
编辑Moodle主目录中login子目录下的index_form.html文件,在笔者使用的服务器中,该文件的完整路径为/var/www/htdocs/moodle/login/index_form.html,将该文件中forgotsub div块删除即可。
开设课程
笔者主要从管理员的角色介绍课程的开设方法,有关教师如何设计和管理课程的方法可参见网址http://docs.moodle.org/en/Adding/editing_a_course的介绍。
1.课程格式
Moodle提供了好几种课程格式,用户可以在Moodle主页面的左边栏中,选择“课程”-->“课程缺省设置”,在“格式”选项栏中看到,主要有星期格式、主题格式和社区格式等。Moodle默认选择的是星期格式,这也是目前国内高校课程开设的主要方式。选择不同的课程格式,会影响到课程内容在课程主页中的显示方式。
2.添加课程
(1) 添加课程分类:首先,需要添加课程分类,以对开设的课程进行分类。在Moodle主页面的左边栏中,选择“课程”-->“添加/修改课程”-->“添加新类别”;
(2) 添加新课程:在Moodle主页面的左边栏中,选择“课程”-->“添加/修改课程”,点击合适的课程类别,然后点击“添加新课程”。在课程设定页面中,需要填写课程的全名、简称、开始时间、星期数等信息,最后点击“保存更改”;
3.添加课程教师
(1) 添加用户:首先,用户需要在Moodle系统中添加一个用户。在Moodle主页面的左边栏中,选择“用户”-->“账号”-->“添加用户”,添加一个新用户;
(2) 授予教师权利:授予该用户某个课程教师的权利。
在Moodle主页面的中间栏中点击课程链接,选择课程页面左边栏中的“委派角色”-->“Teacher”,选择合适的用户添加到课程中即可。
4.添加学生
添加学生账号有多种方式:手工添加、自主注册和批量添加等。为确保学生信息的准确性,常用的方式是批量添加学生账号,以学生的学号为用户名。在Moodle主页面的左边栏中,选择“用户”-->“账号”-->“上传用户”,将预先按照指定格式填写好的用户文本文件上传即可。该文件的格式要求可点击上传用户界面中“上传用户”标题旁边的问号查看。例如,笔者使用的用户文本文件格式如下所示:
username passwordfirstname lastname
2010021099001 9001 2010021099001 b
2010021099003 9003 2010021099003 b
2010021099004 9004 2010021099004 b
其中username为用户的学号,password为用户学号的后4位。firstname和lastname分别为用户的名和姓,因为这2个字段为必需字段,所以在文件中必须存在。要注意的是,Moodle系统默认对用户的密码强度要求很高,必须包含数字、大小写字母和非字母数字的字符,这对批量添加用户时的密码设置造成一些难度,所以用户可以在Moodle主页面的左边栏中,选择“安全相关”-->“网站策略”,将“密码规则”功能暂时取消,以方便用户信息的批量上传。
5.解决新建文件夹和上传文件中文显示问题
在课程页面的左边栏中,教师可以通过点击“文件”来新建文件夹和上传文件,但文件夹名称和上传文件名称中的中文不能正常显示。要解决这个问题,需要编辑Moodle主目录中的config.php文件,在笔者的服务器上,该文件的完整路径为/var/www/htdocs/moodle/config.php,在该文件中添加如下一行内容即可:
$CFG->unicodecleanfilename = true;
Moodle的功能非常强大,除了以上介绍的内容以外,用户还可以在Moodle的网站上,找到世界各地的开发人员为Moodle开发的各种有趣插件,这些插件极大的扩充了Moodle的功能,为管理人员和教师提供了更多的便利。
(作者单位为南京大学计算机科学与技术系)


