使用bitnami提供的二进制包在局域网内安装Open edX
文章目录
由于Open edX的依赖繁多,安装繁琐等原因,bitnami提供了二进制的一键安装包Open edX,edx的blog上对此事有过报道
一般而言,社区倾向于采用原生的安装方式,原因有二:
- 当前大多的讨论基于原生版本,这样使用过程中遇到的坑,易于搜到解决方案,因为大家围绕着一个相同的版本。这样可以充分发挥社区的力量
- 易于升级和改造(主要也是因为资料多)
另一方便,我们也有动力去采用一键安装的二进制包:
- 安装便利,只要下载好二进制文件(1.1G),安装即可.
- 不必担心国内外网络的差异造成的各类诡异错误。在校园网中这个优势尤其明显
- 对环境的要求仅有linux-x64!
#安装
- 在目标机器上下载bitnami-edx-cypress-4-linux-x64-installer.run (这是当前最新版)
- 你可以采用你喜欢的工具下载(wget,curl,aria2c等),也可以本地下好,scp传输到目标机器
chmod 755 bitnami-edx-cypress-4-linux-x64-installer.run
./bitnami-edx-cypress-4-linux-x64-installer.run
- 之后按提示填写信息就行
#使用 ###访问
- http://localhost:8080 : lms(学生端)
- http://localhost:18010 : cms(教师端)
- http://localhost/admin : admin(后台管理)
start/stop the servers
|
|
更多的设置参考Bitnami_Open_edX wiki
#探索
###项目结构
使用tree探索:tree -L -C ~/edx-cypress-4
###相关进程
ps aux |grep edxapp
我们看到
/home/wwj/edx-cypress-4/apps/edx/edx-platform/bin/python.edxapp ./manage.py lms --settings=aws celery worker -I contentstore.tasks --loglevel=info --queues=edx.lms.core.low --hostname=edx.lms.core.low.%h --concurrency=1
###控制脚本
搜索edx.lms.core.low
:grep edx.lms.core.low ~/edx-cypress-4 -R
发现/home/wwj/edx-cypress-4/apps/edx/scripts/ctl.sh
通过分析ctl.sh
,我们发现,bitnami采用shell来控制edx,而不是像原生安装那样采用supervisor来控制进程
###源码
查看源码的git log我们发现,最后一次提交为bde4dc5fdb6b470db0de361bc87038faf4f5471c
,这恰好是named-release/cypress.rc 最终的提交
所以bitnami没有动源码
这意味着它和原生系统基本相同
#题外 另外我对bitnami采用的技术挺感兴趣,下午和@netwalk0r聊了一下,他说以前看过bitnami的安装包,应该不是采用base64的打包,我们都觉得应该是使用某种方式包装了二进制包和shell。
欢迎对此了解的同学一起来讨论咯
当然由于我相信docker这类技术是未来,所以也不愿在二进制打包这类技术上话费太多精力
补充
偶然的机会发现,bitnami 的应该是使用了makeself来打包,这个工具好强大
#参考
文章作者 种瓜
上次更新 2016-03-05