edX是由创始伙伴哈佛大学和麻省理工学院创建的非盈利在线计划,现在包括数十个领先的全球机构xConsortium 。 edX提供免费的交互式在线课程和大规模开放式在线课程(MOOC),从世界上最好的大学到世界各地的学生。
Open edX是一项开放源代码计划,全球开发人员和教育机构共同努力,创建一个可扩展的在线学习平台,以向“任何人,任何地方,任何时间”提供高质量的教育。
Open edX不是唯一可用的开源教育平台。 例如,Moodle是已广泛部署的流行平台。 但是,Open edX为学生提供了更引人入胜的学习体验,以及可用于教育研究,决策支持和运营监控的强大分析功能。
“快速,轻松地在SoftLayer上安装和配置Open edX,因此您可以为课程讲师和学生提供可扩展的在线学习平台。 ”
Open edX最初是为部署在Amazon Web Services(AWS)中而开发的,但是您可以轻松地在SoftLayer服务器上安装和配置它。 SoftLayer是IaaS的另一种方法,并提供其他服务来帮助满足您的在线课程平台需求。 在本文中,我们向您展示了如何在SoftLayer上快速轻松地安装和配置Open edX,以便为课程老师和学生提供可扩展的在线学习平台。
步骤1.创建和部署SoftLayer服务器
在本节中,我们讨论如何为Open edX创建和部署SoftLayer服务器。 我们还展示了使用PuTTY SSH客户端与服务器的便捷SSH连接。
- 第一步是拥有一个具有所需权限的SoftLayer帐户,以执行云实例设置。
- 登录到manage.softlayer.com ,然后单击“ 销售”选项卡以添加新服务器,如下图所示。 我们使用了“ 添加虚拟服务器(每月)”选项。 我们也建议您选择“每月”或“每小时”选项,尤其是这是您首次使用edX服务器时。
- 选择您的系统配置。 这些是最低要求:
- UbuntuLinux®12.04 LTS 64位–最小安装
- 2GB内存,建议4GB;
- 1个2GHz CPU
- 25GB的可用磁盘空间
下图显示了服务器配置的示例:
- 点击继续您的订单以继续。 在下一页上,查看您的订单并设置新的主机名和域。 对于本文,我们使用
openedx.test-domain.com
。 - 完成订单后,您应该会看到类似以下的收据屏幕:
- 检查您的电子邮件以确认。 您的服务器将在几分钟内可用。 准备就绪后,点击虚拟标签,然后点击计算 。
您应该看到服务器列表。 单击刚刚创建的一个,在本例中为
openedx.test-domain.com
。 点击查看 。 - 虚拟服务器摘要为您提供了连接所需的所有信息:地址
208.43.89.19
,用户root
和密码RPW6jbrP
。 - 现在是时候建立我们的第一个连接。 为此,我们需要一个SSH客户端。 Internet上有很多它们,但是对于本文,我们将使用最著名的PuTTY。 有关更多信息,请参见PuTTY:免费的Telnet / SSH客户端
步骤2.安装所需的软件并打开edX
在本节中,我们访问使用PuTTY创建的服务器,安装所需的软件,然后安装Open edX。
- 现在我们有了SSH客户端,是时候将其连接到我们的服务器了。 在主机名(或IP地址)字段中,我们将使用服务器的公共IP(在本例中为
208.43.89.19
)和SSH端口22
。 单击“ 打开”时 ,将出现一个新屏幕,要求输入用户名和密码。 在这种情况下,用户为root ,密码为RPW6jbrP ,之前由SoftLayer网站提供。提示:您可以右键单击鼠标以粘贴到PuTTY shell中。
- 登录后,我们首先需要通过运行以下命令来确保服务器是最新的。 这将导致系统重新引导并失去连接。 重新连接以继续安装。
$ sudo apt-get update -y $ sudo apt-get upgrade -y $ sudo reboot
提示:
$
字符代表我们服务器上的终端输出。 复制和粘贴这些命令时,无需包括它。 - 现在,我们可以使用以下命令在服务器上安装所需的软件和Open edX。 下一节“组件和服务的说明”中将解释这些命令。
- 首先,我们安装需求并克隆edX存储库:
$ sudo apt-get install -y build-essential software-properties-common python-software-properties curl git-core libxml2-dev libxslt1-dev python-pip python-apt python-dev && sudo pip install --upgrade pip && sudo pip install --upgrade virtualenv && cd /var/tmp && git clone -b release https://github.com/edx/configuration
- 如果要继续使用密码通过SSH访问服务器,则最好更改main.yml文件。 否则,您将无法使用SoftLayer网页上提供的密码再次连接。 为此,请将configuration / playbooks / roles / common / defaults / main.yml文件中的变量
COMMON_SSH_PASSWORD_AUTH
更改为“ yes”。 - 我们将要更改另一个变量。 该变量为“ True”时,在主页上设置默认密码。 如果愿意,可以保留“ True”; 默认的登录名和密码为“ edx”。 要禁用密码,请在与上述相同的main.yml文件中将
COMMON_ENABLE_BASIC_AUTH
变量更改为“ False”。 要更改这些变量,可以使用nano编辑器:
$ nano configuration/playbooks/roles/common/defaults/main.yml
- 下一个命令字符串执行安装。 这部分可能会花费一些时间,因此不必担心任务是否需要一段时间才能完成。
$ cd /var/tmp/configuration && sudo pip install -r requirements.txt && cd /var/tmp/configuration/playbooks && sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost,"
- 首先,我们安装需求并克隆edX存储库:
- 如果一切正常,您应该会看到类似以下的屏幕:
如果安装失败,则可能是因为回购协议最近已更新。 运行以下命令以恢复到稳定版本的
requests-oauthlib
。$ sudo -u edxapp /edx/app/edxapp/venvs/edxapp/bin/pip install requests-oauthlib==0.4.0 $ cd /var/tmp/configuration && sudo pip install -r requirements.txt && cd /var/tmp/configuration/playbooks && sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost,"
- 部署服务器后,您可以在服务器IP(在这种情况下为208.43.89.19)访问Studio的LMS(学生界面网站),并在端口18010上访问Studio网站。在这种情况下,路径为208.43.89.19:18010。 有关更多信息,请参阅edX配置库。
这是浏览器访问我们服务器上的edX的屏幕截图:
组件和服务说明
在本节中,我们将阐明上一节的步骤3中使用的命令,并提供一些有关软件要求以及服务器安装方式的理解。
- 以下命令将安装build-essential软件包:git,python pip,python-core,cURL和其他基本库(如libxml2-dev)。
$ sudo apt-get install -y build-essential software-properties-common python-software-properties curl git-core libxml2-dev libxslt1-dev python-pip python-apt python-dev
- 以下命令将升级pip软件包管理系统,并安装和升级一个称为
virtualenv
的隔离Python环境。$ sudo pip install --upgrade pip && sudo pip install --upgrade virtualenv
- 以下命令在/ var / tmp文件夹中克隆Open edX配置库。
$ cd /var/tmp && git clone -b release https://github.com/edx/configuration
- 以下两个命令执行单独的功能:
$ sudo pip install -r requirements.txt $ cd /var/tmp/configuration/playbooks && sudo ansible-playbook -c local ./edx_sandbox.yml -i "localhost,"
第一条命令通过pip数据包管理器安装以下要求:
- Ansible-1.5.5
- PyYAML-3.11
- Jinja2- 2.7.2
- 标记安全-0.23
- Argparse-1.2.1
- 博托-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
第二个命令使用Ansible IT自动化来部署服务器。 Ansible是一种自动化工具,并且所有的辛苦工作都在这里完成。 这是所有服务器(例如mysql,mongoDB和nginx)的安装位置。
有关这些命令和组件的更多信息,请参见edX配置 。
Open edX入门
成功安装Open edX后,有许多命令在设置新实例或执行维护时非常有用。 要使用这些命令,请打开edx-platform文件夹:
$ cd /edx/app/edxapp/edx-platform
现在,您可以使用命令行而不是网站来创建用户,更改密码,生成证书等。 与脚本一起使用时,此功能可能很强大。
以下命令列出了所有manage.py
命令。 该列表包含诸如changepassword
和dump_course_structure
命令。
$ sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws help
Open edX生产堆栈页面提供了以下命令的一些示例:
- 创建一个新用户:
$ sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws create_user -e user@example.com
- 设置或更改密码:
$ sudo -u www-data /edx/bin/python.edxapp ./manage.py lms --settings aws changepassword user
- 使用演示课程从github导入课程:
$ cd /var/tmp $ git clone https://github.com/edx/edx-demo-course.git $ cd /edx/app/edxapp/edx-platform $ sudo -u www-data /edx/bin/python.edxapp ./manage.py cms --settings=aws import /edx/var/edxapp/data /var/tmp/edx-demo-course
- 查看正在运行什么服务:
$ sudo /edx/bin/supervisorctl -c /edx/etc/supervisord.conf status
有关更多信息,请参阅《 edX管理生产堆栈》 。
有用的链接
版
- edX平台 :涵盖LMS和创作工具Studio的主要存储库。
- edX配置 :任何人都可以通过简单但灵活的方式来设置完全配置并可以使用的Open edX平台实例。
- edX生产 :有关Open edX服务器运行后如何管理和更新的信息。
- edX仓库 :包含指向每个Open edX仓库的链接,包括上面的链接。
软层
结论
在本文中,我们向您展示了如何在SoftLayer服务器上安装和配置Open edX,并提供了一些有用的技巧和技术来设置其他实例或执行维护。
Open edX一直在改进并发布新版本。 随着Open edX项目的发展,您可以通过加入开源社区轻松地保持最新状态。 为课程讲师和学生享受这个引人入胜的在线平台的好处。
翻译自: https://www.ibm.com/developerworks/cloud/library/cl-openedx-softlayer-app/index.html