国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于edX的北大慕課平臺搭建及與北大視頻資源庫的集成

2017-04-15 00:01楊公義
中國教育信息化·高教職教 2016年12期

楊公義

摘 要:edX開源慕課平臺有4種安裝方式,在服務(wù)器上的全新安裝,需要滿足一定的軟硬件和網(wǎng)絡(luò)要求,網(wǎng)絡(luò)條件好時可采用一步安裝法,北大采用手動安裝法,采用transifex-client和gettext對edX平臺進(jìn)行了漢化。edX平臺的正常使用必須的配置和管理包括首頁修改、配置管理員Email、創(chuàng)建超級管理員、創(chuàng)建和刪除課程。在創(chuàng)建一門課的完整過程中,通過rtmp協(xié)議添加一講來自北大視頻資源庫中的視頻。北大校內(nèi)edX慕課平臺主要作為師生的教學(xué)輔助平臺。

關(guān)鍵詞:edX安裝漢化;edX配置管理;edX課程建設(shè);edX流媒體集成

中圖分類號:TP315 文獻(xiàn)標(biāo)志碼:B 文章編號:1673-8454(2016)23-0046-05

一、引言

MOOC世界的三駕馬車Coursera、edX、Udacity中只有edX平臺是開源的。edX平臺是麻省理工學(xué)院和哈佛大學(xué)創(chuàng)立,由全球27所大學(xué)院校組成的xConsortium加以管理。edX平臺大部分功能基于Python實現(xiàn),其中也包括一些Ruby和Node.js代碼。清華大學(xué)的學(xué)堂在線也是基于edX搭建的。安裝基于edX平臺時,按照官方提供的一步安裝法,會因為用戶的網(wǎng)絡(luò)條件等原因而安裝不成功。比如,在官方網(wǎng)站上沒有寫明需要手動安裝一個名為polib-1.0.3的軟件包,在國內(nèi)就必須手動安裝該軟件包,因為該軟件包的官方網(wǎng)站國內(nèi)不能直接訪問。edX的系統(tǒng)設(shè)計者是把教學(xué)視頻是放在第三方視頻網(wǎng)站youtube上的,而在國內(nèi)該網(wǎng)站(http://www.youtube.com/)也無法訪問。北大基于edX開源系統(tǒng)搭建了北大慕課平臺,并實現(xiàn)了通過RTMP流直接調(diào)用“北大視頻資源庫”中的教學(xué)視頻的功能。

二、edX開源慕課平臺的安裝方式概述

針對不同的需求,edX開源慕課平臺有4種安裝方式[1]。①開發(fā)者包安裝:為了方便開發(fā)而簡化了很多配置,能讓開發(fā)者發(fā)現(xiàn)和修復(fù)問題[2];②完全包安裝:盡管這種類似產(chǎn)品的安裝,包括了很多edX服務(wù),但并不推薦生成環(huán)境下采用這種方式[3];③亞馬遜機(jī)器映像安裝:通過預(yù)先安裝好的亞馬遜機(jī)器映像來調(diào)用亞馬遜的Web服務(wù)[4];④在Ubuntu 12.04 64-bit服務(wù)器上的全新安裝[5]。所有安裝方式都帶有的組件是:LMS(學(xué)習(xí)管理系統(tǒng))、Studio(課程制作環(huán)境)、論壇、討論組、搜索。后三種安裝方式比第一種增加了演示課程組件和Xqueue(為自定義級別而采用RabbitMQ的隊列服務(wù)器)。本文采用最后一種安裝方式:在Ubuntu 12.04 64-bit服務(wù)器上全新安裝,在生產(chǎn)環(huán)境下推薦采用這種安裝方式。

三、edX開源慕課平臺安裝的軟硬件和網(wǎng)絡(luò)要求

1.硬件要求、服務(wù)器版本要求及連接國際網(wǎng)的要求

(1)硬件要求

內(nèi)存推薦4G以上;CPU至少2G;硬盤50G以上。

(2)服務(wù)器版本要求

Ubuntu 12.04 amd64。

(3)連接國際網(wǎng)的要求

安裝edX之前必須保證服務(wù)器能上國際網(wǎng),服務(wù)器上國際網(wǎng)的方法共4種:①直接上網(wǎng),不需要任何配置;②通過PPPoE 進(jìn)行ADSL撥號上網(wǎng);③通過代理服務(wù)器上網(wǎng);④通過VPN撥號上網(wǎng)。下面詳細(xì)說明Ubuntu服務(wù)器的后3種上網(wǎng)方法。北大采用的是第4種。

2.Ubuntu服務(wù)器通過PPPoE進(jìn)行ADSL撥號上網(wǎng)的方法

首先啟用有線連接:sudo ifconfig eth0 up,然后執(zhí)行pppoeconf命令:sudo pppoeconf,接下來一個基于文本菜單的程序會指導(dǎo)我們完成配置:

①確認(rèn)以太網(wǎng)卡已被檢測到;②輸入PPPoE的用戶名;③輸入PPPoE的密碼;④如果已經(jīng)配置了一個PPPoE的連接,會通知這個連接將會被修改;⑤彈出一個選項:詢問是否需要'noauth'和'defaultroute'選項和去掉'nodetach',選擇"Yes";⑥Use peer DNS,選擇 "Yes";⑦Limited MSS problem,選擇"Yes";⑧詢問是否在需要在進(jìn)入系統(tǒng)的時候自動連接,選擇"Yes";⑨詢問是否馬上建立連接,選擇"Yes";至此,通過PPPoE成功撥號上網(wǎng)。需要手動斷開網(wǎng)絡(luò)時,可以在終端輸入:sudo poff;需要手動連網(wǎng)時,可以在終端中輸入:sudo pon dsl-provider。

3.Ubuntu服務(wù)器通過代理服務(wù)器上網(wǎng)的方法

在/etc/environment文件中增加代理服務(wù)器及端口信息,sudo vi /etc/environment,增加下列內(nèi)容:

https_proxy=http://proxy.local.com:PORT,

ftp_proxy=http://proxy.local.com:PORT,

socks_proxy=http://proxy.local.com:PORT,

no_proxy=localhost,

JAVA_OPTS="-DproxyHost=proxy.local.com -DproxyPort=PORT"。

為了保證每次重啟電腦后代理的配置仍然可用。需要修改/ect/sudoers和/etc/apt/ap

t.conf兩個文件。在/ect/sudoers中的Defaults env_reset這一行下面增加一行:

Defaults env_keep += "http_proxy https_prox

y

ftp_proxy socks_proxy no_proxy JAVA_OPT

S"

在/etc/apt/apt.conf中增加兩行:

Acquire::http::proxy "http://proxy.local.com:P

ORT";

Acquire::https::proxy http://proxy.local.com:P

ORT。

4.Ubuntu服務(wù)器通過PPTP協(xié)議進(jìn)行VPN撥號上網(wǎng)的方法

安裝pptp客戶端軟件sudo apt-get install pptp-linux,創(chuàng)建VPN連接通道:myvpn sudo pptpsetup --create myvpn --server xxx.xxx.xxx.xxx --username xx1--password xx2--encrypt –start。如果VPN服務(wù)器不需要加密,可不加--encrypt參數(shù)?,F(xiàn)在已經(jīng)在/etc/ppp/peers目錄下面,生成一個叫myvpn的文件,用戶名和密碼會寫在/etc/ppp/chap-secrets中??赏ㄟ^跟蹤數(shù)據(jù)包到達(dá)網(wǎng)絡(luò)主機(jī)所經(jīng)過的路由工具traceroute來測試VPN。安裝traceroute:sudo apt-get install traceroute,traceroute www.163.com,返回結(jié)果1 localhost (192.168.1.1)。查看結(jié)果發(fā)現(xiàn)第1跳localhost后面()中的IP不是VPN的服務(wù)器地址,所以需要修改默認(rèn)路由。修改默認(rèn)路由之前要通過ifconfig查看網(wǎng)絡(luò)連接配置,得到VPN連接的名稱,在ifconfig命令的返回結(jié)果中有一個名為ppp0的Point-to-Point協(xié)議的VPN連接,所以VPN連接的名稱為ppp0。修改默認(rèn)路由的方法為sudo ip route del default,sudo ip route add default dev ppp0,再次通過traceroute追蹤路由:traceroute www.163.com,返回結(jié)果1 localhost (),返回的結(jié)果中的localhost()中的IP是VPN的服務(wù)器地址,至此VPN配置成功。重啟VPN連接的命令sudo pon myvpn,停止VPN連接的命令sudo poff myvpn。

5.在服務(wù)器能上網(wǎng)的情況下更新Ubuntu包的源

在終端依次執(zhí)行下列命令sudo apt-get update-y,sudo apt-get upgrade-y,sudo reboot。

四、edX開源慕課平臺的安裝

edX可采用一步安裝法和手動安裝法。一步安裝法,一步安裝法即

wget https://raw.githubusercontent.com/edX/co

nfiguration/master/util/install/sandbox.sh -O-| bash

一步安裝法的缺點是:因為網(wǎng)絡(luò)問題,安裝的過程中會出現(xiàn)一些錯誤,解決辦法只能是,保證能連國際網(wǎng)的情況下,重新執(zhí)行一步安裝法,已經(jīng)執(zhí)行的步驟還要重新執(zhí)行一次,費時費力,對于網(wǎng)絡(luò)狀態(tài)非常好的用戶,才建議采用一步安裝法。

北大采用的手動安裝方法,詳細(xì)步驟如下:建議在安裝前把超級管理員的密碼改成簡單易記的,因為安裝時如果采用sudo su會導(dǎo)致一些安裝腳本失敗,安裝的過程中差不多要sudo二十幾次,每次都需要輸入密碼。安裝一個支持ruby的vim編輯器sudo apt-get install git vim-nox,修改/etc/apt/sources.list,去掉"partner" and "extras" 的資源庫的注釋:deb http://archive.canonical.com/ubuntu precise partner,deb-src http://archive.canonical.com/ubuntu precise partner,deb http://extras.ubuntu.com/ubuntu precise main,deb-src http://extras.ubuntu.com/ubuntu precise main。

再次更新Ubuntu包的源并重啟服務(wù)器:sudo apt-get update,sudo apt-get dist-upgrade,sudo reboot。重新配置shell為bash而不是dash:sudo dpkg-reconfigure dash在出現(xiàn)的對話框中Use dash as the default system shell(/bin/sh)選擇NO。創(chuàng)建并進(jìn)入/home/mooc/edX_all目錄,執(zhí)行g(shù)it clone克隆一個edX-platform的本地版,cd /home/mooc/edX_all,git clone git://github.com/edX/edX-platform.git,cd edX-platform/,執(zhí)行下列腳本:./scripts/create-dev-env.sh,因為會出現(xiàn)各種各樣的錯誤,所以該安裝腳本會被多次重復(fù)執(zhí)行,如果出錯為:Looks like you're already in the "edX-platform" virtual env.Run `deactivate` and then re-run this script。解決辦法為執(zhí)行deactivate,再次執(zhí)行上述腳本。mooc@edX:~/edX_all/edX-platform$./scripts/create-dev-env.sh。如果出錯為:Import failed (cannot load such file -- sys/proctable),解決辦法為gem install sys-proctable,gem install colorize再次執(zhí)行上述腳本。如果出錯為:wrong number of arguments (2 for 1),解決辦法為sudo apt-get install libopenssl-ruby1.9.1,gem install rake,rbenv rehash,然后再次執(zhí)行上述腳本。如果出錯為:cannot load such file-launchy,解決辦法為gem install launchy,再次執(zhí)行上述腳本。如果出錯為:Error timed out while getting http://bitbucket.org/izi/polib/downloads/polib-1.0.3.tar.gz (from https://pypi.python.org/simple/polib/),因為該官網(wǎng)國內(nèi)無法訪問,解決辦法不能為gem install polib,也不能為pip install polib,只能為到其他網(wǎng)站搜索一個polib,例如,手動下載下列文件http://pkgs.fedoraproject.org/repo/pkgs/python-polib/polib-1.0.3.tar.gz/,并上傳到/home/mooc,然后手動安裝polib:$ tar xzfv polib-1.0.3.tar.gz,$ cd polib-1.0.3,$ python setup build,如果出錯為:python: can't open file 'setup': [Errno 2] No such file or directory,解決辦法為python setup.py build,然后執(zhí)行$ sudo python setup.py install,如果出錯為:-bash: /home/mooc/.rvm/scripts/rvm: No such file or directory解決辦法為$ sudo apt-get install ruby-rvm,cd ~,source .bashrc,編輯/home/mooc/edX_all/edX-platform/requirements/edX/base.txt , 找到“polib = 1.0.3" ,把這一行注釋掉#polib==1.0.3;再次執(zhí)行create-dev-env.sh腳本。編輯 scripts/create_dev_env.sh文件,找到"pip install -r $BASE/edX-platform/requirements/edX/pre.txt",在后面添加一行"pip install http://bitbucket.org/izi/polib/get/1.0.3.tar.gz",原因是:polib依賴項經(jīng)過pypi的解析得到的下載地址是http://bitbucket.org/izi/polib/downloads/polib-1.0.3.tar.gz,但在我國內(nèi)陸,這個地址上訪問不了,而polib是必須的依賴項,所以只能是使用變相的方式將其安裝上去。再次執(zhí)行上述create_dev_env.sh腳本。終于成功了Fixing your git default settings Success??!

啟動edX:$ source /etc/bash_completion.d/virtualenvwrapper,cd ~/edX_all/edX-platform,$workon edX-platform,$ rake lms第一次執(zhí)行rake lms可能會出錯: [sass --load-path ./common/static/sass --u...]。解決辦法為:$ gem install sass。(edX-platform)mooc@edX:~/edX_all/edX-platform$ rake lms[cms.dev,0.0.0.0:8000],^Z,$ bg,瀏覽器中可以訪問http://162.105.14.247:8000(本地址限校內(nèi)訪問),(edX-platform)mooc@edX:~/edX_all/edX-platform$ rake cms[dev,0.0.0.0:9000],^Z,$ bg。

瀏覽器中可以訪問http://162.105.14.247:9000,上面^Z意思是ctrl+Z,$ bg表示讓程序后臺執(zhí)行。

五、edX開源慕課平臺的漢化

1.加載環(huán)境

Transifex是一個基于Web的集成翻譯平臺,transifex-client是Transifex的命令行客戶端工具,gettext是GNU國際化與本地化(i18n)函數(shù)庫,為了對edX漢化,需要安裝transifex-client和gettext,方法如下:$cd ~/edX_all/edX-platform, $sudo apt-get install transifex-client,sudo apt-get install gettext。啟用python的虛擬環(huán)境$source /home/mooc/.virtualenvs/edX-platform/bin/activate。

2.新建文件

為了下載edX語言包,需要到transifex 官網(wǎng)(https://www.transifex.com/projects/p/edX-platform/)注冊一個帳戶。例如用戶名yanggy密碼ygy。新建文件vim ~/.transifexrc,并輸入如下內(nèi)容:hostname = https://www.transifex.com,password = ygy,token =,username = yanggy。

3.在~/edX_all/edX-platform/conf/locale/config文件中加入中文語言

增加的內(nèi)容為{"locales" : ["zh_CN","en"], "dummy-locale" : "eo"}

4.修改~/edX_all/edX-platform/中的lms/envs/common.py和ms/envs/common.py

關(guān)鍵內(nèi)容為:USE_I18N = True,TIME_ZONE = 'Asia/Shanghai',LANGUAGE_CODE='zh_CN',LANGUAGES = ( ('zh-cn', u'中文(簡體)'), # Chinese (China),)。

5.執(zhí)行幾個命令

獲取項目的翻譯包tx pull -l zh_CN, 執(zhí)行翻譯rake i18n:generate。如果出錯為:找不到/django-partial.po、django.po、django-partial.mo、django.mo、djangojs.po,解決辦法為:用瀏覽器訪問https://www.transifex.com/projects/p/edX-platform/,依次單擊語言包djangojs.po、django-partial.po、django.po、messages.po、mako.po再單擊“下載以供使用”下載到本地以后,再上傳到/home/mooc/edX_all/edX-platform/conf/locale/en/LC_MESSAGES中,再次執(zhí)行翻譯命令$ rake i18n:generate,重啟服務(wù)器完成漢化工作$ sudo reboot。完成漢化后的效果如圖1所示。如果用戶登錄之后的內(nèi)部頁面沒有漢化,解決辦法為:在用戶注冊時在偏好的語言字段輸入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平臺能給用戶發(fā)郵件,需要進(jìn)行如下配置,修改~/edX_all/edX-platform/目錄下的cms/envs/common.py和lms/envs/common.py,關(guān)鍵代碼:郵件服務(wù)器主機(jī)EMAIL_HOST = '162.105.129.120',郵件服務(wù)器端口EMAIL_PORT = 25,是否使用安全傳輸層協(xié)議:EMAIL_USE_TLS = False,郵箱用戶名:EMAIL_HOST_USER = '00061*',郵箱密碼:EMAIL_HOST_PASSWORD = '*',默認(rèn)發(fā)件人:DEFAULT_FROM_EMAIL = 'ygy@pku.edu.cn',默認(rèn)反饋Email:DEFAULT_FEEDBACK_EMAIL = 'ygy@pku.edu.cn',服務(wù)器Email:SERVER_EMAIL = 'ygy@pku.edu.cn'。

3.創(chuàng)建超級管理員

cd /home/mooc/edX_all/edX-platform,$ rake django-admin["createsuperuser"],系統(tǒng)提示用戶輸入用戶名、郵箱、密碼、最后系統(tǒng)提示創(chuàng)建成功。超級管理員登錄下列后臺地址:http://162.105.14.247:9000/admin/,超級管理員可以創(chuàng)建教師帳戶,教師帳戶可以創(chuàng)建課程,學(xué)生帳戶可以在首頁進(jìn)行注冊。

4.超級管理員刪除課程的方法

edX在前臺沒有刪除課程的功能,刪除課程只能通過后臺以下列命令進(jìn)行。例如有一門課前臺瀏覽地址為:http://162.105.14.247:8000/courses/pku/001/2013/,刪除這門課程的方法為:cd /home/mooc/edX_all/edX-platform,$rake cms:delete_course LOC=pku/001/2013 COMMIT=commit。

七、在edX慕課平臺中創(chuàng)建一門課并添加一講來自北大視頻資源庫中的視頻

教師帳戶在圖1中登錄成功后,可在右上角單擊“新建課程”,輸入下列課程元數(shù)據(jù):課程名稱、組織(學(xué)校的英文名稱,如PKU)、課程代碼(如ETC17)、課程運行(指學(xué)期,如2014),后面3個元數(shù)據(jù)是課程url的一部分,所以不能有空格和特殊字符,并且創(chuàng)建之后不能修改,成功創(chuàng)建一門課后直接進(jìn)入了該課的課程大綱編輯頁面,然后單擊“添加新章節(jié)”,輸入章的名稱(如第1章 Flex概述),單擊保存,然后單擊“添加新的小節(jié)”,輸入小節(jié)名稱(如,1.1Flex簡介),單擊保存進(jìn)入圖2,單擊小節(jié)名稱左側(cè)的向右箭頭使它向下,出現(xiàn)“New Unit”創(chuàng)建新組件按鈕。在圖2中單擊“New Unit”創(chuàng)建新組件按鈕進(jìn)入圖3,新組件有四種類型:討論、內(nèi)容、問題、視頻。對于一個通過http協(xié)議可訪問的視頻,如http://124.95.153.9/cm1/flvs/ca/QxtYM/uLf93xvlOf-10.mp4,可直接添加進(jìn)edX,方法是在圖3中單擊Video進(jìn)入圖4,把這個http地址輸入Video URL字段,單擊保存,在前臺LMS中瀏覽該視頻的效果如圖7所示。http協(xié)議可訪問的mp4視頻雖然可以很容易地加入edX課程中,但不利于保護(hù)視頻版權(quán),因為前臺用戶可以通過查看源代碼的方式,獲取該視頻的地址,進(jìn)而能下載該視頻。為保護(hù)視頻版權(quán),北大基于Flash流媒體服務(wù)器搭建了北大視頻資源庫,北大視頻資源庫能方便地為第三方系統(tǒng)提供rtmp流協(xié)議的視頻服務(wù),如圖5所示,登錄北大視頻資源庫瀏覽到所需要的一講視頻,單擊拷貝按鈕,就在用戶的剪貼板中放入了一講視頻的播放代碼:

。把這段代碼加入edX的方法如下,在圖3中單擊html輸入標(biāo)題。然后單擊text,再單擊編輯,如圖6所示,在圖6中CTRL+V粘貼來自北大視頻資源庫中的視頻,單擊保存。在前臺LMS中瀏覽該視頻的效果如圖8所示,圖8中的播放控制條,可以快進(jìn)、快退、全屏播放等。因為是rtmp協(xié)議的視頻播放,前臺用戶只能在線觀看不能下載,很好地保護(hù)了版權(quán)。

八、結(jié)語

北大成功地搭建、漢化和配置了基于edX的校內(nèi)慕課平臺,并實現(xiàn)在edX系統(tǒng)中能通過RTMP流觀看視頻資源庫中的視頻,很好地保護(hù)了視頻的版權(quán)。校內(nèi)edX慕課平臺主要作為北大校內(nèi)師生的教學(xué)輔助平臺,實現(xiàn)翻轉(zhuǎn)課堂教學(xué)法,與傳統(tǒng)教學(xué)進(jìn)行優(yōu)勢互補,在校內(nèi)使用的同時進(jìn)行課程建設(shè),如果教師及相關(guān)管理部門同意將某門課程向社會公開,就把該課程從校內(nèi)edX平臺遷移進(jìn)國際edX平臺(http://www.edX.org/school/pekingx)。建設(shè)北大校內(nèi)慕課平臺為北大師生提高了平臺訪問速度,節(jié)省了國際流量。

參考文獻(xiàn):

[1]edX/configuration[EB/OL].https://github.com/edX/configuration/wiki.

[2]edX Developer Stack[EB/OL].https://github.com/edX/configuration/wiki/edX-Developer-Stack.

[3]edX Full Stack[EB/OL].https://github.com/edX/configuration/wiki/edX-Full-Stack.

[4]Single AWS server installation using Amazon Machine Image[EB/OL].https://github.com/edX/configuration/wiki/Single-AWS-server-installation-using-Amazon-Machine-Image.

[5]edX Ubuntu 12.04 64 bit Installation[EB/OL].https://github.com/edX/configuration/wiki/edX-Ubuntu-12.04-64-bit-Installation.

(編輯:王曉明)

临湘市| 台江县| 林甸县| 从江县| 藁城市| 云阳县| 怀柔区| 郎溪县| 堆龙德庆县| 南安市| 尚义县| 樟树市| 景宁| 古田县| 都江堰市| 新乐市| 五常市| 连城县| 大洼县| 沁水县| 家居| 察雅县| 鄂州市| 绥棱县| 北宁市| 萍乡市| 娱乐| 阳江市| 内黄县| 涟水县| 甘谷县| 南澳县| 邹平县| 洛南县| 高邮市| 眉山市| 喀什市| 朔州市| 梅河口市| 突泉县| 庆安县|