基于Linux的Moodle支撑软件的自动编译安装

来源 :中小学信息技术教育 | 被引量 : 0次 | 上传用户:dt
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  如今,把Moodle先进的教育理念洋为中用,有效融入日常教学,培养学生自主学习能力,已成为许多教师的共识和理想。那么,实现LAMP方式的自动编译安装,降低Moodle应用的技术门槛,就显得尤为重要。在实践中,我们发现,困扰教师最大的问题依然是Moodle系统的安装。笔者采用运行脚本的方法,轻而易举地架设了Moodle服务器,并且已经在日常教学中使用了一个多学期,十分稳定。本文提供清晰的脚本,解决基于Linux的Moodle支撑软件的自动编译安装问题。
  
  一、Moodle服务器的架构方式
  
  目前,Moodle服务器最常用的架构方式有以下两种。
  1.Windows2000(或2003) EasyPHP方式。这种方式架设Moodle服务器比较容易,但存在两个问题:一是上传文件的文件名容易产生乱码或者是无法上传;二是并发请求反应很慢[1]。这两个问题严重影响了Moodle在日常教学中的实际应用。
  2.Linux Apache MySQL PHP,即LAMP方式。这是架设Moodle服务器的理想方式,不但可以解决上述两个问题,而且系统稳定安全。可是,LAMP方式的编译安装很繁琐。
  
  二、自动编译安装的脚本代码及简要注释
  
  Linux系统的标准程序集Shell允许运行脚本。基于这个原理,我们把LAMP方式下,架设Moodle服务器所需的各个软件,包括各种配置的编译安装的脚本代码,按照一定的顺序,依据Shell脚本的格式要求,汇集在同一个脚本文件里,从而实现基于Linux的Moodle支撑软件的自动编译安装和配置。
  1.声明shell脚本。
  #!/bin/sh
  2.Web服务器Apache编译安装的代码,配置其安装路径是/usr/local/apache。
  tar -zxvf httpd-2.2.6.tar.gz;
  cd httpd-2.2.6;
  ./configure
  --prefix=/usr/local/apache
  --enable-so;
  make;make install;
  cd ..;
  rm -rf httpd-2.2.6;
  3.数据库服务器MySQL编译安装的代码,其配置参数在相关的文献[4][9]有详细介绍。
  tar xzvf mysql-5.0.22.tar.gz;
  cd mysql-5.0.22;
  ./configure
   --prefix=/usr/local/mysql
   --localstatedir=/usr/local/mysql/data\ --with-unix-socket-path=/usr/local/mysql/tmp/mysql.sock
   --with-comment=Source
   --with-server-suffix=-Comsenz
   --with-mysqld-user=mysql
   --without-debug
   --with-big-tables
   --with-charset=utf8
   --with-collation=utf8_general_ci
   --with-extra-charsets=all
   --with-pthread
   --enable-static
   --enable-thread-safe-client
   --with-client-ldflags=-all-static
   --with-mysqld-ldflags=-all-static
   --enable-assembler
   --without-isam
   --without-innodb
   --without-ndb-debug;
  make;make install;
  cd ..;
  rm -rf mysql-5.0.22;
  cp /usr/local/mysql/share/mysql/my-huge.cnf
   /etc/my.cnf;
  cp /usr/local/mysql/share/mysql/mysql.server
   /etc/rc.d/init.d/mysqld;
  chmod 755 /etc/rc.d/init.d/mysqld;
  4.创建MySQL用户及目录访问权限。
  groupadd mysql;
  useradd -g mysql mysql;
  chown -R root:mysql /usr/local/mysql;
  5.初始化数据库表。
  /usr/local/mysql/bin/mysql_install_db --user=mysql;
  6.设置数据库目录访问权限。
  chown -R mysql:mysql /usr/local/mysql/data;
  7.启动MySQL。
  /etc/rc.d/init.d/mysqld start;
  8.设置MySQL随操作系统启动。
  echo "/etc/rc.d/init.d/mysqld start"
   >>/etc/rc.d/rc.local;
  9.修改数据库超级用户密码的代码,这里假设新密码为“123456”,可自行修改。
  /usr/local/mysql/bin/mysqladmin
   -u root -p --password=’’ password 123456;
  10.编译安装jpeg6库,支持GD生成jpeg格式图像。
  mkdir /usr/local/jpeg6;
  mkdir /usr/local/jpeg6/bin;
  mkdir /usr/local/jpeg6/lib;
  mkdir /usr/local/jpeg6/include;
  mkdir /usr/local/jpeg6/man;
  mkdir /usr/local/jpeg6/man/man1;
  tar -zxvf jpegsrc.v6b.tar.gz;
  cd jpeg-6b;
  ./configure
   --prefix=/usr/local/jpeg6
   --enable-shared --enable-static;
  make;make install;
  cd ..;
  rm -rf jpeg-6b;
  11.编译安装Libpng库,支持程序访问PNG格式图像文件。
  tar -jxvf libpng-1.2.10.tar.bz2;
  cd libpng-1.2.10;
  cp scripts/makefile.std makefile;
  make;make install;
  cd ..;
  rm -rf libpng-1.2.10;
  12.安装FreeType字体引擎。
  tar -zxvf freetype-2.3.2.tar.gz;
  cd freetype-2.3.2;
  ./configure
   --prefix=/usr/local/freetype;
  make;make install;
  cd ..;
  rm -rf freetype-2.3.2;
  13.编译安装GD2库,支持Moodle处理图片。
  tar xzvf gd-2.0.33.tar.gz;
  cd gd-2.0.33;
  ./configure
   --prefix=/usr/local/gd2
   --with-jpeg=/usr/local/jpeg6
   --with-png
   --with-zlib
   --with-freetype=/usr/local/freetype;
  make;make install;
  cd ..;
  rm -rf gd-2.0.33;
  14.编译安装LibXML2库,即XML解析器。
  tar xjvf libxml2-2.6.23.tar.bz2;
  cd libxml2-2.6.23;
  ./configure
   --prefix=/usr/local/libxml2;
  make;make install;
  cd ..;
  rm -rf libxml2-2.6.23;
  15.编译安装Zlib库,支持Moodle访问压缩文件。
  tar zxvf Compress-Zlib-1.42.tar.gz;
  cd Compress-Zlib-1.42;
  perl Makefile.PL;
  make;make install;
  cd ..;
  rm -rf Compress-Zlib-1.42;
  16.编译安装PHP5。
  tar zxvf php-5.2.1.tar.gz;
  cd php-5.2.1;
  ./configure
   --prefix=/usr/local/php
   --with-apxs2=/usr/local/apache/bin/apxs
   --with-mysql=/usr/local/mysql
   --with-libxml-dir=/usr/local/libxml2
   --with-gd=/usr/local/gd2
   --with-jpeg-dir=/usr/local/jpeg6
   --with-zlib-dir=/usr/lib/perl5/site_perl/5.8.5/
  i386-linux-thread-multi/auto/Compress
   --with-curl
   --with-openssl
   --with-libpng-dir=/usr/local/lib
   --with-freetype-dir=/usr/local/freetype
   --enable-mbstring;
  make;make install;
  cp ./php.ini-dist
   /usr/local/php/lib/php.ini;
  cd ..;
  rm -rf php-5.2.1;
  17.配置httpd.conf文件,让Apache支持PHP。
  sed -i ’/^ *AddType application\/x-gzip.gz.tgz/ a
  AddType application/x-httpd-php-source.phps\’
  /usr/local/apache/conf/httpd.conf;
  sed -i ’/^ *AddType application\/x-gzip.gz.tgz/ a
  AddType application/x-httpd-php.php\’
  /usr/local/apache/conf/httpd.conf;
  18.设定支持PHP类型网页。
  sed -i ’/^ *DirectoryIndex/s/index.html/index.php index.html/’
   /usr/local/apache/conf/httpd.conf;
  19.设置网站的起始位置。
  sed -i ’/^DocumentRoot/s/htdocs/htdocs\/moodle/’
   /usr/local/apache/conf/httpd.conf;
  20.创建Moodle数据库的代码,这里Password的值要与前面设置的一致。
  echo "create database moodle;"
   >> create_database_file;
  mysql -u root -p --password=’123456’ mysql
   < create_database_file;
  rm -f create_database_file;
  21.修改上载文件大小的代码,根据需要修改,这里设置为20M。
  sed -i ’/^post_max_size/c post_max_size = 20M’
   /usr/local/php/lib/php.ini;
  sed -i ’/^upload_max_filesize/c upload_max_filesize = 20M’
   /usr/local/php/lib/php.ini;
  22.解压缩Moodle系统文件的代码,解压缩的目标路径应与前面设置的网站的起始位置一致。
  unzip moodle1.82.zip -d /usr/local/apache/htdocs/;
  23.屏蔽文件名过滤,让Moodle支持中文文件名。
  sed -i "/’,’_’, \$string/s/\$string =/\/\/\$string =/"
  /usr/local/apache/htdocs/moodle/lib/moodlelib.php;
  24.创建Moodledata目录并设置用户和权限。
  mkdir /usr/local/apache/htdocs/moodledata;
  chown nobody:nobody/usr/local/apache/htdocs/moodledata;
  chmod 2777 /usr/local/apache/htdocs/moodledata;
  25.启动Apache。
  /usr/local/apache/bin/apachectl start;
  26.设置Apache随Linux启动。
  echo "/usr/local/apache/bin/apachectl start"
   >>/etc/rc.d/rc.local;
  
  三、实现环境和方法
  
  1.Linux的安装选项
  测试上述脚本的Linux平台是Red Hat Enterprise Linux 4.0。在Linux安装过程中,做如下配置选择:(1)防火墙的配置,选中“万维网服务”。(2)软件包安装的设置,选中“定制要安装的软件包”,在“应用程序”栏选中“图形化互联网”中的firefox;“服务器”栏的选项全都不选;“开发”栏选中“开发工具”。
  2.自动编译安装方法
  以root登录,进入Linux。在root目录下建一子目录,如moodle-install。下载以下软件保存在该目录。
  ①Compress-Zlib-1.42.tar.gz
  ②freetype-2.3.2.tar.gz
  ③gd-2.0.33.tar.gz
  ④httpd-2.2.6.tar.gz
  ⑤jpegsrc.v6b.tar.gz
  ⑥libpng-1.2.10.tar.bz2
  ⑦libxml2-2.6.23.tar.bz2
  ⑧moodle1.82.zip
  即moodle1.82 (Chinese webquest project)
  ⑨mysql-5.0.22.tar.gz
  ⑩php-5.2.1.tar.gz
  从“系统工具”运行“终端”,在终端里输入cd/root/moodle-install,进入moodle-install目录。在终端里输入gedit,打开文本编辑器编辑上述脚本代码(注意大小写和空格),并保存为install.sh。关闭文本编辑器后,再输入chmod xinstall.sh,赋予install.sh执行权限。最后,在终端里输入./install.sh,电脑开始自动编译安装和配置。
  3.Moodle的运行和配置
  编译完成后,在firefox浏览器里输入:http://IP地址,进入Moodle系统的配置过程。配置数据库时,服务器的主机栏应改为“127.0.0.1”,用户是“root”,密码根据脚本中的设定,本例为“123456”。配置config.php文件时,由于PHP对Moodle目录没有写权限,config.php文件无法创建,可以点击下载,保存至磁盘,再复制config.php文件到Moodle根目录下,本例为/usr/local/apache/htdocs/moodle。
  2008年3月,在参加“全国首届基于Moodle的信息化课程设计与应用研讨会”上,我们深刻地感受到此方法和脚本对一线教师很有实用价值。当然,我们的脚本和方法依然不完善,希望与各位同仁在共享和交流中将其完善。
  
  参考文献
  [1]黎加厚.让开源软件走进学校教育.中小学信息技术教育,2007,6.
  [2](美)Rich Bowen等著陈德华、周艳、王涛译.Apache管理员手册,2003,1.
  [3]林晓飞、倪春胜、张军编著.Red Hat Enterprise Linux 4.0系统配置与管理,2007,1.
  [4](美) MySQL AB著岳阳等译.MySQL 5 管理员标准指南及语言参考(第二版),2007,1.
  [5]http://moodle.org.
  [6]http://www.moodlechina.org.
  [7]http://www.easyphp.org.
  [8]http://www.php.net.
  [9]http://www.mysql.com.
  [10]http://www.apache.org.
  [11]http://www.chinaitlab.com.
其他文献
信息技术教育这十年的发展可谓不平凡。十年回望,作为课程的实践者,信息技术一线教师一定有许多值得回顾的故事和值得铭记的瞬间。我们在论坛上发布“十年故事”征集令之后,许多教师积极地将自己那些难忘的经历发了过来。我们从中选择了十个有代表性的故事,并尽量沿着中小学信息技术教育发展的脉络进行编排,呈现中小学信息技术教育实践领域的真实场景和真切感受。  请大家跟着他们笔下记叙的故事,重温信息技术教育十年来经历
一、教材内容    人教版全日制普通高级中学教科书(必修)生物实验:比较过氧化氢酶和Fe3 的催化效率。    二、教学目标    知识目标:加深对酶高效性的理解,掌握实验原理、步骤,分析实验结论。  能力目标:训练学生观察能力和动手操作能力,培养学生自主学习能力。通过组织学生活动,培养他们分析问题、解决问题的能力。  情感目标:培养学生质疑、创新和勇于实践的科学态度。    三、教学重点、难点 
夏烈是中国网络文艺研究的著名专家,曾拜读过他的一些文章,颇为佩服。一次开会的机会,我收到了他的大作《中国网络文艺的常识与趋势》。说实话,这类书的写作难度很大。越是“常识”的东西,越难以清晰准确的描述,写出大家能满意的结论,比如,“何为网络文艺”“网络文学是否有价值”“如何认识网络文学的文学性”“网络文艺与传统文艺有何关系”这些问题,就是在学术界,也是“吵吵闹闹”了很多年,难以达成共识。而说到“趋势
多媒体技术的迅速发展使多媒体在课堂教学中的应用越来越广泛,成为了新的教学资源。在教学中,利用多媒体来创设情境对于提高多媒体课件的教学应用质量具有重大的意义。本文从目前多媒体课件中情景创设的现状出发,探讨了有效创设情境的方法。    一、多媒体课件中情境创设的现状    目前,从全国范围来看,人们对多媒体课件的情境创设给予了高度重视。在每年举行的“全国多媒体课件大赛”评奖中,不仅要评价课件的科学性、
一、教材分析     《What are you doing? 》是人教版PEP教材五年级下册的一节复习课。本课重点复习现在进行时的肯定和疑问句式,涉及第一、二、三人称和单复数的变化。学好本课,学生不但能进一步加强对现在进行时态的理解与运用,而且能用英语来描述照片、录像中正在发生的动作行为,并能用现在进行时态完成一篇小作文。本课的内容较多,难度较大,是小学阶段的重点学习内容。    二、学情分析
带着学生走进经典、学习经典,进而热爱上经典是语文教师义不容辞的责任;但在现实中,学生面对《水浒传》这样的古典名著却表现出不感兴趣、看不懂、不如电视剧好看的态度。那么如何解决这一问题?在反复思考后,我做出了如下探索。    案例描述    《林教头风雪山神庙》教学活动在虚拟课堂(网络教学平台)与现实课堂中切换进行。授课的基本思路是:虚拟课堂自主研读,反馈学情——实体课堂激发兴趣——虚拟资源整合实体课
记得语文教育家黄光硕先生说过:“学生的语文学得怎样,作文可以作为衡量的重要尺度。”可见作文教学是语文教学中关键且综合性最强的一个环节。随着科学技术的发展,多媒体也在不断更新,它使传统的教学方式拓宽为以多种媒体为载体的图文并茂的教学方式,实现了教育的优化整合,有效激发了学生的积极性和创造性。将多媒体与作文教学联姻,教学犹如吹进了一缕春风,充满了无限的生机和活力。    一、课前积存材料——为有源头活
2020年是脱贫攻坚决战决胜之年。我国全面完成了脱贫攻坚任务,实现了历史性进步。伴随这一历史时刻的是出现了许多表现脱贫攻坚的文学作品。其中又以报告文学最为突出。与众多的报告文学作品不同,王国平《一片叶子的重量》显现出特别的风貌。这部以浙江黄杜村发展安吉白茶产业为题材的报告文学,不仅讲述了黄杜村民在党的领导下通过发展白茶产业走上富裕之路的故事,更重要的是,还表现了黄杜村人在自己富起来后又帮助其他贫困
过去,我们认为发展教育技术的路线是“应用引领发展”;现在,Moodle的推广经验启示我们,在中国,教育技术之路是“变革引领发展”。  ——作者题记    一、信息时代的教学需要课程管理系统Moodle    信息时代的教育,任何一名教师、一所学校或一个机构如果希望利用网络环境开展教学或培训,就需要有一个支持课程设计和组织教学活动的平台和工具。  进入21世纪后,世界各国纷纷采用各种各样的课程管理系
不知不觉间,陪伴我们走过三个学期的中国古代文学史课程已近尾声。此时回首以总结,实是感慨良多。除知识层面之外,感触尤深之处,便是学术方面的成长。我深深感触到,有时这成长,便发生在得遇名师后的一念之间。文学史中的里程碑熠熠生辉,而我也想通过重要的节点,记录自身在文学史课上得到的成长。在此,便选取以下几方面的重要节点,以纪念这程精彩而美好的学习之旅。  在总结学术方法论时,无论哪一学期我的总结都会提及“