【PHP开源代码栏目提醒】:网学会员为广大网友收集整理了,基于CentOS构建Moodle网络教学系统 - 期刊论文,希望对大家有所帮助!
ISSN 1009-3044 E-mail: xsjlcccc.net.cn第 7 卷第 26 期 and Technology 电脑知识 与技术Computer Knowledge 2011 年 9 月 Computer Knowledge and Technology 电脑知识 与技术 http://www.dnzs.net.cnVol.7 No.26 September 2011. Tel:86-551-5690963 5690964基于 CentOS 构建 Moodle 网络教学系统刘 锴(四川理工学院 计算机学院,四川 自贡 643000 )摘要:采用 Moodle 这一
开源软件来构建网络教学系统已成为国内外众多教育机构的选择,但是目前国内一些 Moodle 网 络 教 学 系统的性能并不十分稳定。
文章提出了从软件方面解决这一问题的方法,详细介绍了安装 CentOS 和配置 Moodle 所需的 Web 系统的过程,最后提出了构建稳定的 Moodle 系统所需努力的方向。
关键词:CentOS ;Moodle ;网络教学系统中图分类号:G434 文献标识码:A 文章编号:1009-3044201126-6415-05Buliding Moodle Online Teaching System Based on CentOSLIU KaiSchool of Computer Science Sichuan University of Science Engineering Zigong 643000 ChinaAbstract: The use of Moodle open source software to build online teaching system has become the choice of foreign and domestic educa-tional institutions but the performance of some domestic Moodle online teaching system is not very stable. To solve this problem this pa-per presents a solution to this problem from a software approach expounds the process of installing CentOS and configuring Web system ofMoodle and proposes some method to building a stable Moodle system in future.Key words: centos moodle online teching system Moodle 是目前世界上使用最为广泛的
开源网络教学系统之一。
为了使该系统能够有一个稳定的运行环境,必须寻找一个稳定的服务器操作系统。
在网络操作系统中,安全性和稳定性最高的是 Unix 操作系统,但是该系统对计算机硬件配置环境要求很高 ,一般教育部门很难提供这样高端的网络环境。
而 Windows 的服务器操作系统跟 Moodle 搭配,协调性欠佳。
Moodle 主要是在 Linux 系统 下 使 用 Apache MySQL 和
PHP 开 发 的 ,因 此 ,将 Moodle 安 装 在 Linux 环 境 下 能 够 达 到 最 好 的 协 调 性 ,并 发 挥 Moodle 的 最 佳 性能。
在众多的 Linux 服务器版本中,Red Hat Enterprise Linux 是世界上最著名,使用最为广泛的操作系统,但是该系统的升级需要用户支付相关费用,如果不升级,又会给系统带来安全性
问题。
昂贵的升级费用给经费较为紧张的教育部门带来了困难。
而 CentOS 系统恰恰在这二者之间做到了平衡。
CentOS 是来自于 Red Hat Enterprise Linux 系统依照开放源
代码规定释出的源
代码所编译而成。
由于出自同样的源
代码, 因此有些要求高度稳定性的服务器以 CentOS 替代商业版的 Red Hat Enterprise Linux 使用。
最 重 要 的 是CentOS 的升级是
免费的。
本文将探讨采用这一
系统来构建 Moodle
网络教学系统的方法。
1 安装 CentOS 系统 CentOS 系统可以采用光盘安装,硬盘安装,网络安装,U 盘安装几种方式。
由于现在网络和大容量 U 盘的普及,本文采用 U 盘安装。
其工作原理是,从 U 盘启动,通过 grub 引导 CentOS 系统安装:1.1 对 U 盘格式化 此处的操作的目的是在 U 盘上创建一个主分区,并将其激活(目的是从 U 盘启动时能够正确引导),推荐使用工具:DiskGenius分区,主分区至少 5Gfat32 分区格式 激活为主分区。
1.2 安装 grub 使用工具:grubinst-1.1-bin-w32.zip 和 grub4dos-0.4.4.zip 。
首先将 grubinst-1.1-bin-w32.zip 解压,运行 grubinst_gui.exe 在“磁盘”选项选择 U 盘,“分区
列表”选项选择“整个磁盘 MBR ”将引导
代码写入 U 盘 mbr 。
在“选项”区选中“不保存原来的 mbr ”、“不引导原来 的 mbr ”、“ 启 动 时 不 搜 索 软 盘 ”、 点 击 “ 安 装 ” 即 可 。
grubinst 将 grub4dos 启 动 代 码 安 装 到 MBR/BS 。
然 后 安 装 grub4dos : 将grub4dos-0.4.4.zip 解压,将 grldr 和 menu.lst 两个文件复制到主分区。
从 U 盘启动时,
计算机将 MBR 里的 grub 启动
代码装入内存,该
代码将 grldr 装入内存并运行,grub 根据 menu.lst 里的引导配置做相应的引导事项。
1.3 添加 linux 安装引导 在 menu.lst 最后添加: title Install CentOS 5.6 root hd00 kernel /isolinux/vmlinuz text / 注意: 为使安装顺利进行,此处参数设置为 text 表示以文本模式安装。
如果不设置,默认以图形模式安装,系统自动检测显卡,系统如不能正确配置显卡驱动程序,会自动为显示器设置较高刷新率,从而导致在较低刷新率下才能正常
工作的液晶显示器产收稿日期:2011-08-06作者简介:刘锴(1979- ),男,四川自贡人,讲师,硕士,主要研究方向为计算机辅助教育,网络教育技术。
本栏目责任编辑:谢媛媛 软件设计开发 6415Computer Knowledge and Technology 电脑知识 与技术 第 7 卷第 26 期 2011 年 9 月 生黑屏现象。
/ initrd /isolinux/initrd.img title CentOS Linux rescue root hd00 kernel /isolinux/vmlinuz linux rescue initrd /iso
linux/initrd.img1.4 下载安装文件 如 CPU 支 持 64 位 计 算 则 下 载 64 位 版 本 的 CentOS 从 CentOS 官 方 网 站 http://www.centos.org 下 载 8 个 安 装 文 件 CentOS-5.6-x86_64-bin-1of8.iso … CentOS-5.6-x86_64-bin-8of8.iso 到 U 盘主分区,(将第一个安装文件 CentOS-5.6-x86_64-bin-1of8.iso 里 的isolinux 目录解压到主分区。
1.5 设置启动方式 在 BIOS 里设置计算机首先从 U 盘启动,重启系统后,按“F11 ”键(如方正文祥 E560 ),选择从 U 盘启动,进入 Grub 菜单后,选择Install CentOS 5.6 开始安装。
1.6 安装 CentOS 过程 Choose a Language 选择 chinese 文本模式安装过程中不支持中文,但安装完,登录系统后可方便进入中文操作系统。
KeyboardType 选择默认的 us 。
Installation Method 选择 Hard drive 。
Select Partition 显示:/dev/hda1/dev/hda2/dev/sda1 选择 /dev/sda1 也就是 U 盘的 第 1 个 分 区 存 放 着 8 个 iso 文 件 ,接 下 来 就 显 示 Welcome to CentOS 开 始 读 入 光 盘 镜 像 开 始 安 装 安装目的地选择 hda 。
分区设置:/boot 100MB ext3 ,/boot 分区不能位于卷组中,因为引导装载
程序无法从逻辑卷中读取。
需单独创建。
如硬盘总容量 320G ,其各分区设置如表 1 。
表 1 分区方案 安装完成后, 可能无法启动。
此时应该修复CentOS Grub 引 导 ,重 启 计 算 机 后 , 进 入 linux rescue模式,选择安装 iso 文件在 sda1 选 择 continue 挂 载 安 装 文 件 , 注 意 不 要 选 择read-only 模式。
出现 sh 后,输入 chroot /mnt/sysim-age 因 为 我 们 安 装 好 的 系 统 被 挂 载 在 /mnt/sysimage下面 输入 cd /boot/grub vi grub.conf 按 : 修 改 ,将里面 的 hd10 全 部 改 为 hd00 ,保 存 退 出 。
在 命 令 行中执行 grub-install /dev/hda 。
修改 /boot/grub/menu.lst ,将其中的(hd )修改为(hd00 ),保存退出。
拨下移动硬盘重启。
如果系统不能进入图形界面,则需要安装显卡驱动。
方法:先
查询到本机显卡驱动型号后,下载显卡驱动至 U 盘,以 root 用户登录系统输入, mkdir /mnt/flash mount -t vfat /dev/sda1 /mnt/flash cd /mnt/flash 进 入 显 卡 驱 动 所 在 目 录 , 输 入 sh ./NVIDIA-Linux-x86_64-260.19.36.run 安 装 好 后 , 若 需 启 动 CentOS 系 统 图 形 界 面 输 入startx 。
2 安装 Web 服务器所需软件2.1 安装 MySQL 数据库 基于二级制
代码安装,需要下载 mysql-5.5.12-linux2.6-x86_64.tar.gz 。
在命令行中输入如下命令: groupadd mysql useradd -r -g mysql mysql cd /usr/local tar zxvf /path/to/mysql-VERSION-OS.tar.gz ln -s full-path-to-mysql-VERSION-OS mysql cd mysql chown -R mysql . chgrp -R mysql . scripts/mysql_install_db --usermysql chown -R root . chown -R mysql data Next command is optional cp support-files/my-medium.cnf /etc/my.cnf bin/mysqld_safe --usermysql Next command is optional cp support-files/mysql.server /etc/init.d/mysql.server 为 MySQL root 用户设置密码,6416 软件设计开发 本栏目责任编辑:谢媛媛第 7 卷第 26 期 2011 年 9 月 Computer Knowledge and Technology 电脑知识 与技术 ./bin/
mysqladmin -u root password new-password ./bin/my
sqladmin -u root -h localhost pass
word new-password 运行 ./bin/mysql_secure_installation 删除缺省创建的 test 数据库和匿名用户的选项,并测试运行 mysql , service mysqld start Starting MySQL. OK mysql -u root -p Enter password: mysqlcreate database moodle ; / 新建数据库 moodle/ mysqlq Moodle 平台的安装和配置需要在文本模式下新建 Moodle 数据库存储目录,命令如下: mkdir /usr/local/apache/moodledata cp moodle.zip /usr/local/apache/htdocs cd /usr/local/apache/htdocs unzip moodle.zip chown -R apache:apache /usr/local/apache/moodledata2.2 安装 OpenSSL tar zxvf openssl-1.0.0d.tar.gz cd openssl-1.0.0d ./configure --prefix/usr/local/ssl/ --shared makemake install 以下命令更新系统 openssl 版本 mv /usr/bin/openssl /usr/bin/openssl.OFF ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl ln -s /usr/local/ssl/include/openssl /usr/include/openssl 以下命令配置库文件
搜索路径 echo /usr/local/ssl/lib /etc/ld.so.conf /sbin/ldconfig -v 查看版本号,验证是否安装正确 openssl version – a2.3 安装 Curl tar zxvf curl-7.16.2.tar.gz ./configure --prefix/usr/local/curl --with-ssl/usr/local/ssl makemake install2.4 安装 gd 库以及相关的软件包2.4.1 安装 zlib-1.2.4 tar xzvf zlib-1.2.4.tar.gz cd zlib-1.2.4 ./configure --shared makemake install2.4.2 安装 jpeg8 cd /usr/local/src tar zvxf jpegsrc.v8c.tar.gz cd jpeg-8c ./configure --prefix/usr/local/jpeg8/ --enable-shared --enable-static make make install2.4.3 安装 libpng tar zvxf libpng-1.5.2.tar.gz cd libpng-1.5.2 ./configure makemake install2.4.4 安装 freetype cd /usr/local/src tar zvxf freetype-2.4.4.tar.gz cd freetype-2.4.4 ./configure --prefix/usr/local/freetype/ mkdir usr/local/freetype/include/freetype2/freetype/internal make make install 本栏目责任编辑:谢媛媛 软件设计开发 6417Computer Knowledge and Technology 电脑知识 与技术 第 7 卷第 26 期 2011 年 9 月 2.4.5 安装 libxml2-2.7.8.tar tar zvxf libxml2-2.7.8.tar.gz cd libxml2-2.7.8 ./configure makemake install cp xml2-config /usr/bin2.4.6 安装 Fontconfig tar zxvf fontconfig-2.4.2.tar.gz cd fontconfig-2.4.2 export PKG_CONFIG_PATH/usr/local/lib/pkgconfig:PKG_CONFIG_PATH ./configure --prefix/usr/local/fontconfig --with-freetype-config/usr/local/freetype/bin/freetype-config makemake install2.4.7 安装 libiconv tar zxvf libiconv-1.13.1.tar.gz cd libiconv-1.13.1 ./configure --prefix/usr/local/libiconv/ makemake install2.4.8 安装 libmcrypt tar -zxvf libmcrypt-2.5.8.tar.gz cd /usr/local/src/libmcrypt-2.5.8/ ./configure make make install2.4.9 安装 libltdl cd libmcrypt-2.5.8/libltdl ./configure --enable-ltdl-install makemake install2.4.10 安装 libxslt tar -zxf libxslt-1.1.22.tar.gz cd libxslt-1.1.22 mkdir /usr/local/libxslt ./configure --prefix/usr/local/libxslt --with-lib
xml2-dir/usr/local/lib makemake install2.4.11 安装 GD-2.0.35 库 tar vxjf gd-2.0.35.tar.bz2 mkdir -p /usr/local/gd cd gd-2.0.35 ./configure --prefix/usr/local/gd --with-jpeg/usr/local/jpeg8/ --with-png-dir/usr/local/lib/ --with-zlib --with-freetype/usr/local/freetype/ --with-libxml-dir/usr/local/lib/ --with-fontconfig/usr/local/fontconfig makemake install cp gd.h /usr/local/lib2.5 安装 Apache tar zxvf httpd-2.2.19.tar.gz cd httpd-2.2.19 ./configure --prefix/usr/local/apache --with-mysql/usr/local/mysql --with-ssl/usr/local/ssl --enable-so --enable-rewrite --enable-modulesall --enable-mods-sharedall makemake install useradd apache chown -R apache.apache /usr/local/apache 在 /etc/rc.d/rc.local 文件中加入一行 /usr/local/apache/bin/apachectl start 这样每次重新启动系统以后 apache 也会随系统一起启动 . vi /usr/local/apache/conf/httpd.conf 启动 Apache 中的
php 选项 找到下面两行 DirectoryIndex index.
php 修改默认启动页 DocumentRoot 指定主目录 /usr/local/apache2/htdocs ServerName 127.0.0.1:802.6 编译
php tar jxvf
php-5.3.6.tar.bz2 cd
php-5.3.6 ./configure --prefix/usr/local/
php/ --with-mysql/usr/local/mysql --with-apxs2/usr/local/apache/bin/apxs --with-jpeg-dir/usr/6418 软件
设计开发 本栏目责任编辑:谢媛媛第 7 卷第 26 期 2011 年 9 月 Computer Knowledge and Technology 电脑知识 与技术local/jpeg8/ --with-libxml-dir/usr/local/libxml2/ --with-zlib --with-gd/usr/local/gd/ --with-freetype-dir/usr/local/freetype/ --with-png-dir/usr/local/lib/ --enable-mbstring --with-iconv/usr/local/libiconv/ --with-curl/usr/local/curl/ --with-openssl/usr/local/ssl/ --enable-tokenizer --with-xmlrpc --enable-ctype --with-mcrypt --with-mhash --with-pdo-mysql --enable-pcntl --enable-soap --with-mysqli/usr/local/mysql/bin/mysql_config --with-pdo-mysql/usr/local/mysql --enable-zip --with-pear --enable-sockets --enable-intl makemake install cp
php.ini-production /usr/local/
php/etc/
php.ini 在文件 httpd.conf 中找到 AddType application/x-gzip.gz.tgz 所在行,在其下添加以下内容: AddType application/x-httpd-
php .
php AddType application/x-httpd-
php-source .phps 即可,(注意 Listen 127.0.0.1:80 前面的 号不能去掉,User 后改为 apache Group 后改为 apache ServerName 改为 127.0.0.1:80DirectoryIndex 后添加 index.
php ,)然后重启 apache 服务 /usr/local/apache/bin/apachectl restart3 测试服务器 在 /usr/local/apache/htdocs/ 目 录 里 新 建 一 个
PHP 文 件 phpinfo.
php 在 其 中 添 加 以 下 代 码 : ,然 后 在 客 户 端 的 浏 览 器访问 http:// 服务器 IP 地址或域名 /phpinfo.
php 。
如果看到
PHP 的信息页面,则表示
PHP 运行环境配置成功。
4 结论 如今网络安全问题频现,要构建一个功能完善且健壮性强的 Moodle 教学系统,后续研究还包括许多工作,如安装 openssh 安全的远程登录服务器以便于远程维护网站,对 MySQL 数据库进行安全性设置,安装 linux 系统下的杀毒
软件 clamAV ,为 Apache 安 装防 DDOS 的模块 mod_evasive 等等。
参考文献:1 Installing Moodle-MoodleDocsEB/OL.http://docs.moodle.org/20/en/Installing_Moodle.2 梁如军 .CENTOS 5 系统管理 M. 北京 电子工业出版社 2008.3 张勤 杨章明 .Linux 服务器配置全程实录 M. 北京 : 人民邮电出版社 2010:20-228.4 杨明华 .Linux 系统与网络服务管理技术大全 M. 北京 : 电子工业出版社 2008.5 SANDRA K.JOHNSON.Linux 服务器性能调整 M. 北京 : 清华大学出版社 2009.6 Mohan Krishnamurthy Madwachar.Linux 网络安全实践 M. 北京 : 科学出版社 2009.7 冷罡华 .UBUNTU SERVER 最佳
方案 M. 北京 : 电子工业出版社 2009:76.8 何世晓 田钧 .Linux 系统管理员 M. 北京 : 机械工业出版社 2007.(上接第 6410 页)上的编程规范在网站访问量较少的时候体现不明显,但是当网站的访问用户达到一定数目之后,将会对服务器负载产生较大影响。
在完成一套软件的开发之后,如果有时间,必须反复不断的对源
代码进行重新阅读和检查,在检查过程中可以不断发现源
代码中可以优化的部分。
提高了软件效率的同时,也提高了自己的编程水平,积累了更多的经验,一举两得。
2 结论 总之,上述几点是我们对于软件
代码规范中的一些小小的看法。
对于编程来说,需要不断地在实践中总结经验,时刻将编程规范运用于软件开发中,通过实践,不断提高自己的编程水平,养成良好的编程习惯,提升
代码的运行效率,增强
代码的优雅性。
参考文献:1 石晓宁 .C/C 风格软件的编程规范与稳健性探讨 J. 雷达科学与技术 20056:346-349.2 刘洋 . 编程规范与交流能力是国际化嵌入式软件人才基本素质 J. 电子设计技术 20085:143.3 裘昱 . 面向对象程序设计原则之一编程规范篇 J. 电脑知识与技术 200311:43-45.4 石庆东 . 高校学生应了解的几点编程规范 J. 中国科教创新导刊 20095:174. 本栏目责任编辑:谢媛媛 软件设计开发 6419