Provision CiviCRM

provision_civicrm helps manage the CiviCRM configurations (installation, upgrade) for Drupal sites managed with Aegir.

Requirements

  • drush_make. Version >= 2.3 is required if you want to download l10n files.

    • c.f. #1134326: Allow a DrushMakeProject to be installed in a non empty directory.
  • provision. Version >= 1.3 is required if you have multi-lingual CiviCRM (which requires triggers/views).

    • See: #881496: Problem migrating sites with mysql views
    • and #1274896: migrate fails if l10n or logging is enabled.

Installation

Download the provision_civicrm module, either:

drush dl provision_civicrm-6.x

or

git clone git://git.drupal.org/project/provision_civicrm

You should install it in ~/.drush/provision_civicrm. The git master branch is usually stable.

Creating a CiviCRM platform

provision_civicrm assumes that if you have a CiviCRM installation in your sites/all/modules/civicrm, then this is a CiviCRM platform and CiviCRM should be installed automatically.

(A cleaner way, in theory, would be to have an install profile and let the user configure it through the front-end, patches welcome! -- however, you do not want any site to simply enable CiviCRM from the Drupal admin/build/modules, so having dedicated platforms for CiviCRM makes sense in any case.)

Here is an example drush_make makefile:

; Drush_make API version
api = "2"

; Drupal core
core = "6.x"
projects[drupal][version] = "6.22"

; CiviCRM core
libraries[civicrm][destination] = "modules"
libraries[civicrm][directory_name] = "civicrm"
libraries[civicrm][download][type] = "get"
libraries[civicrm][download][url] = "http://downloads.sourceforge.net/project/civicrm/civicrm-stable/3.4.4/civicrm-3.4.4-drupal.tar.gz"

; CiviCRM localization files (optional)
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/3.4.4/civicrm-3.4.4-l10n.tar.gz"
libraries[civicrm_l10n][overwrite] = TRUE

; A sample drush makefile is provided with provision_civicrm.

Assuming you are running as the user 'aegir', whose $HOME is /var/aegir/, save this in a file such as ~/makefiles/drupal-6.22-civicrm-3.3.4.make

Then create the new platform:

mkdir ~/platforms/drupal-6.22-civicrm-3.3.4
cd ~/platforms/drupal-6.22-civicrm-3.3.4
drush make ~/makefiles/drupal-6.22-civicrm-3.3.4.make

You can now add your platform in the Aegir front-end and then create new sites.