当开始建设社区的时候,你需要拿出一个像样的承诺。程序此时并不需要特别好,它可以简陋、有错、不完整,文档可以少得可怜。但它至少要做到:(a)能运行,(b)让潜在的合作开发者相信,这个软件在可预见的未来,能演变成一个非常棒的东西 –《大教堂与集市》

#国内社区 Open edX中国社区的计划和愿景可以参考这里:Open edX中国社区

第一次筹备会计划:

社区将发布基于Docker的Open edX国内版本(开发演示版)

Open edX开发研究群qq号为:106781163。 欢迎大家前来交流,一起来完善社区版本 : )

#版本概述 当前版本使用docker发布,跨平台,支持Windows/Linux/Mac,用于开发与演示,基于appsembler发布的edx-lite-cypress。

当前版本对系统要求很低,在Ubuntu14.04下实验,使用的机器为单核1G内存,运行流畅

社区计划以小版本的方式迭代优化。目前已支持以下特性:

  • 同时支持演示和开发,默认开启lms,studio,forum
  • 支持脚本化化主题切换(一条指令切换到自适应主题,对移动端访问友好),
  • 默认配置好邮件服务
  • 默认汉化
  • 支持ssh登录(root:edx),方便开发

计划增加的特性:

  • 增强开发环境,大体效果参考这里
  • 更全面的本地化,包括CDN的优化等
  • 解决国内使用edX可能遇到的坑
  • 更多的Xblock组件,诸如优酷,腾讯云视频组件
  • 更多的主题

项目细节和进展欢迎围观:edx_cypress_docker,欢迎提issue,欢迎pull requests,欢迎fork

docker hub地址为wwj718/edx_cypress_docker

#Install 由于docker跨平台,你可以任意在Windows/Linux/Mac下安装社区版的edX

目前提供两种安装方式,分别适合一般用户和开发者。我们将一般用户定义为:无需技术背景,将edx视为教学工具的人员

##方法一(一般用户) ###安装docker 国内用户建议从daocloud里安装docker

edx_cypress

###拉取edx_cypress_docker镜像 考虑到国内网络,你可以从这里下载docker镜像(edx_cypress_docker_1.11.tar.gz),之后load到docker中使用即可。感谢@netwalk0r同学将镜像上传到群共享

docker load < /path/to/edx_cypress_docker_1.04.tar.gz

/path/to/edx_cypress_docker_1.04.tar.gz为edx_cypress_docker_1.04.tar.gz的路径

Docker Toolbox已经做好了主机和虚拟机的共享工作,所以使用起来十分顺手

关于docker的入门可以看这里docker_practice

至此edx安装完成

###方法二(开发者) 安装docker的方法和方法一相同。

网络顺畅的小伙伴们,建议直接使用从docker hub上拉取,这样能保证得到的是最新版本。镜像地址为wwj718/edx_cypress_docker

一条指令拉取:sudo docker pull wwj718/edx_cypress_docker:1.05

考虑到国内网络,建议使用docker的国内加速服务.可以参考这里daocloud(需要先注册daocloud)

#运行edX 也只需要一条指令:

sudo docker run -itd -p 80:80 -p 2022:22 -p 18010:18010 wwj718/edx_cypress_docker:1.05

edX启动需要10秒左右的时间,片刻之后即可访问,enjoy it :)

其中lms(学生端)在80端口,studio(课程制作)在18010端口,ssh端口在2022

ssh用户名:root,密码:edx

edx登录用户名:staff@example.com,密码:edx

###如果端口冲突 如果以上端口被占用,也可以自行指定端口或使用随机分配端口: sudo docker run -itd -P wwj718/edx_cypress_docker:1.05

#更新 假设你想使用edx移动端的主题,需要更新到1.05版,只需要执行以下一条指令:

sudo docker pull wwj718/edx_cypress_docker:1.05

最新版本将更新在这里edx_cypress_docker

#FQA ###为何使用docker

  • 用户友好,出于演示和尝试目的使用edX的普通用户不需费力安装,拉取就可用
  • 开发者友好,方便团队协作,方便迭代开发,缩短开发周期
  • 未来趋势,官方devstack正往docker迁移

###mac下开发 感谢@自定义 同学的分享,他把mac下的docker配置已经写得清晰完整了,我就不重复写这部分了.参考 Mac OS下Boot2Docker的网络映射设置