CloudStack学习笔记-源代码构建

CloudStack是基于Java语言编写的Apache顶级开源项目,这是Java程序员莫大的福音。本文介绍最新版本CloudStack-4.1.1的源代码构建过程。

管理节点所支持的操作系统
  • CentOS 6.3
  • Red Hat Enterprise Linux 6.3
  • Ubuntu 12.04 LTS

支持的Hypervisor家族
  • CentOS 6.2 with KVM
  • Red Hat Enterprise Linux 6.2 with KVM
  • XenServer 6.0.2 (with Hotfix)
  • XenServer 6.1
  • VMware vSphere/Vcenter 5.1

支持的浏览器
  • Internet Explorer 8
  • Firefox 10+
  • Chrome
  • Safari

支持的外部设备
  • F5: 10.1.10 (Build 3341.1084)
  • SRX model srx100b: Must be 10.3 or higher -10.4R7.5
  • Netscaler VPX 9.3, 10.0(Build 54.7.nc and 54.161)
  • Netscaler MPX 10
  • Netscaler SDX 10

代码下载
  • http://cloudstack.apache.org/downloads.html
  • git clone https://git-wip-us.apache.org/repos/asf/cloudstack.git

构建必要条件
  • Maven (version 3)
  • Java (OpenJDK 1.6 or Java 7/OpenJDK 1.7)
  • Apache Web Services Common Utilities (ws-commons-util)
  • MySQL
  • MySQLdb (provides Python database API)
  • Tomcat 6 (not 6.0.35)
  • genisoimage
  • rpmbuild or dpkg-dev

设置用户环境变量
修改~/.bashrc和~/.bash_profile
export M2_HOME=/home/lishuyi/apps/apache-maven-3.0.4
export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CATALINA_HOME=/usr/share/tomcat6
export CLOUDSTACK_HOME=/home/lishuyi/apps/apache-cloudstack-4.1.1-src
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$M2_HOME/bin
export PATH

安装编译环境必备工具及软件
切换至root用户
# yum groupinstall "Development Tools"
# yum install java-1.6.0-openjdk-devel.x86_64 genisoimage mysql mysql-server ws-commons-util MySQL-python tomcat6 createrepo

构建源代码
切换为应用用户
将Release包解压缩到用户当前目录的apps目录下,以当前用户名为lishuyi为例:
$ mv /home/lishuyi/Download/apache-cloudstack-4.1.1.src.tar.bz2   /home/lishuyi/apps
$ cd /home/lishuyi/apps
$ tar -jxvf apache-cloudstack-4.1.1.src.tar.bz2
$ cd $CLOUDSTACK_HOME/packaging/centos63
$ ./package.sh

如果一切顺利,则在$CLOUDSTACK_HOME/dist/rpmbuild/RPMS/x86_64的目录下为生成如下六个安装包:
cloudstack-agent-4.1.1-0.el6.x86_64.rpm
cloudstack-awsapi-4.1.1-0.el6.x86_64.rpm
cloudstack-cli-4.1.1-0.el6.x86_64.rpm
cloudstack-common-4.1.1-0.el6.x86_64.rpm
cloudstack-management-4.1.1-0.el6.x86_64.rpm
cloudstack-usage-4.1.1-0.el6.x86_64.rpm

特别说明
由于CloudStack目前是基于Maven构建,因此除了源代码和Maven的构建文件外,所有的依赖包都需要到网络下载,因此请注意以下三点:
  • 保证源代码构建服务器的网络连通性,尤其是WiFi情况下,经常出现构建失败,可多尝试几次./package.sh碰碰运气
  • 如果构建由于缺失依赖包导致失败,可检查Maven主仓储库是否维护了该依赖包,如果没有可以在第三方仓储库进行查找,并修改Maven的相关配置
  • 如果构建由于缺失依赖包导致失败,而且连第三方仓储库也没有维护,那么必须到浩瀚的互联网进行Download到本地,并且手工安装到Maven主仓储库,这里以jasypt为例说明安装命令:
$ mvn install:install-file -DgroupId=org.jasypt -DartifactId=jasypt -Dversion=1.8 -Dpackaging=jar -Dfile=/home/lishuyi/Download/jasypt-1.8.jar

搭建YUM仓库Apache服务器(root用户)
#vim /etc/httpd/conf/httpd.conf
约在356行,注释UserDir disable,取消UserDir public_html注释,并修改为UserDir /var/www/users/
将约在371行开始,取消Directory注释,如下:
<Directory /var/www/users/*>
      AllowOverride FileInfo AuthConfig Limit
      Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
      <Limit GET POST OPTIONS>
              Order allow,deny
              Allow from all
      </Limit>
      <LimitExcept GET POST OPTIONS>
              Order deny,allow
              Deny from all
      </LimitExcept>
</Directory>
重启Apache
# service httpd restart
详细参考
http://pandaql.blog.51cto.com/465488/327664
http://httpd.apache.org/docs/2.2/urlmapping.html

创建YUM本地仓库(root用户)
# mkdir -p /var/www/users/cloudstack/tmp/repo
# cp $CLOUDSTACK_HOME/dist/rpmbuild/RPMS/x86_64/*rpm  /var/www/users/cloudstack/tmp/repo
# createrepo /var/www/users/cloudstack/tmp/repo/
# touch /etc/yum.repos.d/cloudstack.repo
# vim /etc/yum.repos.d/cloudstack.repo
[apache-cloudstack]
name=Apache CloudStack
baseurl=http://mgmt1.cloudstack.org/~cloudstack/tmp/repo/
enabled=1
gpgcheck=0

重启Apache
# service httpd restart
测试一下http://mgmt1.cloudstack.org/~cloudstack/tmp/repo/能否打开
刷新验证一下仓库
# yum clean all
# yum list
安装非开源组件
CloudStack支持很多商业组件,例如VMware, NetApp, F5, NetScaler, SRX。这些组件由于license问题并没有打包到CloudStack发布包中,必须自己下载以后再进行安装,详细安装过程可参考
http://cloudstack.apache.org/docs/en-US/Apache_CloudStack/4.1.1/html/Installation_Guide/sect-source-nonoss.html
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值