基于edX北大慕课平台搭建及及北大视频资源库集成文档格式.docx
《基于edX北大慕课平台搭建及及北大视频资源库集成文档格式.docx》由会员分享,可在线阅读,更多相关《基于edX北大慕课平台搭建及及北大视频资源库集成文档格式.docx(8页珍藏版)》请在冰点文库上搜索。
edX的系统设计者是把教学视频是放在第三方视频网站youtube上的,而在国内该网站(http:
//
二、edX开源慕课平台的安装方式概述
针对不同的需求,edX开源慕课平台有4种安装方式[1]。
①开发者包安装:
为了方便开发而简化了很多配置,能让开发者发现和修复问题[2];
②完全包安装:
尽管这种类似产品的安装,包括了很多edX服务,但并不推荐生成环境下采用这种方式[3];
③亚马逊机器映像安装:
通过预先安装好的亚马逊机器映像来调用亚马逊的Web服务[4];
④在Ubuntu12.0464-bit服务器上的全新安装[5]。
所有安装方式都带有的组件是:
LMS(学习管理系统)、Studio(课程制作环境)、论坛、讨论组、搜索。
后三种安装方式比第一种增加了演示课程组件和Xqueue(为自定义级别而采用RabbitMQ的队列服务器)。
本文采用最后一种安装方式:
在Ubuntu12.0464-bit服务器上全新安装,在生产环境下推荐采用这种安装方式
三、edX开源慕课平台安装的软硬件和网络要求
1.硬件要求、服�掌靼姹疽�求及连接国际网的要求
(1)硬件要求
内存推荐4G以上;
CPU至少2G;
硬盘50G以上
(2)服务器版本要求
Ubuntu12.04amd64
(3)连接国际网的要求
安装edX之前必须保证服务器能上国际网,服务器上国际网的方法共4种:
①直接上网,不需要任何配置;
②通过PPPoE进行ADSL拨号上网;
③通过代理服务器上网;
④通过VPN拨号上网。
下面详细说明Ubuntu服务器的后3种上网方法。
北大采用的是第4种
2.Ubuntu服务器通过PPPoE进行ADSL拨号上网的方法
首先启用有线连接:
sudoifconfigeth0up,然后执行pppoeconf命令:
sudopppoeconf,接下来一个基于文本菜单的程序会指导我们完成配置:
①确认以太网卡已被检测到;
②输入PPPoE的用户名;
③输入PPPoE的密码;
④如果已经配置了一个PPPoE的连接,会通知这个连接将会被修改;
⑤弹出一个选项:
询问是否需要’noauth’和’defaultroute’选项和去掉’nodetach’,选择”Yes”;
⑥UsepeerDNS,选择“Yes”;
⑦LimitedMSSproblem,选择”Yes”;
⑧询问是否在需要在进入系统的时候自动连接,选择”Yes”;
⑨询问是否马上建立连接,选择”Yes”;
至此,通过PPPoE成功拨号上网。
需要手动断开网络时,可以在终端输入:
sudopoff;
需要手动连网时,可以在终端中输入:
sudopondsl-provider
3.Ubuntu服务器通过代理服务器上网的方法
在/etc/environment文件中增加代理服务器及端口信息,sudovi/etc/environment,增加下列内容:
https_proxy=http:
//:
PORT,
ftp_proxy=http:
socks_proxy=http:
no_proxy=localhost,
JAVA_OPTS=“-DproxyHost=-DproxyPort=PORT”
为了保证每次重启电脑后代理的配置仍然可用。
需要修改/ect/sudoers和/etc/apt/ap
t.conf两个文件。
在/ect/sudoers中的Defaultsenv_reset这一行下面增加一行:
Defaultsenv_keep+=“http_proxyhttps_prox
y
ftp_proxysocks_proxyno_proxyJAVA_OPT S”
在/etc/apt/apt.conf中增加两行:
Acquire:
:
http:
proxy“http:
P
ORT”;
https:
proxyhttp:
ORT
4.Ubuntu服务器通过PPTP协议进行VPN拨号上网的方法
安装pptp客户端软件sudoapt-getinstallpptp-linux,创建VPN连接通道:
myvpnsudopptpsetup--createmyvpn--serverxxx.xxx.xxx.xxx--usernamexx1--passwordxx2--encrypt�Cstart。
如果VPN服务器不需要加密,可不加--encrypt参数。
现在已经在/etc/ppp/peers目录下面,生成一个叫myvpn的文件,用户名和密码会写在/etc/ppp/chap-secrets中。
可通过跟踪数据包到达网络主机所经过的路由工具traceroute来测试VPN。
安装traceroute:
sudoapt-getinstalltraceroute,traceroute,返回结果1localhost(192.168.1.1)。
查看结果发现第1跳localhost后面()中的IP不是VPN的服务器地址,所以需要修改默认路由。
修改默认路由之前要通过ifconfig查看网络连接配置,得到VPN连接的名称,在ifconfig命令的返回结果中有一个名为ppp0的Point-to-Point协议的VPN连接,所以VPN连接的名称为ppp0。
修改默认路由的方法为sudoiproutedeldefault,sudoiprouteadddefaultdevppp0,再次通过traceroute追踪路由:
traceroute,返回结果1localhost(),返回的结果中的localhost()中的IP是VPN的服务器地址,至此VPN配置成功。
重启VPN连接的命令sudoponmyvpn,停止VPN连接的命令sudopoffmyvpn
5.在服务器能上网的情况下更新Ubuntu包的源
在终端依次执行下列命令sudoapt-getupdate-y,sudoapt-getupgrade-y,sudoreboot
四、edX开源慕课平台的安装
edX可采用一步安装法和手动安装法。
一步安装法,一步安装法即
wgethttps:
//
nfiguration/master/util/install/sandbox.sh-O-|bash
一步安装法的缺点是:
因为网络问题,安装的过程中会出现一些错误,解决办法只能是,保证能连国际网的情况下,重新执行一步安装法,已经执行的步骤还要重新执行一次,费时费力,对于网络状态非常好的用户,才建议采用一步安装法
北大采用的手动安装方法,详细步骤如下:
建议在安装前把超级管理员的密码改成简单易记的,因为安装时如果采用sudosu会导致一些安装脚本失败,安装的过程中差不多要sudo二十几次,每次都需要输入密码。
安装一个支持ruby的vim编辑器sudoapt-getinstallgitvim-nox,修改/etc/apt/sources.list,去掉”partner”and“extras”的资源库的注释:
debhttp:
//precisepartner,deb-srchttp:
//precisepartner,debhttp:
//precisemain,deb-srchttp:
//precisemain
再次更新Ubuntu包的源并重启服务器:
sudoapt-getupdate,sudoapt-getdist-upgrade,sudoreboot。
重新配置shell为bash而不是dash:
sudodpkg-reconfiguredash在出现的对话框中Usedashasthedefaultsystemshell(/bin/sh)选择NO。
创建并进入/home/mooc/edX_all目录,执行gitclone克隆一个edX-platform的本地版,cd/home/mooc/edX_all,gitclonegit:
//edX-platform/,执行下列脚本:
./scripts/create-dev-env.sh,因为会出现各种各样的错误,所以该安装脚本会被多次重复执行,如果出错为:
Lookslikeyou’realreadyinthe“edX-platform”virtualenv.Run`deactivate`andthenre-runthisscript。
解决办法为执行deactivate,再次执行上述脚本。
mooc@edX:
~/edX_all/edX-platform$./scripts/create-dev-env.sh。
如果出错为:
Importfailed(cannotloadsuchfile--sys/proctable),解决办法为geminstallsys-proctable,geminstallcolorize再次执行上述脚本。
wrongnumberofarguments(2for1),解决办法为sudoapt-getinstalllibopenssl-ruby1.9.1,geminstallrake,rbenvrehash,然后再次执行上述脚本。
cannotloadsuchfile-launchy,解决办法为geminstalllaunchy,再次执行上述脚本。
Errortimedoutwhilegettinghttp:
//bitbucket.org/izi/polib/downloads/polib-1.0.3.tar.gz(fromhttps:
//pypi.python.org/simple/polib/),因为该官网国内无法访问,解决办法不能为geminstallpolib,也不能为pipinstallpolib,只能为到其他网站搜索一个polib,例如,手动下载下列文件http:
//pkgs.fedoraproject.org/repo/pkgs/python-polib/polib-1.0.3.tar.gz/,并上传到/home/mooc,然后手动安装polib:
$tarxzfvpolib-1.0.3.tar.gz,$cdpolib-1.0.3,$pythonsetupbuild,如果出错为:
python:
can’topenfile‘setup’:
[Errno2]Nosuchfileordirectory,解决办法为pythonsetup.pybuild,然后执行$sudopythonsetup.pyinstall,如果出�e为:
-bash:
/home/mooc/.rvm/scripts/rvm:
Nosuchfileordirectory解决办法为$sudoapt-getinstallruby-rvm,cd~,source.bashrc,编辑/home/mooc/edX_all/edX-platform/requirements/edX/base.txt,找到“polib=1.0.3”,把这一行注释掉#polib==1.0.3;
再次执行create-dev-env.sh脚本。
编辑scripts/create_dev_env.sh文件,找到”pipinstall-r$BASE/edX-platform/requirements/edX/pre.txt”,在后面添加一行”pipinstallhttp:
//bitbucket.org/izi/polib/get/1.0.3.tar.gz”,原因是:
polib依赖项经过pypi的解析得到的下载地址是http:
//bitbucket.org/izi/polib/downloads/polib-1.0.3.tar.gz,但在我国内陆,这个地址上访问不了,而polib是必须的依赖项,所以只能是使用变相的方式将其安装上去。
再次执行上述create_dev_env.sh脚本。
终于成功了FixingyourgitdefaultsettingsSuccess!
!
启动edX:
$source/etc/bash_completion.d/virtualenvwrapper,cd~/edX_all/edX-platform,$workonedX-platforNU国际化与本地化(i18n)函数库,为了对edX汉化,需要安装transifex-client和gettext,方法如下:
$cd~/edX_all/edX-platform,$sudoapt-getinstalltransifex-client,sudoapt-getinstallgettext。
启用python的虚拟环境$source/home/mooc/.virtualenvs/edX-platform/bin/activate
2.新建文件
为了下载edX语言包,需要到transifex官网(https:
//~/.transifexrc,并输入如下内容:
hostname=https:
//,password=ygy,token=,username=yanggy
3.在~/edX_all/edX-platform/conf/locale/config文件中加入中文�Z言
增加的内容为{“locales”:
[“zh_CN”,”en”],“dummy-locale”:
“eo”}
4.修改~/edX_all/edX-platform/中的lms/envs/common.py和ms/envs/common.py
关键内容为:
USE_I18N=True,TIME_ZONE=‘Asia/Shanghai’,LANGUAGE_CODE=‘zh_CN’,LANGUAGES=((’zh-cn’,u’中文(简体)’),#Chinese(China),)
5.执行几个命令
获取项目的翻译包txpull-lzh_CN,执行翻译rakei18n:
generate。
找不到/django-partial.po、django.po、django-partial.mo、django.mo、djangojs.po,解决办法为:
用浏览器访问https:
//rakei18n:
generate,重启服务器完成汉化工作$sudoreboot。
完成汉化后的效果如图1所示。
如果用户登录之后的内部页面没有汉化,解决办法为:
在用户注册时在偏好的语言字段输入zh-cn
六、edX开源慕课平台的配置和管理
1.首页定制
首页的源文件位置是:
/home/mooc/edX_all/edX-platform/lms/templates/index.html,首页banner位置是/home/mooc/edX_all/edX-platform/lms/static/images/homepage-bg.jpg
2.配置管理员Email
为了让edX平台能给用户发邮件,需要进行如下配置,修改~/edX_all/edX-platform/目录下的cms/envs/common.py和lms/envs/common.py,关键代码:
邮件服务器主机EMAIL_HOST=‘162.105.129.120’,邮件服务器端口EMAIL_PORT=25,是否使用安全传输层协议:
EMAIL_USE_TLS=False,邮箱用户名:
EMAIL_HOST_USER=‘00061*’,邮箱密码:
EMAIL_HOST_PASSWORD=‘*’,默认发件人:
DEFAULT_FROM_EMAIL=‘ygy@’,默认反馈Email:
DEFAULT_FEEDBACK_EMAIL=‘ygy@’,服务器Email:
SERVER_EMAIL=‘ygy@’。
3.创建超级管理员
cd/home/mooc/edX_all/edX-platform,$rakedjango-admin[“createsuperuser”],系统提示用户输入用户名、邮箱、密码、最后系统提示创建成功。
超级管理员登录下列后台地址:
//162.105.14.247:
9000/admin/,超级管理员可以创建教师帐户,教师帐户可以创建课程,学生帐户可以在首页进行注册
4.超级管理员删除课程的方法
edX在前台没有删除课程的功能,删除课程只能通过后台以下列命令进行。
例如有一门课前台浏览地址为:
8000/courses/pku/001/2013/,删除这门课程的方法为:
cd/home/mooc/edX_all/edX-platform,$rakecms:
delete_courseLOC=pku/001/2013COMMIT=commit
七、在edX慕课平台中创建一门课并添加一讲来自北大视频资源库中的视频
教师帐户在图1中登录成功后,可在右上角单击“新建课程”,输入下列课程元数据:
课程名称、组织(学校的英文名称,如PKU)、课程代码(如ETC17)、课程运行(指学期,如2014),后面3个元数据是课程url的一部分,所以不能有空格和特殊字符,并且创建之后不能修改,成功创建一门课后直接进入了该课的课程大纲编辑页面,然后单击“添加新章节”,输入章的名称(如第1章Flex概述),单击保存,然后单击“添加新的小节”,输入小节名称(如,1.1Flex简介),单击保存进入图2,单击小节名称左侧的向右箭头使它向下,出现“NewUnit”创建新组件按钮。
在图2中单击“NewUnit”创建新组件按钮进入图3,新组件有四种类型:
讨论、内容、问题、视频。
对于一个通过http协议可访问的视频,如http:
//124.95.153.9/cm1/flvs/ca/QxtYM/uLf93xvlOf-10.mp4,可直接添加进edX,方法是在图3中单击Video进入图4,把这个http地址输入VideoURL字段,单击保存,在前台LMS中浏览该视频的效果如图7所示。
http协议可访问的mp4视频虽然可以很容易地加入edX课程中,但不利于保护视频版权,因为前台用户可以通过查看源代码的方式,获取该视频的地址,进而能下载该视频。
为保护视频版权,北大基于Flash流媒体服务器搭建了北大视频资源库,北大视频资源库能方便地为第三方系统提供rtmp流�f议的视频服务,如图5所示,登录北大视频资源库浏览到所需要的一讲视频,单击拷贝按钮,就在用户的剪贴板中放入了一讲视频的播放代码: