CiviCRM and Aegir

Published
2010-05-02 15:11
Written by
Over the first three days of the code sprint, we got through most of the tasks to be done. So, on the last day it was decided that some time could be allocated to something different, taking advantage of developpers from different continents being together. Three of us spent a few hours working on coding a way to deploy CiviCRM site with Aegir. Aegir is an installation profile and a group of modules (mostly hosting and provision, along with drush) that make it possible to provision (install, update, clone, backup, etc.) new Drupal sites with the click of a button. Leveraging this system for CiviCRM will have great benefits: making installation quick and easy for non-technical users, keeping the Drupal and CiviCRM installations up to date more easily, which improves security. Being able to quickly install a new site (or clone an existing one) also helps developpers, who can more easily test bug fixes or do a "dry-run" before upgrading a site. In my day job at Koumbit, we maintain an increasing number of sites using Aegir, a bunch of them using CiviCRM. I had already started working on an extension to provision that would be able to deploy CiviCRM, when it was brought to my attention that Deepak had just published a Drush script for CiviCRMdrush extension for CiviCRM. The code sprint was an occasion to collaborate with both Deepak and Wes Morgan while having Antoine Beaupré (a fellow Koumbiteer and a member of Aegir's development team) on irc. All of us worked on refactoring the CiviCRM install code and a new drush extension, taking advantage of provision's features. We worked on it the whole afternoon, and thus were able to demo Aegir installing a CiviCRM site at the after dinner show-and-tell! This sprint made it possible to do it all in a day. The CiviCRM Aegir integration stands out as a great example of the synergy created by an international code sprint, like the one we have just completed. If you feel like playing with Aegir yourself (and hopefully helping improve our work), here's what you'll need: As Aegir requires a web server, an sql server and drush, installing all of this is definitely more for the technically-oriented person. Wes had to work a fair bit to install it and submitted a patch for what needs to be adapted for OS X. The code, in it's current state, is able to install new CiviCRM sites, but work is still needed to make the migration, clone and upgrades working. Deepak has some, if not most of the code to do this, but it still needs to be checked into the subversion repository.
Filed under

Comments

Zachary (not verified)
2010-05-05 - 16:19

This is awesome. Upgrading/Installing CiviCRM takes the most time. Would be nice to have a CiviCRM install profile, or an ability to "roll this out" in an automated way to clients.

Totally awesome.

StewartM (not verified)
2011-05-18 - 16:45

In reply to by Zachary (not verified)

I am trying to use this unsuccessfully with Drupal 7 using current versions of Drush, Aegir (1.1) & PHP 5.3 (Ubuntu 10.4 server).

Perhaps an update ... would be a appreciated.