Support #427
Updated by Daniel Curtis over 10 years ago
This guide is building the Zimbra Collaborative Suite 8.0.8 Open Source Edition on an Ubuntu 14.04 x64 virtual machine with 1GB of RAM. h2. Initial Setup * Install git: <pre> apt-get install git </pre> * Obtain the git ssh access keys: <pre> mkdir -p /tmp/zimbra-git cd /tmp/zimbra-git wget http://files2.zimbra.com/downloads/git-fusion/zimbra-git-ssh.tgz tar xfz zimbra-git-ssh.tgz </pre> * Add the access keys to your own user account: <pre> cd ~/.ssh cp /tmp/zimbra-git/id_rsa_git* . </pre> * Add the following @~/.ssh/config@. Create the file if it doesn't exist: <pre> Host zimbra-git User public Hostname git.zimbra.com IdentityFile ~/.ssh/id_rsa_git IdentitiesOnly yes Port 1067 </pre> * Ensure the permissions on the config file are correct <pre> chmod 600 ~/.ssh/config </pre> h2. Obtaining the source to Zimbra Collaboration Suite The source code for ZCS is retrieved from git.zimbra.com as described above. * To obtain the source: <pre> mkdir -p ~/git cd ~/git git clone git@zimbra-git:zimbra-foss </pre> h3. Source for the "main" branch * main is the development branch. The 'main' branch, (often referred to as mainline) contains the latest code - if your interested in seeing pre-release software check it out. It is constantly in flux (for instance we might stagger spec files to avoid the need to always rebuild ThirdParty), if you're hitting a error in the Zimbra build side the first thing to do is re-sync, as we typically resolve these fast. +It is the default branch in use after doing a checkout of zimbra-foss+ h3. Listing available branches * The zimbra-foss repo contains all the available release branches. You can obtain a list of the branches via: <pre> git branch -a </pre> > *! main-foss > remotes/origin/HEAD -> origin/main-foss > remotes/origin/frank-foss > remotes/origin/franklin-5010-foss > remotes/origin/franklin-5011-foss > remotes/origin/franklin-5012-foss > remotes/origin/franklin-5013-foss > remotes/origin/franklin-5014-foss > remotes/origin/franklin-5015-foss > remotes/origin/franklin-5016-foss > remotes/origin/franklin-5017-foss > remotes/origin/franklin-5018-foss > remotes/origin/franklin-5019-foss > remotes/origin/franklin-5020-foss The branch with a * in front of it is your active checkout. h3. Changing the active checkout To change the active branch, you use the git checkout command, and supply the release you are interested in. * For example, to switch to the IRONMAIDEN 8 release branch, one would execute: <pre> cd ~/git/zimbra-foss git checkout ironmaiden-foss </pre> h3. Updating an existing clone * To update an already existing clone: <pre> cd ~/git/zimbra-foss git pull </pre> h2. Building Zimbra Collaboration Server To build Zimbra Collaboration Server, the "buildZCSH.sh" script can be used, that is located in the ZimbraBuild directory after the checkout completes. * The first time you go to build, it is recommended to execute: <pre> cd ~/git/zimbra-foss/ZimbraBuild ./buildZCS.sh -t -u </pre> This will help you through adding Ant & JDK, check dependencies, build ThridParty using a public CPAN mirror for Perl, then start the ZCS build process. It requires sudo access to install the various required binaries and libraries for build (The -u option). If the server already has the various required binaries and libraries installed, then: <pre> cd ~/git/zimbra-foss/ZimbraBuild ./buildZCS.sh -t </pre> h2. Install JDK 7 * Install some prerequisites: <pre> sudo apt-get install software-properties-common python-software-properties </pre> * Install the Java Development Kit 7: <pre> sudo apt-get install openjdk-7jdk </pre> h2. Install Apache Ant * Install the eclipse ppa and apache ant: <pre> sudo add-apt-repository ppa:eclipse-team/debian-package sudo apt-get install ant update </pre>