1. 引言

openedx作为哈佛大学等美国顶尖大学推出的在线教育平台,在全世界有着广泛的应用。相较于同类的基于php的moodle,openedx核心代码基于python的django框架。现在,openedx在国内越来越普及,有成熟的商业化产品(清华的学堂在线),也有面向各大院校的免费教育产品(edustack)。openedx虽然强大,但相关代码复杂性高,文档不够完整等缺陷导致了实际安装,部署时会有各种问题。相较于今天要说的ubuntu原生代码安装,如果想要本地测试的话建议下载官网的虚拟镜像(需要事先安装vitural box或vmware虚拟机软件,然后使用vagrant这一命令行的自动化部署工具启动)。这一方法是速度最快,出错率最低的方案(当然了,相应的代价就是需要消耗月10G左右的存储空间);在结合官方文档对openedx代码结构,功能有了一定熟悉后,下面就开始实际的系统部署工作(都是一些走过的坑,前事不忘,后事之师)。


2. 系统准备

准备好一个满足要求的ubuntu系统(现金就允许两个版本:12.04和16.04)。openedx 对版本限的很死,其自动化脚本会首先自动检测系统版本,如果不匹配就直接跳出安装。笔者这里采取的是阿里云的EC2云服务器,阿里云上的ubuntu开源镜像没有12.04,只有14.04和16.04,因此就选择了16.04版本,并将内存升到4G。下面是官方的硬件要求(16.04对应的openedx版本是 Ficus):

  • Ubuntu 16.04 amd64 (oraclejdk required). It may seem like other versions of Ubuntu will be fine, but they are not. Only 16.04 is known to work.

  • Minimum 8GB of memory

  • At least one 2.00GHz CPU or EC2 compute unit
  • Minimum 25GB of free disk, 50GB recommended for production servers

要求还挺高,不过笔者内存只用了4G的,貌似也能正常运行。


3. 更新系统

下面按照要求要更新下ubuntu系统软件,因为下面要从pip,github下载和安装一堆东西,所以希望系统软件都是最新的,操作也很简单。

sudo apt-get update -y
sudo apt-get upgrade -y
sudo reboot

4. 开始自动化安装

先来看下官方的流程:

# 1. Set the OPENEDX_RELEASE variable:
export OPENEDX_RELEASE=the-tag/you-want-to-install
# 2. Bootstrap the Ansible installation:
wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/ansible-bootstrap.sh -O - | sudo bash
# 3. (Optional) If this is a new installation, randomize the passwords:
wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/generate-passwords.sh -O - | bash
# 4. Install Open edX:
wget https://raw.githubusercontent.com/edx/configuration/$OPENEDX_RELEASE/util/install/sandbox.sh -O - | bash

前三步都是准备工作,比较简单。注意下这里的版本,笔者采用的是:

export OPENEDX_RELEASE=open-release/ficus.2

注意这里使用的版本是ficus.2而不是ficus.3,笔者一开始也是用3,但始终无法成功,换成2后可以,可能推测是兼容性问题。
openedx的版本在https://openedx.atlassian.net/wiki/display/DOC/Open+edX+Releases,是以英文字母顺序来推进的,A,B,C。。。。F,笔者这里最新的是Ficus。另外,可以将export放到/etc/profile或是~/.bashrc,这样每次想要重新运行都可以避免重复操作。


5.注意事项

上述流程中最慢,最耗时的就是就是上面第4步。安装过程中自动化脚本要执行非常多的task,其中会在几个地方会有一些卡,例如checkout edxapp github repo或是pip install requirements等地方,尽量耐心等待,有时跟github和pip的网络连接有关。全部安装完后将可以在浏览器中输入服务器地址看到openedx的lms前台。

原文链接:https://openedx.atlassian.net/wiki/display/OpenOPS/Native+Open+edX+Ubuntu+16.04+64+bit+Installation

open edx: ubuntu 16.04原生native 安装部署相关推荐

  1. VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)----本人亲测可用

    原文地址::VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)-蒲公英云 相关文章 1.VNC实现Windows远程访问Ubuntu 16.04(无需 ...

  2. ubuntu安装pr_在Ubuntu 16.04服务器上安装Zabbix 3.2

    监控服务器 - 什么是Zabbix Zabbix是企业级开源分布式监控服务器解决方案. 该软件监控网络的不同参数和服务器的完整性,还允许为任何事件配置基于电子邮件的警报. Zabbix根据存储在数据库 ...

  3. 【转】Ubuntu 16.04 Nvidia驱动安装(run方式)

    转自:Ubuntu 16.04 Nvidia驱动安装(run方式)_lihe的博客-CSDN博客 1.下载驱动程序 Nvidia驱动下载 https://www.geforce.cn/drivers/ ...

  4. linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程

    protobuf简单介绍 protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法. p ...

  5. 在linux搭建wiki教程,在Ubuntu 16.04系统上安装WikkaWiki

    一.WikkaWiki介绍 WikkaWiki是一个灵活的.兼容标准的.轻量级的.平台独立的开源Wiki引擎,它使用PHP语言开发,后端存储采用了MySQL数据库.WikkaWiki的设计目标是速度快 ...

  6. Linux Ubuntu 16.04 Python matplotlib安装中文字体,黑体,楷体,Times New Roman等,解决中文乱码

    Linux Ubuntu 16.04 Python matplotlib安装中文字体,Times New Roman等 文章目录 Linux Ubuntu 16.04 Python matplotli ...

  7. Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗

    2019独角兽企业重金招聘Python工程师标准>>> Ubuntu 16.04 一系列软件安装命令,包括QQ.搜狗.Chrome.vlc.网易云音乐安装方法 2016年07月20日 ...

  8. ubuntu 16.04, conda不能安装、更新包的解决办法

    ubuntu 16.04, conda不能安装.更新包的解决办法 - truth的文章 - 知乎 https://zhuanlan.zhihu.com/p/36188524 昨天打算更新 pytorc ...

  9. Ubuntu 16.04 LTS 下安装PyCharm

    PyCharm一个是Python集成开发环境,它既提供收费的专业版,也提供免费的社区版本.PyCharm带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Proj ...

最新文章

  1. spring boot实战(第四篇)分散配置
  2. 学习Zynq-7000的入门书单
  3. js打开android应用程序,浏览器通过JS打开Android程序
  4. 密码学在区块链隐私保护中的应用学习
  5. 由摄像机外参矩阵求解像片的外方位线元素
  6. 杀掉php所有进程,杀死某个用户的所有进程
  7. 用HashAlgorithm來加强數據的保險程度。
  8. 视频教程-网页设计速成之Dreamweaver-Dreamweaver
  9. 互联网公司裁员潮传言四起,是捕风捉影还是确有其事?
  10. 键盘NumLock和CapsLock状态指示工具部分优化版
  11. python贝叶斯算法的论文_3个范例带你读懂贝叶斯法则
  12. 常见的变换总结与代码:DCT,STFT,K-L变换等
  13. Dubbo项目消费者调用提供者报cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage
  14. 临时邮箱怎么用?邮箱客户端设置
  15. USACO 1.2.1 你的旅途由此开始
  16. 空间圆弧插补算法,matlab实现封装函数
  17. 广东省计算机考试报名照片规格,计算机等级考试报名 有关照片规格及要求介绍...
  18. 6.18科技新闻(2)
  19. RPC-BDY(3)-Netty实现
  20. WinForm实现通用的窗体基于屏幕中间或父窗体中间

热门文章

  1. 安装CPAT--使用CPAT分析lncRNA
  2. SpringBoot与Mysql
  3. 全国计算机erp应用专业人才,ERP技术开发应用专业毕业生个人简历模板
  4. 【51nod_3202】子集和判断
  5. virtualenv虚拟环境的运用
  6. Cisco 3750 三层交换机配置
  7. 基于asp.net701幼儿园接送信息管理系统
  8. Python小实例摄氏度华氏度转换
  9. 基于android 订餐外卖APP,前台后台服务都齐全
  10. DIV+CSS布局实战---海南旅游网