免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1690 | 回复: 0
打印 上一主题 下一主题

Linux操作系统下Moodle平台的搭建-----毕业设计论文1 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-27 19:18 |只看该作者 |倒序浏览

Linux操作系统下Moodle平台的搭建
马海瑞
( 宁夏大学教育科学学院  教育技术学专业  2004级 )
[摘要]  当前许多高校Moodle课程开展得如火如荼,但大多都是在windows环境下构建的Moodle平台,使用过程中发现该平台很容易出现安全性和稳定性的问题。笔者作为较早接触、使用Moodle的一员,认为Moodle在Linux系统下安装运行更稳定、安全。因此,尝试在Red Hat-L i n u x系统下构建Moodle平台,旨在解决系统安全性及稳定性等问题,意在为Moodle网络课程这个平台提供良好的环境支持。
[关键词]  Moodle  Appche  MySQL  PHP  PHPmyAdmin  Linux
1 需求分析
MOODLE[1]平台是目前世界上免费的开放源代码、功能强大的、在国际上有一定应用基础的、可以支撑教育信息化课程设计与教学应用的信息技术平台。在国内的许多高校推广,亦是适合中小学基础教育选用的学习环境。但是,Moodle平台是对服务器的硬件要求特别高的网络管理系统,其一、对于大多数的中小学来说,配置一台高配置的服务器,在经费上都是比较困难的;其二、现在大多把Moodle平台安装在windows系统下,由于windows系统自身的原因,服务器经常出现异常,在安全性和稳定性上也带来了很多问题,给教师和学生带来教学上的不便。
怎么解决这个问题,换操作系统?对,Linux操作系统,它强大的网络性能,对硬件的完全支持、以及良好的安全性、稳定性,完全可以解决这一问题。linux操作系统可以在低配的计算机上运行,非常适合中小学开展Moodle网路课程的建设。我的设计思想就是在RedHat Linux 下构建Moodle平台。
1.1  Linux系统和Windows系统技术对比
(1)进程治理及调度:Linux开销较小:在进程治理及调度方面,Linux是一个单块式的操作系统,操作系统通常在用户进程的内存空间内进行,可免去发生系统调用时的进程切换开销。Windows是一个准微内核操作系统,许多功能以单独的进程实现,从而提高了系统的模块化程度,但进程切换上的开销要大一些。Linux支持内核级的线程,但它将线程定义为进程的另一个“执行上下文”,从而简化了进程/线程之间的关系和调度程序的设计,它的线程库提供了和POSIX兼容的线程同步机制。Windows支持的线程是典型的进程/线程模型。它的线程同步机制和Linux类似。Linux中进程是基本的调度单位,它提供了三种调度策略。
(2)进程间通信机制:Linux更灵活:在进程间通信机制上,Linux提供了标准的UNIX IPC机制,而Windows 则在基本IPC机制的基础上,提供了许多直接面向应用程序的高级IPC机制。从本质上看,Linux的IPC机制接近于IPC原语,比较底层,提供了最大的灵活性,也可以在此基础上建立更加复杂的高级IPC机制,而Windows 在原语级提供的IPC机制有管道、命名管道、消息传递、共享内存、信号量等。
(3)内存治理:Linux优于Windows:在内存治理上,Linux 和Windows 在面对相同的进程地址空间大小时,对内存布局的使用方式不同。Windows实际只为进程预备了2GB弱的可用虚拟地址空间,而Linux中的进程地址空间使用更灵活些。
(4)安全性:Linux具有一定优势:在安全性方面,Linux采用的是UNIX在安全性方面成功的技术,尽管有一些安全漏洞,但因为设计上的开放性,这些漏洞能够在很快的时间内发现并得到解决。Windows 虽然采用的ACL技术,更加复杂和严密,但因为其密码加密步骤过于简单,密码轻易被破解。安全性设计上的不公开性也导致其有很多安全上的漏洞。
美国计算机应急反应小组最近发表的安全漏洞测评报告称,微软的Windows出现了250次安全漏洞,其中有39个安全漏洞的危险程度达到了40分或者40分以上。而Red Hat Linux只有46次安全漏洞,其中只有3个安全漏洞的危险程度在40分以上。
所以测试结果表明,采用linux的安全性确实比windows系统有一定的优势[2]。
1.2 Web服务器:Linux系统和Windows系统性能对比
多数用户会在linux和windows之间选择,这是两个最热门的Web服务器。本文将对监测采集的大量数据进行分析,比较每个操作系统的正常运行时间和性能。
我们监测了13,000的网站,除去采用不常用操作系统的网站,我们整理了12,089个网站的数据。不同操作系统在这些网站所占的比例请见下表:
系统
数量
百分比
Linux
7295
60.3%
Windows
2052
17.0%
FreeBSD
860
7.1%
Minix
774
6.4%
OpenBSD
421
3.5%
NetBSD
238
2.0%
Digital UNIX
183
1.5%
Solaris
157
1.3%
Mac OS X
109
0.9%
数据表明,Linux达60%,占据了将近2/3的绝对多数,Windows位居次席,占17%。下面我们测试每种系统的正常运行时间和响应速度。测试人员在美国,德国和奥地利三地同时每三十分钟监测一次,也就是说每周每个网站统计1008次记录。这意味着每周统计Linux服务器的记录 7,295*1,008 = 7,353,360 次,Windows服务器的记录则为2052*1008= 2,068,416 次。大量为我们进行操作系统的比较提供了坚实基础,假定忽略其他方面的差异(ISP的差异,良好的应用设计等)。我们将正常运行时间的平均值整理后,得到了下面的数据表格:
第14星期
正常运行
回应
第15星期
正常运行
回应
第16星期
正常运行
回应
NetBSD
98.91
363
NetBSD
99.42
387
NetBSD
99.68
382
OpenBSD
98.59
435
Solaris
99.28
418
Linux
99.05
466
Linux
98.49
452
OpenBSD
99.20
444
OpenBSD
98.98
448
Solaris
98.35
412
FreeBSD
99.04
502
Mac OS X
98.95
570
FreeBSD
98.25
492
Linux
99.03
460
FreeBSD
98.94
503
Digutal
97.99
473
Digutal
98.96
479
Windows
98.56
517
Windows
97.94
499
Windows
98.35
520
Digutal
98.23
470
Mac OS X
96.70
568
Mac OS X
97.82
553
Solaris
97.68
410
Minix
88.70
513
Minix
94.77
533
Minix
95.04
534
数据表明,NetBSD在正常运行时间上领跑其他操作系统。其他BSD系统和Solaris也排名靠前。Linux每周都高于Windows超过 0.5%。0.5%差距意味着每周50分钟的宕机,或者每月3小时36分钟。1分钟的宕机损失面对商业应用有时可能十分巨大。Windows正常运行时间较低的一个原因是系统更新,安装软件后需要重启。
另一个重要参数就是响应时间,——用户提交http请求后,打开网页的时间。我们将刚才的数据按照每个操作系统的响应时间排序,如下表:
第14星期
正常运行
回应
第15星期
正常运行
回应
第16星期
正常运行
回应
NetBSD
98.91
363
NetBSD
99.42
387
NetBSD
99.68
382
Solaris
98.35
435
Solaris
99.28
418
Solaris
97.68
410
OpenBSD
98.59
435
OpenBSD
99.20
444
OpenBSD
98.98
448
Linux
98.49
452
Linux
99.03
460
Linux
99.05
466
Digutal
97.99
473
Digutal
98.96
479
Digutal
98.23
470
FreeBSD
98.25
492
FreeBSD
99.04
502
FreeBSD
98.94
503
Windows
97.94
499
Windows
98.35
520
Windows
98.56
517
Minix
88.70
513
Minix
94.77
533
Minix
95.04
534
Mac OS X
96.70
568
Mac OS X
97.82
553
Mac OS X
98.95
570
Linux的响应速度要比Windows快50微秒左右。总体上说,统计数据证明基于Linux的服务器效率和响应速度要高于Windows服务器【3】。
2 系统概述
2.1 Red Hat-Linux操作系统概述
Linux的诞生可以追溯到1991年,当Linus还是芬兰赫尔辛基大学的一名学生时,他对当时为教学而设计的Minix操作系统提供的功能不满意,于是他决定自己写比Minix更强大的类UNIX操作系统来取代Minix,后来这个类UNIX操作系统就是Linux。
Linux的特点:  Linux是一种优秀的操作系统,支持多用户、多进程、多线程、实时性好、功能强大而稳定。可以从几个方面来阐述linux良好的服务器功能:1、广泛的协议支持;2、文件系统下良好的兼容性;3、支持多种网络互联;4、完善的网络支持;5、强大的远程管理;6、多种应用系统的支持;
Red Hat是红帽最成功的LINUX发行版本之一,它的的特点是安装和使用简单,RedHat可以让用户很快享受到Linux的强大功能而免去繁琐的安装与设置工作.Red Hat是全球最流行的Linux版本,Red Hat 已经成为Linux的代名词,很多人一提到Linux就会毫不犹豫的想到Red Hat.所以我们用来搭建的服务器也选择Red Hat.我们选择的版本是Red Hat Enterprise ES Linux,它广泛适用小型企业或部门级的计算环境,如网络服务器、文件服务器、打印服务器、邮件服务器和万维网服务器[4]。
2.2 PHP语言概述
PHP 是: Hypertext Preprocessor (超文本预处理器) 的缩写,它是一种服务器端的 HTML 脚本/编程语言,是一种简单的、面向对象的、解释型的、健壮的、安全的、性能非常之高的、独立于架构的、可移植的、动态的脚本语言。PHP 是一种
HTML
内嵌式的语言,PHP与
微软

ASP
颇有几分相似,都是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,现在被很多的网站编程人员广泛的运用。PHP 独特的语法混合了 C、Java、以及 PHP 自创的语法。它可以比 CGI更快速的执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,成分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要执行编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及
操作系统
[5]。
2.3 MySQL数据库概述
MySQL是最受欢迎的开源SQL数据库管理系统,它由MySQL AB开发、发布和支持。
MySQL是一个快速、多线程、多用户的SQL数据库服务器,其出现虽然只有短短的数年时间,但凭借着“开放源代码”的东风,它从众多的数据库中脱颖而出,成为PHP的首选数据库。除了几乎是免费的这点之外,支持正规的SQL查询语言和采用多种数据类型,能对数据进行各种详细的查询等都是PHP选择MySQL的主要原因。
MySQL数据库的主要特征:
MySQL可运行在不同的操作系统下。简单地说,MySQL可以支持Windows95/98/NT/2000以及UNIX、Linux和SUN OS等多种操作系统平台。这意味着在一个操作系统中实现的应用可以很方便地移植到其他的操作系统下。
MySQL拥有一个非常快速而且稳定的基于线程的内存分配系统,可以持续使用而不必担心其稳定性。事实上,MySQL的稳定性足以应付一个超大规模的数据库。
强大的查询功能。MySQL支持查询的SELECT和WHERE语句的全部运算符和函数,并且可以在同一查询中混用来自不同数据库的表,从而使得查询变得快捷和方便。
PHP为MySQL提供了强力支持,PHP中提供了一整套的MySQL函数,对MySQL进行了全方位的支持[6]。
2.4 Apache服务器概述
Apache[3]是世界排名第一的Web服务器,根据著名的Web服务器调查公司Netcraft的调查,世界上百分之五十以上的Web服务器都在使用Apache。
纵观Apache,它为我们的网络管理员提供了丰富多彩的功能,包括目录索引、目录别名、内容协商、可配置的HTTP错误报告、CGI程序的SetUID执行、子进程资源管理、服务器端图象映射、重写URL、URL拼写检查以及联机手册man等。也就是说,如果您在Linux Server上成功安装配置了Apache之后,您的计算机也将随着Apache的生效而摇身一变,成为一台名副其实的Web Server,这种变化的确是激动人心的。伴随着自由软件发展的强大动力,我们有理由相信Apache的未来是一片光明的。
在Internet时代,外部主页的发布已经成为树立公司形象的一个重要手段,而内部主页也成为公司管理的主要方式。但是,要想实现这些功能,首先应该把我们的Linux Server配置成为一台强大的Web Server。时至今日,全球应用最广泛的Web服务器软件就是Apache,本章将详细介绍如何配置Apache服务器。希望各位同仁能够通过阅读本片文章达到理论实践双丰收的目的,在很短的时间里迅速成为一名出色的网络管理员。
Apache的主要特征是:可以运行上所有计算机平台;支持最新的HTTP 1.1协议;简单而强有力的基于文件的配置;支持通用网关接口CGI;支持虚拟主机;支持HTTP认证;集成Perl脚本编程语言;集成的代理服务器;具有可定制的服务器日志;支持服务器端包含命令(SSI) 支持安全Socket层(SSL)用户会话过程的跟踪能力;支持FastCGI;支持Java Servlets。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/38447/showart_1150476.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP