open edx: ubuntu 16.04原生native 安装部署
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 安装部署相关推荐
- VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)----本人亲测可用
原文地址::VNC实现Windows远程访问Ubuntu 16.04(无需安装第三方桌面,直接使用自带远程工具)-蒲公英云 相关文章 1.VNC实现Windows远程访问Ubuntu 16.04(无需 ...
- ubuntu安装pr_在Ubuntu 16.04服务器上安装Zabbix 3.2
监控服务器 - 什么是Zabbix Zabbix是企业级开源分布式监控服务器解决方案. 该软件监控网络的不同参数和服务器的完整性,还允许为任何事件配置基于电子邮件的警报. Zabbix根据存储在数据库 ...
- 【转】Ubuntu 16.04 Nvidia驱动安装(run方式)
转自:Ubuntu 16.04 Nvidia驱动安装(run方式)_lihe的博客-CSDN博客 1.下载驱动程序 Nvidia驱动下载 https://www.geforce.cn/drivers/ ...
- linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程
protobuf简单介绍 protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法. p ...
- 在linux搭建wiki教程,在Ubuntu 16.04系统上安装WikkaWiki
一.WikkaWiki介绍 WikkaWiki是一个灵活的.兼容标准的.轻量级的.平台独立的开源Wiki引擎,它使用PHP语言开发,后端存储采用了MySQL数据库.WikkaWiki的设计目标是速度快 ...
- Linux Ubuntu 16.04 Python matplotlib安装中文字体,黑体,楷体,Times New Roman等,解决中文乱码
Linux Ubuntu 16.04 Python matplotlib安装中文字体,Times New Roman等 文章目录 Linux Ubuntu 16.04 Python matplotli ...
- Ubuntu 16.04 一系列软件安装命令,包括QQ、搜狗
2019独角兽企业重金招聘Python工程师标准>>> Ubuntu 16.04 一系列软件安装命令,包括QQ.搜狗.Chrome.vlc.网易云音乐安装方法 2016年07月20日 ...
- ubuntu 16.04, conda不能安装、更新包的解决办法
ubuntu 16.04, conda不能安装.更新包的解决办法 - truth的文章 - 知乎 https://zhuanlan.zhihu.com/p/36188524 昨天打算更新 pytorc ...
- Ubuntu 16.04 LTS 下安装PyCharm
PyCharm一个是Python集成开发环境,它既提供收费的专业版,也提供免费的社区版本.PyCharm带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试.语法高亮.Proj ...
最新文章
- spring boot实战(第四篇)分散配置
- 学习Zynq-7000的入门书单
- js打开android应用程序,浏览器通过JS打开Android程序
- 密码学在区块链隐私保护中的应用学习
- 由摄像机外参矩阵求解像片的外方位线元素
- 杀掉php所有进程,杀死某个用户的所有进程
- 用HashAlgorithm來加强數據的保險程度。
- 视频教程-网页设计速成之Dreamweaver-Dreamweaver
- 互联网公司裁员潮传言四起,是捕风捉影还是确有其事?
- 键盘NumLock和CapsLock状态指示工具部分优化版
- python贝叶斯算法的论文_3个范例带你读懂贝叶斯法则
- 常见的变换总结与代码:DCT,STFT,K-L变换等
- Dubbo项目消费者调用提供者报cannot be cast to com.baomidou.mybatisplus.core.metadata.IPage
- 临时邮箱怎么用?邮箱客户端设置
- USACO 1.2.1 你的旅途由此开始
- 空间圆弧插补算法,matlab实现封装函数
- 广东省计算机考试报名照片规格,计算机等级考试报名 有关照片规格及要求介绍...
- 6.18科技新闻(2)
- RPC-BDY(3)-Netty实现
- WinForm实现通用的窗体基于屏幕中间或父窗体中间