210 likes | 229 Views
AEgir. Maintain 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
E N D
AEgir • Maintain 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 you • AEgir 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 of • Note: 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
Drupal / all SiteA.com SiteB.com /SITES/ Modules/ Modules/ Modules/ Themes/ Themes/ Themes/ Multi-Site Drupal
AEgir Site B Site B AEgir term: Platform • Each instance of a Drupal core is a platform • AEgir manages multiple platforms • Sites can be quickly moved between platforms Platform (Drupal 6.16) Platform (Drupal 6.17) Platform (Pressflow 6.17) Site A Site C Site D
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
Creating a new site only use lowercase urls
Upgrading/Migrating a site 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
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