Open edX Ginkgo.2 LMS演示 CMS演示
测试账号 honor@example.com 密码edx
Open edX Ginkgo.2 Insights演示
测试账号 honor@example.com 密码edx
Open edX官方文档及讨论区
edX Docs / atlassian / openedx-announce / openedx-ops / openedx-analytics / edx-code / slack

eduStack公众号

联系我们

申请Open edX Ficus.3教育版
教育版是我们本地化定制的Open edX版本,达到了高度可用性,仅面向非盈利机构(学校、公益组织)开放。
本地镜像下载 Eucalyptus OVA
申请Open edX Ficus公有云镜像
目前我们提供阿里云(华北1)的Ficus镜像。
支持我们,使用以下主机来运行你的应用

开源教育技术QQ群347307364

仅供教育机构教师内部交流,请在此申请加入

Open edX中国用户组QQ群106781163

自由加入,交流Open edX部署、开发、运维。

开源教育技术讨论区

讨论区现已开放注册,我们将在讨论区分享更多开源教育技术经验。

Open edX社区捐赠计划

社区计划开发高级Open edX课程,提供给捐赠社区的企业学习。目前规划的内容包括:

  • 分布式部署
  • 常见的部署后配置(个性化、安全、购物车等)
  • Xblocks开发
  • 其他实践技巧

捐赠企业将获得一个访问高级课程的账号。更多具体信息请联系我们 info@edustack.org。

捐赠企业

广州英荔教育科技有限公司

 

OpenET系列之一:CAS安装与配置


一、准备工作

CAS的Github:https://github.com/apereo
CAS官方网站:https://apereo.github.io/cas/5.2.x/
服务器信息:Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-62-generic x86_64)
JDK版本:1.8.0_141
Tomcat版本:Tomcat8

二、CAS安装

准备好服务器环境后,从GitHub上下载cas-gradle-overlay,目前使用的是CAS-5.0.6版本,所以本文也以该版本为例进行说明。各个版本的CAS在功能上略有不同,大体的部署步骤基本相似,推荐使用5以上的稳定版本。本篇文章不涉及到对CAS的源码进行修改,采用Gradle-overlay的方式进行部署,启动Tomcat后即可直接使用。

进入下载好的CAS目录下,构建CAS

sudo ./gradlew clean build
该命令会从网络下载必要的组件,第一次时间较长,往后就会快很多。

{CAS-dir}/cas/build/libs/cas.war

即为构建好的war包,将该文件复制到

{Tomcat-dir}/webapps/

目录下,重启Tomcat,即可通过浏览器访问

localhost:8080/cas

如果将war包重命名为ROOT.war,则可以直接通过

localhost:8008

访问
注:{CAS-dir}即为下载的CAS目录,{Tomcat-dir}即为Tomcat的安装目录

三、https与数据库连接配置

在{Tomcat-dir}/目录下

sudo vim server.xml

将Tomcat配置上自己的https证书

在{CAS-dir}/目录下

sudo vim cas/build.gradle

dependencies {
compile “org.apereo.cas:cas-server-webapp:${project.’cas.version’}@war”
compile “org.apereo.cas:cas-server-support-jdbc:${project.’cas.version’}”
}

加入jdbc依赖。注意,该依赖包括了大部分数据库的driver,但是没有oracle数据库的,如果需要使用oracle数据库,需要单独下载驱动后放置在

{Tomcat-dir}/webapps/cas/WEB-INF/lib/

目录下

sudo vim {Tomcat-dir}/webapps/ROOT/WEB-INF/classes/application.properties

参考 https://apereo.github.io/cas/5.2.x/installation/Configuration-Properties.html#query-database-authentication
进行配置,包括数据库链接,用户名密码等等。
比较重要的属性有

cas.authn.jdbc.query[0].sql=SELECT 密码字段 FROM table WHERE 用户名字段=?
cas.authn.jdbc.query[0].healthQuery= cas.authn.jdbc.query[0].url=
cas.authn.jdbc.query[0].dialect= cas.authn.jdbc.query[0].user=
cas.authn.jdbc.query[0].password= cas.authn.jdbc.query[0].driverClass=

配置好后,注释掉最后一行

cas.authn.accept.users=casuser::Mellon

重启Tomcat,重新访问即可通过数据库内的用户名密码登录。

四、Service Management配置

我们采用Service Management管理需要通过CAS登录的应用服务,并且使用json方式存储这些服务的信息。
从GitHub上下载cas-management-overlay,在{CAS-Management}目录下执行

sudo vim pom.xml

添加依赖

<dependency>
<groupId>org.apereo.cas</groupId>
<artifactId>cas-server-support-json-service-registry</artifactId>
<version>${cas.version}</version>
</dependency>

保存后执行

sudo ./build.sh run
生成的.war文件位于

{CAS-Management}/target

在{CAS-dir}/目录下

sudo vim cas/build.gradle
添加依赖

compile “org.apereo.cas:cas-server-support-json-service-registry:${project.‘cas.version’}”

将新生成的两个.war文件放入{Tomcat}/webapps目录下,通过

localhost:8080/cas-management

访问应用管理。其配置文件位于

/etc/cas/

目录下。

轻量级Open edX数据分析系统的设想

Open edX包含一个数据分析系统Insights。它包含三个组件:

  • Pipeline,用于将LMS的log文件归集到Hadoop进行计算,并把计算结果写入Mysql。
  • DataAPI,用于将Mysql中的分析结果输出给Insights使用。
  • Insights,用于展示分析结果。

目前是一个重量级的系统。针对的是edx.org这种千万级别的用户网站产生的数据。大量的log被输送到Hadoop进行离线计算用来展示。因此对于小规模的Open edX部署,数万人级别的用户,这样的计算太繁琐。

我们计划开发一个轻量级的数据分析系统。有两个主要方向:

  • 使用python计算来取代hadoop,实现一个基于pandas的pipeline。还在insights里面展现
  • 直接在Inistructor Dashboard里面加入分析展现。可以看整个课程,或者单个学生的学习分析

这两个系统会全部开源。有兴趣一起研究的朋友可以参与。

Open edX Ginkgo.2 OVA镜像文件下载

镜像基于官方文档制作。去掉了Insights和AnalyticsAPI。

https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/146440579/Native+Open+edX+Ubuntu+16.04+64+bit+Installation

 

  • 硬件配置 1CPU/4G RAM/500G HD
  • Ubuntu用户 edustack,密码 edustack.org
  • 没有生成随机密码,各种系统服务都使用默认密码。仅用于开发测试。

下载地址

http://202.196.166.180/downloads/%E5%AE%9E%E9%AA%8C%E8%BD%AF%E4%BB%B6/%E9%95%9C%E5%83%8F/edustack-ginkgo2.ova

百度网盘

https://pan.baidu.com/s/1qZ8QIsO 密码:fxaz

https://pan.baidu.com/s/1sngEEoX 密码:1s29

运维文档

https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/60227913/Managing+OpenEdX+Tips+and+Tricks

https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/19662636/How-to+articles

https://openedx.atlassian.net/wiki/spaces/OpenOPS/pages/88375372/Common+Issues+and+How+to+Fix+Them

开发文档

https://openedx.atlassian.net/wiki/spaces/OpenDev/overview

 

Open edX Ginkgo 中文语言包

项目地址 https://github.com/eduStack/ginkgo.zh-CN

在Transifex语言包基础上进行了修正和补充。经过验证没有语法错误。

安装方法:

1 加载edxapp环境

sudo -H -u edxapp bash
source /edx/app/edxapp/edxapp_env
cd /edx/app/edxapp/edx-platform

2 下载语言包

git clone https://github.com/eduStack/ginkgo.zh-CN

将下载的po文件拷贝到conf/locale/zh_CN /LC_MESSAGES

3 检查翻译

cd /edx/app/edxapp/edx-platform
i18n_tool validate -l zh_CN

执行后在conf/locale/zh_CN /LC_MESSAGES输出.dup和.prob文件,文件中指出翻译错误的地方。

4 编译翻译文件

paver i18n_fastgenerate

paver i18n_fastgenerate和paver i18n_generate的区别在于,paver i18n_generate会首先paver i18n_extract然后编译,而paver i18n_fastgenerate会直接编译。

5 重启edX服务,重启Nginx,清除浏览器缓存。

Open edX开源合作模式的构想

基于http://edustack.org/2017/11/11/open-edx-community-china/的思考,我们设想了几种个人和企业集中力量办事情的方式:

  • 个人社区经费捐助机制
  • 企业社区经费捐助机制
  • 调研设计国内的公共需求
  • 根据需求设计阶段目标,组织项目组开发
  • 资源汇集,包括企业贡献开源代码,个人贡献的技术文章
  • 国内版镜像的协同开发

近期评论