My Aegir-up environment for Commerce Kickstart, with shared platforms folder
Here's how I created my development environment for Commerce Kickstart using Aegir-up. This works in OSX 10.6.8 and Ubuntu 13.04.
- Install drush, drush-hosts, drush-vagrant, aegir-up, Vagrant, and VirtualBox according to the instructions.
- use drush vagrant-build to build your initial environment, as per the instructions.
- Log in with the one-time link it gives you, change your password, and make sure Aegir is operating properly.
- vagrant ssh into your new virtual machine
- edit /etc/apt/sources.list.d/aegir-stable.list and /etc/apt/sources.list.d/drush-stable.list -- replace 'stable' with 'squeeze'
- apt-get update
- apt-get install php5-curl
- Make sure NFS is installed on your host machine. It's included by default on OSX. For Ubuntu or Debian, you'll want to
apt-get install nfs-common nfs-kernel-server
- On the host machine, edit your settings.rb and add a Dir_shared section like this:
Dir_shares = {
"aegir-up" => {
"host_path" => "/whatever/path/on/host/machine",
"guest_path" => "/var/aegir/platforms",
"nfs" => { :nfs => true,
:create => true,
:remount => true,
}
}
} - from ~/vagrant/projects/youraegirbox, do
vagrant reload
- Download the Commons Kickstart package from the project page, extract it into the directory you set as host_path above, and rename the directory as you see fit.
- Log into the Aegir backend, create a Platform pointing at the commerce kickstart package you just extracted (it'll be /var/aegir/platforms/whatever-you-named-it)
- When the Verify task is done, you can Create content and add a Site using the commerce kickstart install profile.
Notes:
There seem to be problems with the current version of Vagrant as of this writing (1.2.7) so make sure you install Vagrant 1.2.3
We've got to edit the apt sources, because they're pointing at 'stable', which is now Wheezy, and the box image is running on the older version, Squeeze. Failing to update these sources will give you unmet dependency errors when you try to install php5-curl.
php5-curl is required for Commerce Kickstart to operate.
The reason we build the box first, and then add the shared folder, is because when Aegir is being installed, it wants to change ownership on a bunch of files. This is not allowed on an NFS share, so the task errors out.
Once you've got this up and running, after installing a new site, the task log will show many warnings about file ownership. This is due to the NFS issue, and can be safely ignored.
#1
I've actually switched away from hosting anything out of the shared platforms directory, as the performance is TERRIBLE. Now, I use the shared platforms directory just as a staging area to get stuff back and forth between the client and host box.