最近,由于工作原因,在Azure上的Ubuntu虚拟机中安装了Open edX 实例,安装过程遇到了不少问题, 在从网上找答案的过程中,学习到了不同的知识。

注:若Ubuntu虚拟机Setup在Global Azure上, 进行Open edX安装过程会比较顺利, 若Setup在China Azure上, 我至今没有安装成功过。

创建SSH的身份验证证书文件

使用 putty(http://www.putty.org)工具连接Ubuntu虚拟机, 提供了两种选择进行身份验证:用户名+密码; 使用SSH证书。我们可以借助于openssl.exe进行证书的创建, 这个工具是伴随着git(http://git-scm.com/download/)安装包而安装的。

步骤如下:

1. 打开命令行控制台窗口。

2. 输入以下命令,并回车:

"\Program Files (x86)\Git\bin\openssl.exe" req -x509 -nodes -days 365 -newkey rsa:2048 -keyout myPrivateKey.key -out myCert.pem -config "c:\Program Files (x86)\Git\ssl\openssl.cnf" 

3. 根据提示,输入您的信息。

4. 命令运行完成后,将会创建两个文件:myPrivateKey.keymyCert.pem

5. 将基于SSH的私有密钥转换成基于RSA的私有密钥。

6. 输入以下命令,并回车:

"C:\Program Files (x86)\Git\bin\openssl.exe" rsa -in myPrivateKey.key -out myPrivateRSAkey.rsakey 

7. 命令运行完成后,将会创建文件:myPrivateRSAKey.rsakey

使用puttygen(http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)工具,生成一个.ppk文件,这个文件将是putty要使用的证书文件。

1. 运行puttygen.exe

2. 单击Load。

3. 浏览到文件myPrivateRSAKey.rsakey,或许你需要将浏览窗口过滤设置为*.*。

4. 单击Open, OK。

5. 单击Save Private Key,并将文件保存为MyPrivateKey.ppk

在国际版Azure中配置Ubuntu虚拟机

在这个步骤中,要注意的是:

1. 选择Ubuntu的版本为12.04 LTS。

2. 选择使用SSH密钥进行身份验证,并选择myCert.pem文件。

3. 添加两个edX使用的终结点: LMS - TCP:80; Studio - TCP:18010。

配置Ubuntu虚拟机

1. 运行putty.exe

2. 在Session中,在Host Name中,将虚拟机的DNS名称粘贴进去

3. 展开Connection, SSH, 单击Auth。

4. 在Private key file for authentication:中,选择myPrivateKey.ppk文件。

5. 单击Open以打开命令终端。

6. 使用azureuser登录。

7. 输入以下命令,用于对Ubuntu虚拟机进行更新,运行完成后,重启:

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

安装Open edX

1. 重新运行putty.exe,登录到Ubuntu虚拟机。

2. 输入以下命令,并按回车:

screen -d -RR 

3. 运行一键安装命令

OPENEDX_RELEASE=named-release/master wget https://raw.githubusercontent.com/edx/configuration/master/util/install/vagrant.sh -O - | bash 

4. 等待安装过程完成,这个过程比较漫长。

安装结果有可能是Fail,不要着急, 先在浏览器中验证edX instance是否可用:

1. 打开浏览器,输入http://<dns name>:18010/

2. 单击Sign In,使用verified@example.com, 密码edx。

如果可以登录,那么Open edX安装过程虽然失败了, 但是Open edX主要功能还是可以使用。

如果无法登录,请考虑重新运行open edx的安装,这里建议使用手动安装。

手动安装步骤如下:

注:若是自动安装失败以后, 请先删除已拷贝的文件:

删除/var/tmp下的configuration文件

cd /var/tmp

rm -rf configuration

安装步骤:

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 libxmlsec1-dev swig
sudo pip install --upgrade pip
sudo pip install --upgrade virtualenv

2. 然后将configuratoin代码库重新复制到本地:

git clone -b master https://github.com/edx/configuration

-b后边可以尝试选择一个您觉得最新的分支(https://github.com/edx/configuration)

3. 然后运行命令:

cd /var/tmp/configuration

sudo pip install -r requirements.txt

4. 然后运行命令:

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

成功安装不易, 放个图在这里鼓励一下:

为Ubuntu安装桌面

1. 运行putty.exe,登录到Ubuntu虚拟机

2. 在命令终端中,输入以下命令:

sudo su -

sudo apt-get install ubuntu-desktop

sudo apt-get install xrdp

使用sudo为用户设置密码

1. 运行putty.exe, 登录到Ubuntu虚拟机

2. 在命令终端中,输入以下命令:

sudo su sudo passwd azureuser

3. 随后,输入该用户的密码。

Ubuntu中常用Terminal命令

pwd - 显示当前路径

clear - 清空控制台显示信息

cd .. - 返回上一层目录

ls - 显示当前路径下的所有文件/文件夹

mv - 移动文件

mkdir - 创建文件夹

rmdir - 移除空文件夹

rm -rf -移除文件夹以及其中的所有文件

在Azure中的Ubuntu中安装Open edX的更多相关文章

  1. python中在ubuntu中安装虚拟环境及环境配置

    python中在ubuntu中安装虚拟环境及环境配置 1.升级python包管理工具pip pip install --upgrade pip 备注:当你想升级一个包的时候 `pip install ...

  2. windows 10中的ubuntu子系统安装桌面环境的方法

    windows 10中的ubuntu子系统安装桌面环境的方法 (How to install Ubuntu-desktop in windows 10 Subsystem for Linux) 转载 ...

  3. python编程中在ubuntu中安装虚拟环境及环境配置

    1.升级python包管理工具pip pip install --upgrade pip 备注:当你想升级一个包的时候 `pip install --upgrade 包名` 2.python虚拟环境安 ...

  4. Win7中使用Eclipse连接虚拟机中的Ubuntu中的Hadoop2.4&lt;3&gt;

    经过前几天的学习,基本上能够小试牛刀编写一些小程序玩一玩了,在此之前做几项准备工作 明白我要用hadoop干什么 大体学习一下mapreduce ubuntu重新启动后,再启动hadoop会报连接异常 ...

  5. 如何在 Windows Azure 的虚拟机 ubuntu 上面安装和配置 openVPN(二)

    第二步:登录到虚拟机 一旦创建好虚拟机后,默认azure会打开TCP 22端口,即SSH的端口.所以,我们可以通过远程连接,访问和管理该虚拟机. 首先,下载一个PuTTY软件.该软件很简单,就一个可执 ...

  6. 在VirtualBox中的Ubuntu中添加新硬盘

    步骤如下: 1. 关闭Ubuntu系统,打开VistualBox,"设置"->"存储"->"添加虚拟硬盘" 2. 启动Ubunt ...

  7. 如何在 Windows Azure 的虚拟机 ubuntu 上面安装和配置 openVPN(三)

    第三步:安装openVPN 请打开 ubuntu 官方文档.然后,从上到下,按照步骤,输入执行命令.大家只需要执行到 First trouble shooting 之前即可. 不要怕麻烦,仔细读,一步 ...

  8. 如何在 Windows Azure 的虚拟机 ubuntu 上面安装和配置 openVPN(一)

    这篇文章,既是写给大伙儿的,也是写给自己的.本文要求读者需要有一定的英文基础和动手能力. 因为有MSDN subscriptions,所以每个月有100$可以使用windows azure,于是想尝试 ...

  9. ubuntu中安装visual studio code-(转载)

    在Ubuntu中安装Visual Studio Code 编译自:http://itsfoss.com/install-visual-studio-code-ubuntu/ 作者: Abhishek ...

随机推荐

  1. 【转载】如何在德州仪器网站查找和下载PCB封装

    德州仪器的网站做得相当不错,查找IC资料和下载IC封装样样给力.那么如何在TI网站上能够快速查找到自已需要的PCB封装呢?下面我来告诉你. 1.       在浏览器中输入网址http://weben ...

  2. A-Apple Catching(POJ 2385)

    Apple Catching Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 8759   Accepted: 4264 De ...

  3. Objective-C(NSString、BOOL、多文件开发)

    NSString 表示oc当中的字符串类 %@是oc当中对象的格式符 printf不能打印oc当中的对象 通过stringWithFormat:这个类方法,打印格式化的字符串 例 int a = 10 ...

  4. HTTP 错误 500.22 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置

    答案:在将WebDataHelper升级到VS2013是出现的这个错误,这个程序使用了URL重写的技术, 解决方法是:需要将重写的配置,迁移到system.webServer配置节中

  5. java 面向对象编程--第17章 I/O系统

    1.I/O操作指的是输入和输出流的操作.相对内存而言,当我们从数据源中将数据读取到内存中,就是输入流,也叫读取流.当我们将内存中处理好的数据写入数据源,就是输出流,也叫写入流. 2.流按照内容分类:字 ...

  6. 2440 lcd10分钟休眠修改

    在我们的系统中,LCD的虚拟控制台和控制台TTY不是同一个设备,也就是说,如果在程序里单纯的printf是不行的!这样只能修改你正在使用的TTY的blankinterval,而你用的却是文本方式的设备 ...

  7. 6.1.1Linux下Socket编程

    什么是Socket Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序.要学Internet上的TCP/IP网络编程, ...

  8. Python中的sorted函数以及operator.itemgetter函数 【转载】

    operator.itemgetter函数operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [1,2 ...

  9. 【NOIP2015】提高day2解题报告

    题目: P1981跳石头 描述 一年一度的“跳石头”比赛又要开始了!这项比赛将在一条笔直的河道中进行,河道中分布着一些巨大岩石.组委会已经选择好了两块岩石作为比赛起点和终点.在起点和终点之间,有 N ...

  10. SQLite实现Top功能

    SQlite本身没有top功能,无法向TSQL一样下Select top 100 * from tb_table,但SQLite提供了一个Limit关键字用来取得相应行数的资料 具体语法实例:Sele ...