基于Ubuntu虚拟机安装edx-platform
一. 前提准备
1. 虚拟机中安装Ubuntu12.04,然后再使用Vagrant方式搭建开发环境,请确保这个虚拟机可以使用2GB的内存,否则容易IO Error。
2. 建议用VirtualBox 4.2.12,Vagrant 可以用最新版。
二. 安装软件
三. 安装edx-platform
1. 本地创建edx目录,下载Ubuntu X86虚拟机放到此目录
2. 命令行模式进入edx目录,执行 : vagrant init
自动生成Vagrantfile文件。用本文编辑器修改如下:
# -*- mode: ruby -*-
# vi: set ft=ruby :
Vagrant.configure("2") do |config|
config.vm.box = "edx_platform_precise32"
#注意,此处要指向虚拟机文件
config.vm.box_url = "precise32.box"
config.vm.network :forwarded_port, guest: 8000, host: 8000
config.vm.network :forwarded_port, guest: 9000, host: 9000
# Create a private network, which allows host-only access to the machine
# using a specific IP.
config.vm.network :private_network, ip: "192.168.20.40"
nfs_setting = RUBY_PLATFORM =~ /darwin/ || RUBY_PLATFORM =~ /linux/
# Make it so that network access from the vagrant guest is able to
# use SSH private keys that are present on the host without copying
# them into the VM.
config.ssh.forward_agent = true
config.vm.provider :virtualbox do |vb|
# Use VBoxManage to customize the VM. For example to change memory:
vb.customize ["modifyvm", :id, "--memory", "2048"]
# This setting makes it so that network access from inside the vagrant guest
# is able to resolve DNS using the hosts VPN connection.
vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
end
end
注意:
我用LMS端口是8000, CMS端口是9000,不是默认的8000, 8001
3. 启动虚拟机,命令行执行 : vagrant up
4. 启动Putty, 登录 192.168.20.40:22
账号 : vagrant
密码:vagrant
5. 修改 sourcelist,否则后面的安装都从美国服务器下载,巨慢无比,哥刚开始下了一天啊,还没有下载完,还经常重新下载,坑爹啊~
#备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.old
sudo gedit /etc/apt/sources.list
6. 安装Git
sudo apt-get install git
7. 创建edx目录
sudo mkdir /opt/edx
cd /opt/edx
8. 克隆edx-platform,等吧,下载200M左右,此处可以上个洗手间。
git clone https://github.com/edx/edx-platform.git
9. 修改权限, 否则后边会报错说目录属性不对。
sudo chown vagrant:vagrant /opt/edx -R
10. 卸载系统默认的1.6.1版本的numpy,prev.txt里面说必须要安装1.6.2版本,否则后面会rake报如下错误:
vagrant@precise32:/opt/edx/edx-platform/scripts$ rake lms
(in /opt/edx/edx-platform)
rake aborted!
./rakelib/helpers.rb:61: syntax error, unexpected tIDENTIFIER, expecting tAMPER
pid = Process.spawn({}, *command, spawn_opts)
查看numpy版本可以用 pip freeze | grep numpy
#卸载numpy 1.6.1
sudo apt-get remove numpy
#安装numpy 1.6.2
sudo pip install --upgrade numpy==1.6.2
11. 编辑 requirements/base.txt , 找到“polib = 1.0.3" ,把这一行注释掉;
12. 编辑 scripts/create_dev_env.sh文件,找到
”pip install -r $BASE/edx-platform/requirements/edx/pre.txt“,在后面添加一行
”pip install http://bitbucket.org/izi/polib/get/1.0.3.tar.gz“
*** 原因:polib依赖项经过pypi的解析得到的下载地址是:http://bitbucket.org/izi/polib/downloads/polib-1.0.3.tar.gz
但是在天朝,这个地址上访问不上的,然而前面的downloads是可以的,polib是必须的依赖项,所以只能是使用变相的方式将其安装上去。
错误如下:
Error timed out while getting http://bitbucket.org/izi/polib/downloads/polib-1.0.3.tar.gz (from https://pypi.python.org/simple/polib/)
Exception:
13. 编辑 rakelib/prereqs.rake, 修改pre.txt, base.txt, post.txt 安装如下:增加sudo, 否则后面会报权限不够错误, 同时去掉无效参数。
sh('sudo pip install -r requirements/edx/pre.txt')
sh('sudo pip install -r requirements/edx/base.txt')
sh('sudo pip install -r requirements/edx/post.txt')
14. 开始安装,下载一堆升级包,这时候你就指导第5步的重要性,但是还要等待很长时间,此处可以吃个饭。
如果出错,重新运行create-dev-env.sh,已安装的文件不会再安装。
./scripts/create-dev-env.sh
15. 运气好的话可以看到Success, 接着可以编译lms 每个命令都下载一堆升级包,编译一大坨文件,此处可以喝杯咖啡。
如果出错,重新运行命令,已安装的文件不会再安装。
#注意:必须用sudo,否则会有权限错误,用cms的课程,必须用cms.dev编译
sudo rake lms[cms.dev,0.0.0.0:8000]
16. 继续编译 cms,接着等,此处可以上个洗手间或再来一杯咖啡,或同时来。
#使用dev环境
sudo rake cms[dev,0.0.0.0:9000]
17. 创建管理员账号
rake django-admin["createsuperuser"]
按照提示创建管理员账号
18. 最终可以访问服务了,可以自己注册账号,但是账号都没有激活而且也不会发激活邮件,要用管理员在后台去激活。
如果vagrant端口映射正确, localhost也可以访问
建议用Chrome, Firefox, IE10以上版本浏览器访问, IE7/8/9不兼容
19. 后台管理网址,用第18步创建的管理员账号登录,随便玩吧~
四. 其他:
1. 如果要把VirtualBox虚拟机制作vagrant 包,可以用如下命令
vagrant package --output ubuntu_32.box --base vagrant-precise32
2. Windows 操作系统的文件夹中打开命令行:
Shift + 鼠标右键点击,在此处打开命令窗口。
五. 参考文档:
补充:
如果要安装Comment_Services, 必须要安装 Ruby 1.9.3, 详细安装请参考
- 基于VirtualBox虚拟机安装Ubuntu教程
基于VirtualBox虚拟机安装Ubuntu图文教程 一. 下载安装VirtualBox 官网下载VirtualBox,目前版本:VirtualBox 6.0.4 for Windows hosts ...
- windows系统中ubuntu虚拟机安装及web项目到服务上(一)
一:ununtu虚拟机安装 安装vm, 桥接,换国内源,安装ssh 服务 装jdk,装tomcat,装mysql, 部署,完成 主要用到的软件工具 Xmanager Enterprise 4,VMwa ...
- Ubuntu 虚拟机安装几点细节整理
虚拟机或者Wubi安装其实都挺简单的,这里还是再次总结下,给遇到麻烦的同学一点参考. 虚拟机安装 虚拟机直接通过新建-标准-选择镜像,Vmware能够自动识别镜像并进行Easy Install安装,E ...
- ubuntu虚拟机安装简单pxe服务器
安装环境: vmware2台虚拟机,一台用来做pxe服务器(安装tftp.dhcp.apache2等服务),另一台用来做安装测试. 虚拟机的网络配置:dhcp的虚拟网络为192.168.10.100/ ...
- Ubuntu虚拟机安装VMware Tools
前言 在用VMware安装好Linux虚拟机后,发现在虚拟机下安装的Ubuntu16.04 64位无法进入全屏模式,同时存在物理机和虚拟机之间无法实现文件传输的问题,通过安装VMware Tools得 ...
- ubuntu 虚拟机安装vmware tools
1.打开ubuntu虚拟机,点击“虚拟机”---> "安装 vmware tools" 2.进入vmware tools光盘,将VMwaretools压缩包复制粘贴到桌面 ...
- ubuntu虚拟机安装ssh教程
大家好,这期给大家带来一期Ubuntu虚拟机中ssh的安装教程,话不多说,开整 第一步:输入su后输入密码进入root权限 第二步:在管理员模式下运行apt-get install openssh-s ...
- windows系统中ubuntu虚拟机安装及web项目到服务上(三)
项目在ubuntu虚拟机下的部署 一:将war从本地通过Xftp 4 传到虚拟机tomcat目录下的webapps目录下 2:修改tomcat下的server.xml <Host name=& ...
- VMware Ubuntu 虚拟机安装 VMwareTools (VMware虚拟机如何与主机互相复制文件)
1.关闭虚拟机 2.CD-ROM开机连接取消对号 3.开启虚拟机 4.此时可能提示安装,点击即可 或者在VMware上方选择 :虚拟机 → 安装VMware Tools 5.虚拟机桌面会弹出相应安装包 ...
随机推荐
- Cocos2dx-3.0版本 从开发环境搭建(Win32)到项目移植Android平台过程详解
作为重量级的跨平台开发的游戏引擎,Cocos2d-x在现今的手游开发领域占有重要地位.那么问题来了,作为Cocos2dx的学习者,它的可移植特性我们就需要掌握,要不然总觉得少一门技能.然而这个时候各种 ...
- 30 分钟快快乐乐学 SQL Performance Tuning
转自:http://www.cnblogs.com/WizardWu/archive/2008/10/27/1320055.html 有些程序员在撰写数据库应用程序时,常专注于 OOP 及各种 fra ...
- 吉日嘎拉DotNet.BusinessV4.2中的一处bug,及我的修复和扩展
bug所在位置:DotNet.Business\Utilities\BaseManager.GetDataTableByPage.cs的函数 public virtual DataTable GetD ...
- chrome修改UserAgent,调试
chrome浏览器模拟 UserAgent,调试手机环境. https://chrome.google.com/webstore/detail/user-agent-switcher-for-c/dj ...
- 360 webscan中防注入跨站攻击的核心
//get拦截规则 $getfilter = "\\<.+javascript:window\\[.{1}\\\\x|<.*=(&#\\d+?;?)+?>|< ...
- git本地提交项目到你的github
第一步:建立git仓库(若已经创建则跳过该步) cd到你的本地项目根目录下,执行git命令 git init 第二步:将项目的文件添加到仓库中 git add fileName 如果想添加本次仓库中的 ...
- 【FFmpeg】ffplay播放rtsp视频流花屏问题
问题描述:ffplay播放rtsp视频流时,播放过程中随机出现花屏现象. 基本流程学习:阅读ffplay源码,熟悉其播放rtsp视频流的基本流程. 在ffplay源码阅读和分析的基础上,画出了其播放r ...
- velocity merge作为工具类从web上下文和jar加载模板的两种常见情形
很多时候,处于各种便利性或折衷或者通用性亦或是限制的原因,会借助于模板生成结果,在此介绍两种使用velocity merge的情形,第一种是和spring mvc一样,将模板放在velocityCon ...
- TeamCity配置笔记
1.编译sln 2.发布网站 3.重复代码检测 4.代码分析 5.单元测试&覆盖率测试 查看代码覆盖率 7.代码签入时自动触发编译 8.通知 1.在teamcity安装目录中找到TrayNot ...
- Sublime Text3 快捷键汇总
Ctrl+D 选词 (反复按快捷键,即可继续向下同时选中下一个相同的文本进行同时编辑)Ctrl+G 跳转到相应的行Ctrl+J 合并行(已选择需要合并的多行时)Ctrl+L 选择整行(按住-继续选择下 ...