AEgirMaintain your Drupal sites
The name: AEgir
“In Norse mythology, AEgir was the god of the oceans and if Drupal is a drop of water, AEgir is the deity of large bodies of water.”
groups.drupal.org
AEgir History
Originally a module called Hostmaster
First gained popularity at DrupalCon Paris (Sept 2009)
http://groups.drupal.org/aegir
#AEgir on IRC
What AEgir does for youAEgir gives users a point and click interface to
Create sites quickly
Run cron for all sites it manages
Backup and restore
Easily upgrade/migration sites (including 5 -> 6)
Clone a site
All in the same place!
What AEgir is made ofNote: AEgir is neither a module nor a distribution
Group of modules
Hostmaster
Provision
Drush
A custom theme named Eldir
Run on a specific server setup
Drush: (Very) Quick Tour
Stands for DRUpal SHell
A command line shell interface to Drupal
Allows an administrator to execute commands against a Drupal site without opening a browser
Multi-Site Drupal
“Multi-site allows you to share a single Drupal installation (including core code, contributed modules, and themes) among several sites.” - d.o
Each site gets a directory in the sites/ directory
Each site has its own database, therefore its own content/users/settings/etc.
Only upgrade the code once
Multi-Site Drupal
DrupalDrupal
allall SiteA.coSiteA.comm
SiteB.coSiteB.comm/SITES/
/
Modules/Modules/ Modules/Modules/ Modules/Modules/
Themes/Themes/ Themes/Themes/ Themes/Themes/
AEgir term: Platform
Each instance of a Drupal core is a platform
AEgir manages multiple platforms
Sites can be quickly moved between platforms
AEgirAEgir
PlatformPlatform(Drupal 6.16)(Drupal 6.16)
PlatformPlatform(Drupal 6.17)(Drupal 6.17)
PlatformPlatform(Pressflow (Pressflow
6.17)6.17)
Site Site AA
Site Site BB
Site Site CC
Site Site DD
Site Site BB
AEgir term: Task Queue
Every action within AEgir is called a “task”
Each task is added to the queue
Tasks are run from the queue via a cron job
The cron job is scheduled to run during installation
Tour of AEgir
Creating a new siteonly use lowercase urlsonly use lowercase urls
Upgrading/Migrating a site
Once with a failure
Once without a failure
Once with a failure
Once without a failure
Batch platform migration
An entire platform can be migrated at once
AEgir creates a migrate task for each site
Backup and Restore demo
Site cloning
A new site is created with its own url
AEgir handles most link problems
Adjusts the files table
Changes the body and teaser nodes with links
How AEgir works
A system account is created for AEgir to run drush command via cron job
This looks at the task queue and performs tasks
Apache is configured to include configs within the AEgir directory
AEgir user account has privilege to reload Apache
A privileged database account is stored and used to create databases and site accounts
Real world problems
Installing is hard (but easier now with install script)
Adds large complexity
File permission issues
Libraries installed in sites/all/libraries
No module handling
A lot of stuff can go wrong!
Advanced usage
Use drush make to create a new platform (build) for each site (application)
Support for multiple servers
Sever to server site migration and cloning
Client roles allow users to administer their own sites
Dave Hall (http://davehall.com.au/) has ~2100 sites running one AEgir instance
Future development
Support for DNS
AEgir Ubercart Intergration (uc_hosting)
Support for other CMS
but not Wordpress
Questions?