Aegir

From Things and Stuff Wiki
Jump to navigation Jump to search


half-way through a big refactor. todo; move things from here to other places.

Aegir is a site management distribution.

Overview

Aegir is a Drupal Distro that uses the Hostmaster front-end to control the Provision module with its Drush integration. Aegir uses Drupal multisite features to share one Drupal codebase install as a Platform which multiple Sites can be hosted on. If you want to create a site for a particular Distro, you install the Distro as a Platform then create a Site on that Platform.

Content can be shared (migrated) between Sites using an updated or alternate platform with managed module dependance.

Dev/production workflow

The Profiler library is installed with the .make and uses a .info file to specify modules to be initialised, including site sections/etc. from the Features module plus configuration settings via the Strongarm module. Provision initialises a site on that platform and installs the platform+site in Aegir.

Features and theme are stored using Git, --working-copy can be used to build a dev site then content can be migrated from live for testing. Dev platform is perfected, then rebuilt as live without --working-copy.

todo; use hosting_site_git and working-copy patch

the basics;

drush make --working-copy "$PROJECT_MAKE" "$PLATFORM_PATH"
drush provision-save "@platform_"$PLATFORM_NAME"" --root="$PLATFORM_PATH" --context_type=platform
drush @hostmaster hosting-import "@platform_"$PLATFORM_NAME""
drush provision-save "@$SITE_DOMAIN" --uri="$SITE_DOMAIN" --context_type='site' --platform="@platform_"$PLATFORM_NAME"" --profile="$PROJECT_NAME"
drush "@$SITE_DOMAIN" provision-install
drush @hostmaster hosting-task @platform_"$PLATFORM_NAME" verify --force "$VERBOSE_MODE"
drush user-login
drush @hostmaster hosting-dispatch
drush -y @hostmaster vset hosting_queue_tasks_frequency 1

Hostmaster

Creating a platform

Use a build make file to call the main make (possibly on-top of a base profile).

Creating a site

Things to remember for a site build:

  • Don't forget full domain name!
  • Create dev.* alias for BOA cache-busting

Importing a site

Clone sites

Aegir provides an easy method of making entire copies of a site. This includes the actual site files, modules and so on, as well as a copy of the actual database. This feature is called 'Clone' in Aegir, because it is a method of duplicating a site with a new URL or 'site name'.

The feature is very closely linked to the Migrate feature because it is almost the same, except that rather than move the site, it leaves the existing site in place and just copies it to a new name. For this reason, enabling the Clone feature also enables the Migrate feature.

Migrating and updating platforms

To upgrade core or modules, build a new platform with the upgrades, then migrate sites to the new platform. Clone and migrate to test before.

Be careful about creating additions or changes in sites/*/modules, sites/*/themes, etc. Migrate tasks will fail due to path issues.

Troubleshooting

Provision

php /var/aegir/drush/drush.php @hostmaster hosting-cron --debug

See also fimafeng, my older bash provision script for Aegir/Drush.

Aegir contrib

Access

Backups

Migration between Aegirs

Managing workflow

  • Hosting Features - provides a Task to Hostmaster that provides integration with a site's Features. It is currently in development but works for the most important task: Update & Commit Features

Stack

Relating to installing Aegir on bare servers.

See: BOA - 'Barracuda, Octopus, Aegir' bash install script.

Also;