5
1.OpenEdX 平台的安装 (http://www.shanbin.name/edx-ubuntu-12-04-64-bit-installation/) edX 是开源的平台,官方网站提供了安装过程以及安装所需的环境,edX 运行系统推荐使用 Ubuntu 12.04 64 位服务器版,官方的安装过程基于该版本的服务器系统安装的。 edX 开源平台运行所需的软硬件配置如下要求: Ubuntu 12.04 64 位服务器版 内存最小为 2GB,生产环境的服务器最小为 4GB 内存 至少一颗 2.00GHz CPU 可用硬盘空间最少为 25GB,生产环境的服务器可用硬盘空间最少为 50GB 通过 ssh 登录到服务器或者直接在本机上在命令行下安装 1.更新服务器的 Ubuntu sudo apt-get update –y *更新更新源 sudo apt-get upgrade –y *安装更新软件 sudo reboot *重启服务器 2.安装 edX 的代码 官方提供两种安装方式分别是一步自动安装和手动安装,一步安装的比较省事,但是 后期配置比较繁琐,如果服务器不在本地更不建议采用一步安装,默认安装完成,服务器重 启后,不能使用 ssh 远程管理,还是建议使用分步安装方式 a.一步安装 wget https://raw.githubusercontent.com/edx/configuration/master/util/install/vagrant.sh -O - | bash 如需指定版本号,则使用: OPENEDX_RELEASE=named-release/birch wget https://raw.githubusercontent.com/edx/configuration/master/util/install/vagrant.sh -O – | bash b.分步安装 b.1 安装必须的软件命令: sudo apt-get install -y build-essential software-properties-common python-software- properties curl git-core libxml2-dev libxslt1-dev libfreetype6-dev python-pip python-apt python-dev sudo pip install –upgrade pip sudo pip install –upgrade virtualenv b.2 下载 edX 的安装 configuration 的文件 cd /var/tmp git clone -b release https://github.com/edx/configuration b.3 手动修改一下几个配置文件,以便安装完成后 ssh 还可用,及 cms lms 配置文件 里的一些配置参数安装完成就可用,不用再次修改。 sudo vi configuration/playbooks/roles/common/defaults/main.yml 修改其中的: COMMON_SSH_PASSWORD_AUTH 为 “yes”

1.OpenEdX 平台的安装 - files.cnblogs.comfiles.cnblogs.com/files/Sky-Yanjun/OpenEdX平台的安装及错误... · edX 开源平台运行 ... 修改完成保存,接下我们来修改其他的配置文件,首先修改

  • Upload
    voxuyen

  • View
    266

  • Download
    14

Embed Size (px)

Citation preview

1.OpenEdX 平台的安装

(http://www.shanbin.name/edx-ubuntu-12-04-64-bit-installation/)

edX 是开源的平台,官方网站提供了安装过程以及安装所需的环境,edX 运行系统推荐使用 Ubuntu 12.04 64 位服务器版,官方的安装过程基于该版本的服务器系统安装的。

edX 开源平台运行所需的软硬件配置如下要求:

Ubuntu 12.04 64 位服务器版内存最小为 2GB,生产环境的服务器最小为 4GB 内存至少一颗 2.00GHz CPU可用硬盘空间最少为 25GB,生产环境的服务器可用硬盘空间最少为 50GB

通过 ssh 登录到服务器或者直接在本机上在命令行下安装

1.更新服务器的 Ubuntu 源sudo apt-get update –y *更新更新源sudo apt-get upgrade –y *安装更新软件sudo reboot *重启服务器

2.安装 edX 的代码官方提供两种安装方式分别是一步自动安装和手动安装,一步安装的比较省事,但是

后期配置比较繁琐,如果服务器不在本地更不建议采用一步安装,默认安装完成,服务器重启后,不能使用 ssh 远程管理,还是建议使用分步安装方式

a.一步安装wget https://raw.githubusercontent.com/edx/configuration/master/util/install/vagrant.sh -O - |

bash

如需指定版本号,则使用:OPENEDX_RELEASE=named-release/birch wget

https://raw.githubusercontent.com/edx/configuration/master/util/install/vagrant.sh -O – | bash

b.分步安装b.1 安装必须的软件命令:

sudo apt-get install -y build-essential software-properties-common python-software-properties curl git-core libxml2-dev libxslt1-dev libfreetype6-dev python-pip python-apt python-dev

sudo pip install –upgrade pipsudo pip install –upgrade virtualenv

b.2 下载 edX 的安装 configuration 的文件

cd /var/tmpgit clone -b release https://github.com/edx/configuration

b.3 手动修改一下几个配置文件,以便安装完成后 ssh 还可用,及 cms 和 lms 配置文件里的一些配置参数安装完成就可用,不用再次修改。

sudo vi configuration/playbooks/roles/common/defaults/main.yml修改其中的: COMMON_SSH_PASSWORD_AUTH 为 “yes”

修改完成保存,接下我们来修改其他的配置文件,首先修改 lms 和 cms 里用到的技术支持等 E-mail 地址,以及域名配置,这些配置信息在configuration/playbooks/roles/edxapp/defaults/main.yml 文件里,同样先打开该文件,操作命令如下:

sudo vi configuration/playbooks/roles/edxapp/defaults/main.yml

简单的介绍一下各个参数的含义:EDXAPP_LMS_BASE:LMS 学习端的域名或者 ip,教师端邀请学生等用到EDXAPP_PREVIEW_LMS_BASE:课程预览的域名或者 ip,教师端预览课程用到,一般等同于 LMSEDXAPP_CMS_BASE:CMS 教师端的域名或者 ip,教师再学生端直接转到教师端用EDXAPP_PLATFORM_NAME:edX 平台名称设置EDXAPP_SITE_NAME:edX 平台默认域名或者 ipEDXAPP_CMS_SITE_NAME:edX 平台教师端的域名或者 ipEDXAPP_LANGUAGE_CODE:语言编码设置,例如默认中文设置为’zh-cn’EDXAPP_TIME_ZONE:时区设置,例如中国时区设置为’Asia/Shanghai’EDXAPP_TECH_SUPPORT_EMAIL:技术支持联系 E-mailEDXAPP_CONTACT_EMAIL:平台联系 E-mailEDXAPP_BUGS_EMAIL:平台 BUG 联系 E-mailEDXAPP_DEFAULT_FROM_EMAIL:平台发送邮件默认 E-mailEDXAPP_DEFAULT_FEEDBACK_EMAIL:平台反馈联系 E-mailEDXAPP_DEFAULT_SERVER_EMAIL:平台 SERVER 联系 E-mailEDXAPP_BULK_EMAIL_DEFAULT_FROM_EMAIL:平台批量发送邮件默认 E-mailEDXAPP_UNIVERSITY_EMAIL:平台大学联系 E-mailEDXAPP_PRESS_EMAIL:平台出版联系 E-mailEDXAPP_CMS_NGINX_PORT:CMS 教师端的 nginx 的端口

自定义参数基本设置完成.

4.安装 ansible 所需的软件环境cd /var/tmp/configurationsudo pip install -r requirements.txt

此命令通过 pip 包管理器安装下面这些需要的软件:• Ansible - 1.5.5• PyYAML - 3.11• Jinja2- 2.7.2• MarkupSafe - 0.23• Argparse - 1.2.1• boto - 2.28.0• ecdsa 0.11• paramiko - 1.14.0• pycrypto - 2.6.1• wsgiref - 0.1.2• docopt -0.6.1

• python-simple-hipchat – 0.2

5.开始配置安装 edX 平台

cd /var/tmp/configuration/playbooks && sudo ansible-playbook -c local ./edx_sandbox.yml -i

“localhost,”

到这里就完成了 edX 平台的安装了,安装过程如果出现错误,可能是网络的问题,可以重复上面的命令,直到返回结果都是成功。安装完成就可以使用设定的域名访问了,如果没有修改,系统默认安装完成访问地址如下 :LMS : 服务器 IP :80Studio :服务器 IP :18010如果通过访问可以看到 edX 平台的学习端和教师端,说明已经成功安装完成了,可以使用该平台了。

2.OpenEdX 平台的安装错误整理上一节指出,大部分的安装错误都是由于网络问题导致的,可重复执行出错所在模块

的任务。例如:在执行

TASK: [edxapp | syncdb and migrate] ******************************

出错,就需要找到 edx 的任务清单中 edxapp 中的第一条任务,从 edxapp 的第一条任务开始执行。如不是网络问题,再寻找其他的方法进行。从指定任务开始执行的命令如下:

sudo ansible-playbook -c local ./edx_sandbox.yml -i “localhost,” --start-at-task="edxapp | create application user" #对应的为 edxapp 中的第一条执行命令

任务清单可在附件中查看(edx code full configure)。

注:在遇到所有问题时,所想到的首先应是网络问题,第一步应该按照上面所说的重新执行下命令。反复(两次以上)出错再参考下列错误提示。

1.TASK: [common | update the ssh motd on Ubuntu]

这个问题在第一次安装时遇到过,Ubuntu 系统自带 SSH 服务,不出意外应该不会在这个地方卡住。出现这个问题时可能跟本地 SSH 服务有关,若本机没有安装 SSH 服务可能会报错,可自行安装后执行或者在此地直接跳过这个任务,从配置文件的下一条开始执行,

在用户使用中如需使用 SSH 可再进行配置。下一条任务名应是(common | add ssh-warning banner motd)。

2.TASK: [elasticsearch | download elasticsearch]

解决这个问题的办法有两种:

1)升级 ansible:

sudo pip(apt-get) install ansible==1.7

在后期若在这个任务中遇到错误,再将其降级到系统默认的 1.5.5

TASK:[notifier | source repo group perms]

出错降级:

sudo pip(apt-get) install ansible==1.5.5

2)取消 SSL 认证:

3.TASK: [common | Install python-pycurl]

(http://pako.iteye.com/blog/1122293)

缺少依赖的软件包,使用以下两个命令安装后再执行:

sudo aptitude install ibcurl4-gnutls-dev

sudo aptitude instal python-pycurl-dbg

安装完执行 common 的第一条任务这个错误就过去了。

4.TASK: [elasticsearch | install bigdesk plugin]

出错提示应该是找不到某个文件。出现这个问题应该是你在执行(TASK: [oraclejdk | download Oracle Java])时中断过,导致文件下载不全,系统在执行命令时对这个文件的检查不完整,导致 download 没有出错而在后期安装其他组件时报错。

解决方案:删掉下载不完整的 jdk 软件包跟安装文件

rm -rf /usr/lib/jvm #删除安装文件

rm -rf /var/tmp/jdk... #删除下载的软件包,可用 tab键补全

删除完成后再重新执行(TASK: [oraclejdk | download Oracle Java])从指定任务执行的命令到此应该很熟悉了就不再赘述。切记,此处不可中断,若因为网络等原因中断,请将此方案重复执行,直到这部分命令一次性通过为止。

5.TASK: [edxapp | code sandbox | Use libblas for 3gf]

官方(google group)给出里这个问题的解决方案:

echo “/usr/lib/atlas-base” | sudo tee /etc/ld.so.conf.d/atlas-lib.conf

sudo ldconfig

这个问题很大一部分是系统版本的问题。在此,再次声明,此教程推荐在 Ubuntu 12.04 64 位服务器版安装。

6.TASK: [xqueue | update supervisor configuration]

之前一直找不到这个错误的解决办法,后来无意间将 ansible降级到 1.5.5,这个问题就过去了。降级命令参考前面的升级命令,将版本号 1.7替换成 1.5.5即可。

后期的错误若出错重新执行应该就可以了。本人几次安装遇到的错误都整理在此了。遇到没有遇到的错误可重新执行即可。