1 编译Apache CloudStack的先决条件
编译CloudStack所需的先决条件很多,本文假定在Linux系统上编译,使用RPMs包管理。
如下是编译CloudStack的最低需求:
1.Maven (版本 3)
2.Java (Java 7/OpenJDK 1.7)
3.Apache网页服务器常用工具(ws-commons-util)
4.MySQL
5.MySQLdb (提供python数据库API)
6.Tomcat 6 (非 6.0.35)
7.genisoimage
8.rpmbuild 或 dpkg-dev
2 提取的源代码
官方下载地址为:
http://www.apache.org/dyn/closer.cgi/cloudstack/releases/4.4.0/apache-cloudstack-4.4.0-src.tar.bz2
# tar -jxvf apache-cloudstack-4.4.0-src.tar.bz2
你现在可以进入该目录:
# cd ./apache-cloudstack-4.4.0-src
3 从源码编译RPM包
在编译CloudStack之 前需要安装一些先决条件。这里假设你使用的是64位的CentOS或Red Hat Enterprise Linux.
# yum groupinstall "Development Tools"
# yum install java-1.7.0-openjdk-devel.x86_64 genisoimage mysql mysql-server ws-commons-util MySQL-python tomcat6 createrepo
接下来,你将需要安装编译CloudStack时依赖的Maven。 使用 Maven 3, 所以你需要 提取 Maven 3 压缩包并解压到你的主目录 (或任何你喜欢的目录)
Maven3下载地址http://maven.apache.org/download.cgi
<span style="font-size:18px;"><span style="color:#FF0000;"><strong># tar zxvf apache-maven-3.2.3-bin.tar.gz</strong>
</span>配置maven路径:
<strong><span style="color:#FF0000;"># vi /etc/profile</span></strong></span>
将export PATH=/usr/local/apache-maven-3.2.3/bin:$PATH 添加到文件最后;
Maven还需要知道Java程序路径,和JAVA_HOME环境变量输出的设置:
将export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.65.x86_64添加到文件的最后
然后使配置立即生效
# source /etc/profile
注意看清jdk的版本,亲自到/usr/lib/jvm…………路径下看看。
验证Maven是否被正确安装:
#mvn –-version
验证Java 是否被正确安装:
#java -version
4.生成RPM包
现在我们已经满足先决条件和源码,然后进入cloudstack的源文件的 packaging/centos63/ 目录。
# cd packaging/centos63
使用 package.sh 脚本生成RPM包:
# ./package.sh
注意:
如果在执行./package.sh报出了Permission denied,其实很简单,就是用户没有权限,而导致无法执行,用命令chmod 修改一下bin目录下的.sh权限就可以了如chmod u+x *.sh,再次执行,OK了。
这会需要一些时间,生成的软件包会在 dist/rpmbuild/RPMS/x86_64/ 目录中。
你应该看到目录中的RPM包
cloudstack-agent-4.4.0.el6.x86_64.rpm
cloudstack-awsapi-4.4.0.el6.x86_64.rpm
cloudstack-cli-4.4.0.el6.x86_64.rpm
cloudstack-usage-4.4.0.el6.x86_64.rpm
cloudstack-management-4.4.0.el6.x86_64.rpm
cloudstack-common-4.4.0.el6.x86_64.rpm
cloudstack-baremetal-agent-4.4.0-SNAPSHOT.el6.x86_64.rpm
附录1:
非开源软件依赖(该步骤可承接在第三步下面)如果你需要支持VMware、NetApp、F5、NetScaler、SRX等非开源软件,由于它们可能使用了非开源或者与Cloudstack协议不兼容的依赖,你需要手动下载这些jar包或文件到Cloudstack 源代码根目录的deps文件夹
cloud-iControl.jar
#wget http://zooi.widodh.nl/cloudstack/build-dep/cloud-iControl.jar
cloud-manageontap.jar
#wget http://zooi.widodh.nl/cloudstack/build-dep/cloud-manageontap.jar
vmware-vim.jar
#wget http://zooi.widodh.nl/cloudstack/build-dep/vmware-vim.jar
vmware-vim25.jar
#wget http://zooi.widodh.nl/cloudstack/build-dep/vmware-vim25.jar
vmware-apputils.jar
#wget http://zooi.widodh.nl/cloudstack/build-dep/vmware-apputils.jar
cloud-netscaler.jar,cloud-netscaler-sdx.jar
#wget http://zooi.widodh.nl/cloudstack/build-dep/cloud-netscaler-jars.zip
# cd deps
# mv cloud-manageontap.jar manageontap.jar
# mv vmware-apputils.jar apputils.jar
# mv vmware-vim.jar vim.jar
# mv vmware-vim25.jar vim25_51.jar
# unzip cloud-netscaler-jars.zip
对于4.2及以上版本,需要下载最新的Vmware5.1SDK
(https://my.vmware.com/group/vmware/get-download?downloadGroup=VSP510-WEBSDK-510下载需先注册),下载完后,解压到一个临时文件夹,在/SDK/vsphere-ws/java/JAXWS/lib路径下找到 vim25.jar,将该文件重命名为vim25_51.jar 放到deps文件夹下,替换掉vim25_51.jar文件。
并执行install-non-oss.sh脚本
#./install-non-oss.sh
BUILDSUCCESS
切换到cloudstack源代码根目录,使用maven编译
# mvn clean
# mvn install –Dnoredist如果最终出现BUILD SUCCESS,则成功
现在我们已经满足先决条件和源码,然后进入packaging/centos63/ 目录。
$cd packaging/centos63
使用 package.sh 脚本生成RPM包:
$./package.sh
编译成功后,在dist/rpmbuild/RPMS/x86_64/可以看到如下7个rpm文件
cloudstack-agent-4.4.0.el6.x86_64.rpm
cloudstack-awsapi-4.4.0.el6.x86_64.rpm
cloudstack-cli-4.4.0.el6.x86_64.rpm
cloudstack-usage-4.4.0.el6.x86_64.rpm
cloudstack-management-4.4.0.el6.x86_64.rpm
cloudstack-common-4.4.0.el6.x86_64.rpm
cloudstack-baremetal-agent-4.4.0-SNAPSHOT.el6.x86_64.rpm
5.建立本机的CloudStack yum源
#mkdir -p /usr/tmp/repo
将上面生成的 *rpm文件复制到/usr/tmp/repo文件夹下
# cp dist/rpmbuild/RPMS/x86_64/*rpm /usr/tmp/repo
# createrepo /usr/tmp/repo //建立下载源的配置 配置你的系统使用新的yum仓库 现在你的yum仓库中拥有了RPM包和元数据,我们为需要安装CloudStack的机器创建一个名为“/etc/yum.repos.d/cloudstack.repo”的文件,内容如下: [apache-cloudstack] name=Apache CloudStack baseurl=file:///usr/tmp/repo enabled=1 gpgcheck=0 注解: file:// 代表本机 完成这一步,您可以轻松地在整个网络中的机器上安装CloudStack。# yum clean all
设置好源以后,我们就可以直接使用 yum安装了,非常简单方便。 安装管理节点的命令为
# yum install cloudstack-management
附录2:CloudStack4.4 安装:
http://wenku.baidu.com/link?url=nv6uB2zk2PkfFFr_IhBE7nuAO0qNTHYyVO15NOZDgw59mF6fte1TyjtZXSSMQfU5jwgLGTqRclfK-P-zNG-bPp5TnmMdrlYV9hiia226Ddu
附录3:CloudStack4.4 在windows开发环境配置
http://wenku.baidu.com/view/141e06b633d4b14e852468fe.html