Installing CiviCRM SVN trunk with Aegir (on Debian/Ubuntu)

To install the latest SVN trunk version using Aegir (and provision_civicrm), the process is rather equivalent to the usual CiviCRM installation, except that you have to run "GenCode" (more on that later). The following instructions are for Debian/Ubuntu, mainly because installing Aegir on those environments is easier.

Aegir installation

Check the official installation instructions for more information. In a nutshell:

Add the following package repositories to your /etc/apt/sources.list:

deb http://debian.aegirproject.org stable main
deb http://backports.debian.org/debian-backports squeeze-backports main

Update the package database:

apt-get update

Install Drush and Aegir:

apt-get install -t squeeze-backports drush
apt-get install aegir
apt-get install sudo

There is a known bug in Aegir 1.4: if you had an issue with the drush_make installation, you can manually install it in /var/aegir/.drush/drush_make :

su - aegir
drush dl drush_make-6.x-2.3 --destination=~/.drush

Then continue the Aegir installation if it had failed:

apt-get -f install

Configure sudo so that your user can sudo to the aegir user easily. If you are running Debian "squeeze" or later, you can add the following to a file such as /etc/sudoers.d/aegir-local (otherwise, use "visudo" to add to the main sudo config file):

your-username-here ALL=(aegir) NOPASSWD: ALL

Installation of provision_civicrm

For the moment there are no regular releases of provision_civicrm, so doing a git checkout is recommended:

su - aegir
cd /var/aegir/.drush/
git clone --branch 6.x-1.x git://git.drupal.org/project/provision_civicrm

Create a new Aegir platform

Here is a sample drush make "makefile" for creating the platform (i.e. code base):

; drush make API version
api = 2

; Drupal core
core = 7.x

; Download Drupal core
projects[] = drupal

; Modules
projects[admin_menu][subdir] = contrib
projects[admin_menu][version] = 3.0-rc1

projects[devel][subdir] = contrib
projects[devel][version] = 1.2

projects[views][subdir] = contrib
projects[views][version] = 3.0-rc1

projects[ctools][subdir] = contrib
projects[ctools][version] = 1.0-rc1

projects[webform_civicrm][subdir] = contrib
projects[webform_civicrm][version] = 2.0

; Download CiviCRM from SVN
libraries[civicrm][type] = "module"
libraries[civicrm][destination] = "modules"
libraries[civicrm][directory_name] = "civicrm"
libraries[civicrm][download][type] = "svn"
libraries[civicrm][download][url] = "http://svn.civicrm.org/civicrm/trunk"

libraries[civicrm_l10n][destination] = "modules"
libraries[civicrm_l10n][directory_name] = "civicrm"
libraries[civicrm_l10n][download][type] = "get"
libraries[civicrm_l10n][download][url] = "http://downloads.sourceforge.net/project/civicrm/civicrm-stable/4.0.7/civicrm-4.0.7-l10n.tar.gz"
libraries[civicrm_l10n][overwrite] = TRUE

Save this in a file such as /var/aegir/makefiles/civicrm-4-svn.make

Run drush make to create the platform:

sudo -i -u aegir
mkdir ~/platforms/civicrm-4-svn-2011-10-26
cd ~/platforms/civicrm-4-svn-2011-10-26
drush make --working-copy ~/makefiles/civicrm-4-svn.make

The "--working-copy" parameter tells drush make to keep the ".svn" (or .git) files, so that you can use the platform for development.

Run GenCode

cd ~/platforms/civicrm-4-svn-2011-10-26/sites/all/modules/civicrm/xml
php GenCode.php schema/Schema.xml

Add the platform to the Aegir front-end

  • Create content -> Platform
    • Enter a name, e.g. "CiviCRM SVN 2011-10-26"
    • Path: /var/aegir/platforms/civicrm-4-svn-2011-10-26

You are now ready to create sites.

Tag: