Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Collection of recipes to deploy Aegir hosting system with Chef

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 attributes
Octocat-spinner-32 files
Octocat-spinner-32 recipes
Octocat-spinner-32 .ruby-version
Octocat-spinner-32 Gemfile
Octocat-spinner-32 Gemfile.lock
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 Vagrantfile
Octocat-spinner-32 metadata.rb
README.md

Aegir Cookbook

The Aegir is a hosting system for deploying and managing large networks of Drupal sites. This collection of recipes automate Aegir setup.

Installation

Run the following commands with-in your Chef Repository:

knife cookbook site install aegir
knife cookbook upload aegir

Usage

Define the Chef Roles with corresponding recipes:

# roles/web.rb
name "web"
run_list "recipe[aegir]"
default_attributes "aegir" => {
  "client_email" => "admin@example.com", # default client
  "frontend" => "launchpad.example.com" # aegir frontend
}

# roles/db.rb
name "db"
run_list "recipe[mysql::server]", "recipe[aegir::secure_mysql]"
default_attributes "mysql" => {
  "bind_address" => "127.0.0.1"
}

And then bootstrap Aegir on a single Rackspace Cloud Servers instance with:

knife rackspace server create 'role[app],role[db]' --server-name drupalbox --image 49 --flavor 3

You can also bootstrap database on a different node, see Launch Cloud Instances with Knife for the reference.

Hacking

The project comes with a helper tasks for bootstraping recipes in a sandbox environment:

bundle install
bundle exec rake sandbox:init
bundle exec rake sandbox:up

See complete list of the tasks available with:

bundle exec rake -T

Make sure nginx listening on the proper interface:

bundle exec rake sandbox:ssh
sudo -i
vim /var/aegir/config/server_master/nginx/vhost.d/localhost
service nginx restart

NOTE: The sandbox environment depends on VirtualBox thru the Vagrant project. Please check Vagrant manual and make sure you've correct version of VirtualBox installed.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request
Something went wrong with that request. Please try again.