本帖最后由 desehawk 于 2015-1-20 11:39 编辑
问题导读
1.从源码安装会遇到什么问题?
2.如何通过PPA源安装?
3.本文提供了几种安装方式?
上周尝试通过从源码构建的方式在Ubuntu10.04.4 LTS上安装CloudFoundry Server,虽然最后成功了,但是过程及其艰辛,一波N折,花了很长的时间。
在这个过程中要下载、编译、安装很多的软件包,有几个G吧,非常耗时。还有些东西得FQ才能下载(eg:rubygems.org),在国内,你懂的。
从源码安装
从源码安装”比较简单“,只需要一个命令,然后你就把电脑放那等着吧:
- sudo apt-get install curl
- bash < <(curl -s -k -B https://raw.github.com/cloudfoundry/vcap/master/dev_setup/bin/vcap_dev_setup)
复制代码
中间可能会发现这个命令卡在那里不动没有进度了,恭喜你,我们伟大的GFW开始调戏你了。这主要是因为rubygems.org被墙了(CloudFoundry是用Ruby开发的),这时你有两种选择:
一个是给dev_setup设置代理,有两种方法:
方法1 使用-p参数
- ~/vcap_dev_setup -p http://username:password@host :port/
复制代码
方法2 设置http_proxy环境变量
- export http_proxy="http://username:password@host :port/"
复制代码
另一个就是替换rubygems镜像站点,为了解决这个问题,淘宝提供了国内的rubygems镜像站点:http://ruby.taobao.org/,感谢淘宝!具体怎么使用,到淘宝镜像站点上看。
我用的是代理。不过用代理会在中间下载一些东西时会出现证书错误,git和pycurl都会出错,还得切换回不使用代理。(注:git可以通过命令git config –global http.sslverify false来关闭ssl验证)
通过PPA源安装
后来google了一下,发现CloudFoundry也有PPA源,这下方便多了,虽然PPA源的下载速度之慢用过的都知道,但总比从源码安装要下载的文件小得多(加上一些依赖几百M),速度慢之类的也还好解决
添加PPA源并安装cloudfoundry-server
- sudo apt-add-repository ppa:cloudfoundry/ppa
- sudo apt-get update
- sudo apt-get install cloudfoundry-server
复制代码
(注:此PPA源只有11.10的软件包,如果需要在其他版本ubuntu上安装,请使用daily源: ppa:cloudfoundry/daily)
安装过程中会让你输入一些MySQL密码之类的信息。如果你的网速给力的话10分钟应该就可以安装好。
后面测试的时候还会用到客户端:
- sudo apt-get install cloudfoundry-client
复制代码
测试:
1.首先设置hosts:
- echo "127.0.0.1 api.vcap.me env.vcap.me" | sudo tee -a /etc/hosts
复制代码
2.把vmc的target指向本地vcap服务器:
- $ vmc target api.vcap.me
- Succesfully targeted to [http://api.vcap.me]
复制代码
3.添加用户:
- $ vmc add-user
- Email: kirkland@example.com
- Password: ********
- Verify Password: ********
- Creating New User: OK
- Successfully logged into [http://api.vcap.me]
复制代码
4.登陆:
- $ vmc login
- Email: kirkland@example.com
- Password: ********
- Successfully logged into [http://api.vcap.me]
复制代码
5.部署应用(helloword):
创建应用程序目录(env)
复制代码
把下面内容保存为一个ruby文件(env.rb)
- require 'rubygems'
- require 'sinatra'
-
- get '/' do
- host = ENV['VCAP_APP_HOST']
- port = ENV['VCAP_APP_PORT']
- "<h1>XXXXX Hello from the Cloud! via: #{host}:#{port}</h1>"
- end
-
- get '/env' do
- res = ''
- ENV.each do |k, v|
- res << "#{k}: #{v}<br/>"
- end
- res
- end
复制代码
创建并上传App
- vmc push env --instances 4 --mem 64M --url env.vcap.me -n
复制代码
浏览器访问App:
复制代码
查看App状态:
复制代码
你会看到类似下面结果:
- +-------------+----+---------+-------------+----------+
- | Application | # | Health | URLS | Services |
- +-------------+----+---------+-------------+----------+
- | env | 1 | RUNNING | env.vcap.me | |
- +-------------+----+---------+-------------+----------+
复制代码
[教程完]
VmWare的CloudFoundry还是挺强大的,开发工具,文档也还算全面。客户端可以用命令行的vmc,也有eclipse插件可以用。不过毕竟现在处于Beta阶段还是有不少地方需要改进的。
|