Aegir 0.2 released.

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
adrian's picture


We're proud to announce the final 0.2 release of the Aegir hosting system for Drupal.

Ægir is a set of contributed modules for Drupal that aims to solve the problem of managing a large number of Drupal sites. It does this by providing you with a simple Drupal based hosting front end for your entire network of sites. To deploy a new site you simply have to create a new Site node. To backup or upgrade sites, you simply manage your site nodes as you would any other node.

This release is the final release of our 0.2 development cycle, which has been focused on complete support for running multiple concurrent Drupal releases, and managing upgrades of sites between Drupal releases. The only changes from the release candidate were some miscellaneous bug fixes and bringing the system in line with the Drush 2.0 final release.

To install Aegir you need

    A unix based operating system.

    Aegir will not work on windows.

  • Full access to your own server or machine.

    Shared hosting will not give you enough permissions to install new sites

  • A Drupal installation that is web accessible with it's own hostname.

    It is not possible to install Aegir in a subdirectory. You may need to add entries to your /etc/hosts file to test Aegir, as it does not provision DNS yet.

Installing Aegir

Aegir's architecture provides the ability to manage multiple backends through a single front end.

Each server that Aegir is installed on, needs to have it's own backend.

The canonical way of installing Aegir is to follow the INSTALL.txt file of the hostmaster profile. The instructions here are provided for your convenience but documentation bugs should be filed against the INSTALL.txt file.

  • Installing Drush

    The Aegir backend is an extension to the Drush 2.x release, which needs to be installed first.


    1. Download Drush 2.x

      Extract it somewhere your user has access to it. I always extract it to /home/adrian/drush.You may also choose to create an alias to it, or symlink the drush.php file into your /usr/sbin directory. More information on this is available in the Drush readme.

    important note: Drush 2.x is not a module, and it should not be installed inside a Drupal directory. Any existing instances of Drush 1.x or the deprecated Drush Extras module should be deleted from the filesystem, to avoid PHP function name collisions.

  • Installing Provision

    Provision is the backend of the Aegir hosting system, as with Drush, there should only be one instance of provision per server.

    1. Create the .drush directory in the home directory of the user Provision is being installed as.

      Use this command : mkdir -p ~/.drush

    2. Download Provision 0.2

      Extract it into the ~/.drush directory, so it is located at ~/.drush/provision

  • Installing Hostmaster and Hosting

    Hosting is the front end to the Aegir hosting system. The Hostmaster install profile initializes a new Drupal site with all the information

    that Hosting requires to operate, and provides the installation wizard for configuration.

    1. Download the Drupal 5.18 release

      Extract it to the location you host sites from (example: /var/www/aegir/drupal-5.18). You may also use an existing Drupal 5.x directory instead.

    2. Download Hostmaster 0.2

      Extract it into the profiles folder of your Drupal installation (example: /var/www/aegir/drupal-5.18/profiles/hostmaster)

    3. Create the profiles/hostmaster/modules directory.

      (example: mkdir -p /var/www/aegir/drupal-5.18/profiles/hostmaster/modules)

    4. Download Hosting 0.2

      Place it inside the newly created profiles/hostmaster/modules directory.

    5. Optional packages

      These packages are not dependencies and can be skipped, but if they are present Aegir will take advantage of them to provide a better out of the box experience.

      1. Create the profiles/hostmaster/themes directory.

        (example: mkdir -p /var/www/aegir/drupal-5.18/profiles/hostmaster/themes)

      2. Download Eldir 0.2 theme

        Place it inside the newly created profiles/hostmaster/themes directory.

      3. Download Admin Menu 2.8 module

        Place it inside the profiles/hostmaster/modules directory.

    6. Create a new database for the site, and create a new virtual host entry for it

      This should be the last time you need to do this.

    7. Install a new site using the HostMaster install profile in sites/default

      You will be directed along the server configuration process, and importing your sites.

  • Follow the install screencast if you get stuck

    We prepared a very thorough screencast documenting the entire installation process for the RC1 release. It contains a complete transcript and example configuration files used in the tutorial, and goes far beyond the scope of this release announcement.

    The information in the install screencast is still valid, but the commands used to check out Aegir have changed.

    (
    export CVSROOT=:pserver:anonymous:anonymous@cvs.drupal.org:/cvs/drupal-contrib
    cvs login

    # Download Drush
    cvs -z6 co -d drush -rDRUPAL-6--2-0 contributions/modules/drush

    # Download provision
    mkdir ~/.drush
    cvs -z6 co -d .drush/provision -rDRUPAL-6--0-2 contributions/modules/provision

    # Download hostmaster install profile
    cvs -z6 co -d hostmaster -rDRUPAL-5--0-2 contributions/profiles/hostmaster
    mkdir hostmaster/modules
    mkdir hostmaster/themes

    # Download hosting front end
    cvs -z6 co -d hostmaster/modules/hosting -rDRUPAL-5--0-2 contributions/modules/hosting

    # Download optional components eldir and admin_menu
    cvs -z6 co -d hostmaster/themes/eldir -rDRUPAL-5--0-2 contributions/themes/eldir
    ~/drush/drush.php dl admin_menu-5.x-2.8 --destination=hostmaster/modules
    )

Upgrading Aegir

If you are a user of the 0.1 release, you can find complete upgrade documentation in the UPGRADE.txt file of the hostmaster profile.

If you are upgrading from any of the 0.2 releases, you need to update the Aegir packages (hosting, provision, drush and eldir) and then run update.php on your site.

If you have any problems, don't hesitate to contact us, by either making a support issue on the hostmaster project, or getting a hold of us on irc. We are trying to make the project as easy as possible to install, but we simply can't test every configuration possible. At the very least we would be able to provide more adequate documentation for such cases, so please let us know. Before submitting your request, make sure you have read the bug submission guidelines

update Fixed the links as mentioned below and added information about the elder theme.

Comments

nordviks's picture

I followed the screencast to install Ægir (0.2rc)

I did the following:

q0rban's picture

First, backup everything! I took a snapshot of my whole server.

Then, put the hostmaster site into maintenance mode.

Update provision
cd ~/.drush/provision
cvs update -dPr DRUPAL-6--0-2

Update drush
cd ~/drush
cvs update -dPr DRUPAL-6--2-0

Update hostmaster
cd ~/drupal-5.x/profiles/hostmaster
Probably an unnecessary step, but after this I moved the modules and themes directory out of hostmaster just to be safe before running the following:
cvs update -dPr DRUPAL-5--0-2
then I moved the themes and modules dirs back.

Update hosting module
cd modules/hosting
cvs update -dPr DRUPAL-5--0-2

Update eldir
cd ../../themes/eldir
cvs update -dPr DRUPAL-5--0-2

Run update.php
Navigate to your hostmaster site and run update.php. If all goes well, bring your hostmaster site out of maintenance mode.

The only quirky thing was I think I ended up having to run drush once from the command line (as the aegir user).

Thanks to anarcat and adrian and whoever else helped me along the way! (Have I mentioned that anarcat and adrian are smart?) ;)

-James

  _ _
( ' _' )

I know this isn't Drush support, but...

briwood's picture

After installing the new drush linked above I got

$ drush dl drupal
includes/table.inc: No such file or directory
Drush needs a copy of the PEAR Console_Table library saved as Drush  [error]
includes/table.inc. Drush attempted to download this automatically,
but failed. To continue you will need to download the 1.1.3 package
from http://pear.php.net/package/Console_Table, extract, and move the
file Table.php to includes/table.inc.
Drush could not execute.                                             [error]

to fix that I did:

cd /usr/local/sbin/drush  #or where ever you installed it
wget http://download.pear.php.net/package/Console_Table-1.1.3.tgz
tar zxvf Console_Table-1.1.3.tgz
ln -s Console_Table-1.1.3/Table.php table.inc

I wonder if the above is not the best solution? My first thought was that I just needed to update Console Table using pear an then Drush would find it in some include path, but that didn't work. Here's what I tried to do:

$ pear channel-update pear.php.net
$pear install Console_Table-1.1.3
pear/Console_Table is already installed and is newer than detected release version 1.1.3
Cannot initialize 'Console_Table-1.1.3', invalid or missing package file
Package "Console_Table-1.1.3" is not valid
install failed

From the above I deduce that Drush requires an older version of console table than is current...?

If there is a more graceful remedy to this problem, please let me know.

Drush would have worked correctly for me if...

briwood's picture

...I'd installed it in my user's home directory (as the Aegir install directions suggest). Since I installed in a dir requiring 'sudo' for write permissions, drush wasn't able to install console_table automatically as described in http://drupal.org/node/436782#comment-1628752

drush fix in head

hutch's picture

This has been fixed in head of drush ;-)

Thanks. Thanks to this post i

ilw's picture

Thanks.

Thanks to this post i realized how to solve this issue: http://drupal.org/node/680592#comment-2479304

Ran into the exact same error

elgreg's picture

Ran into the exact same error when I attempted to install drush to /usr/local (requiring sudo). Thanks for posting!