圣凤凌霜 发表于 2015-10-13 13:35:17

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 clonehttps://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_profileexport M2_HOME=/home/lishuyi/apps/apache-maven-3.0.4export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport CATALINA_HOME=/usr/share/tomcat6exportCLOUDSTACK_HOME=/home/lishuyi/apps/apache-cloudstack-4.1.1-srcPATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$M2_HOME/binexport PATH
安装编译环境必备工具及软件切换至root用户# yum groupinstall "Development Tools"# yum install java-1.6.0-openjdk-devel.x86_64 genisoimagemysql mysql-server ws-commons-util MySQL-python tomcat6createrepo
构建源代码切换为应用用户将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.rpmcloudstack-awsapi-4.1.1-0.el6.x86_64.rpmcloudstack-cli-4.1.1-0.el6.x86_64.rpmcloudstack-common-4.1.1-0.el6.x86_64.rpmcloudstack-management-4.1.1-0.el6.x86_64.rpmcloudstack-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
    OptionsMultiViews 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.iyunv.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.reponame=Apache CloudStackbaseurl=http://mgmt1.cloudstack.org/~cloudstack/tmp/repo/enabled=1gpgcheck=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             版权声明:本文为博主原创文章,未经博主允许不得转载。
页: [1]
查看完整版本: CloudStack学习笔记-源代码构建