community.aegirproject.org
Older 1.x releases
This section documents all the older releases in the 2.x release cycle.
2.1 release notes
The Aegir team is proud to announce the second release in the stable 2.x release branch!
But first, here's a word from Antoine Beaupré:
This latest release of the Aegir project will be the last one for me as a release manager, as I will be stepping down from the leadership position I have filled in the 7 years of involvement in this amazing project. I will continue to contribute to the project, to a lesser extent. I will remain available, through Koumbit, to provide high-level consulting work for Aegir. We can also now welcome Praxis Labs Coop as a new consulting partner of the Aegir project. Praxis will help to finance ongoing Aegir development by subsidizing part of my salary, in a similar fashion to how Omega8.cc had in the past.
Working with the Aegir project was a huge challenge, both from a technical perspective, but also from a human standpoint, as it is a large and complex project that may seem daunting for new users. But with regular releases and continuous support in the issue queue, I think we have been able to foster a great community of contributors that goes beyond what a single person can do, as Adrian proved when he left the project with the 1.0 release in 2011. Christopher (ergonlogic) and other contributors have shown they are in a good position to take over that leadership role, and will do so from now on.
Now it is my turn to move on, and I am quite proud of what I leave behind. This project allowed me to travel around the world, meet incredible people and learn a lot about hosting and provisioning. It is however time for me to move on. I have been involved with the Drupal community for over 13 years, and things, to put it lightly, have changed. PHP is attempting to become a real programming language, something that I didn't believe could or should happen, and I wish to move on to other paradigms. Python and Haskell are waiting for me around this turn in the road, and even Perl and shell scripting look awesome in comparison to those dreaded PHP years. Besides, since Aegir started, lots of configuration management systems have popped up that we can leverage to host way more than PHP and Drupal: Docker, Chef, Puppet hold lots of promise for those of us who dare to get out of the NIH syndrome. Hopefully, that energy will be reusable in the Aegir project as we head towards Aegir 4!
And so, thank you, Antoine, for all your great contributions as leader of the Aegir project! You have been an inspiration to many of us, and have provided superbly effective technical leadership.
This release ships with support for Apache 2.4, along with updates to Drupal core and ModalframeAPI. A number of bug-fixes are included affecting deployment of Drupal 7 sites, aliases with sub-directory installs, backups, among other things. See below for the full lists of new features and bug fixes. Everyone is encouraged to upgrade.
1. Installing and upgrading
The canonical source of installation documentation is on the community site at:
http://community.aegirproject.org/installing
In a similar fashion, the upgrade documentation is at:
http://community.aegirproject.org/upgrading
Within those sections, you'll find step-by-step instructions for performing both manual and automatic upgrade processes.
It is still imperative that you read the the upgrade path and version-specific information and follow all version-specific upgrade instructions before trying to run the upgrade script or manual upgrade. This especially applies to users upgrading from releases prior to 0.4-alpha8, including 0.3.
For users coming from the 0.4 betas or rc releases, there are unlikely to be any version-specific manual steps required to upgrade, but you should make a habit of reading them anyway just to make sure. Noone likes a nasty surprise!
2. Need help?
If you struggle to install or upgrade your Aegir system, you have a number of options available to you for getting help.
Consult this page for more information: http://community.aegirproject.org/help
Thanks to our awesome community for their help, support and encouragement as always! Enjoy the new release :)
3. Known issues
Being really open about our project, we have never hidden the fact that some things, sometimes, do not work in Aegir. Our issue trackers are public, and we've made it a point of honor not only to document clearly what is wrong in our releases as soon as we find out about it, but also to reroll new releases when we fix it.
That being said, 2.1 still has a number of issues and design flaws. This is the list of all issues marked "major" in the queue right now. Most issues are now likely to be fixed in the 3.x development branch, and unlikely to be backported unless considered critical.
hosting-queued
doesn't get properly re-enabled on upgrades, see #2114675 for a workaround.- previous Debian packages may remove the
aegir.conf
symlink before being upgraded. this is fixed in 2.0 but will occur (it's inevitable) during upgrades from 1.x releases. details and simple workaround in #2121263
4. Features
- Apache 2.4 is now supported in the 1.x and 2.x branches, see #2153929 and #2155445
- updated core to Drupal 6.31
- #2191827 by Jon Pugh: Update modalframe
5. Bug fixes
- #2157785 by helmo: Deploy_7 code lacks functionality from D6 code
- #2169025 by gboudrias: Fix non-gzipped backups can't be restored
- #2213387 by Chris Moates: Fix alias handling when using subdirs support
- Cleanup some file permissions from 755 to 644
- #2213787 by SocialNicheGuru, helmo: Undefined property: stdClass::$ssl_key_new hosting_ssl.nodeapi.inc:252
- Fixed reference in comment and cleanup notices
- #2171075 by helmo: Fix hostmaster-resume command options. (3 months ago)
- #2189687 Redirect to site-alias not working
2.0 release notes
The Aegir team is very pleased to announce the official release of Aegir 2.0.0. This long-awaited release ships with significant stability improvements, Drush 5 and 6 support, subdirectory multisite support, improved nginx support, native views and much, much more! We unfortunately had to drop support for Drupal 5, as Drush 5 and 6 dropped support for this unsupported Drupal release.
This release deprecates the 1.x branch, marking the 1.11 release as the last one of the 1.x branch. All Aegir users are strongly encouraged to upgrade to the 2.0 release. The upgrade has been thoroughly tested and works fairly reliably, except some documented minor issues.
We have a very dynamic community of contrib developers, and various projects built atop Aegir. So if you were waiting for Aegir 2 to be stable, easy to install, production-ready, now is the time. The 2.x branch will be well supported as a lot of shops are running it in production already.
1. Major changes in this release
Since th 1.0 stable release (1.0) in April 2011, we've done an incredible amount of work. The code size nearly doubled as did the development team and user base. We have accomplished a significant number of the release goals we set for 2.0, but not all. Here is a broad breakdown of the most important improvements between the 1.11 and 2.0 releases:
- Subdirectory multisite support
- you can now have different sites in example.com/foo and example.com/bar, a great feature if you do not control DNS, as well as for local development!
- SSL improvements
- IP allocation improvement: addresses can be changed, added and removed more easily, and are managed from the front-end now.
- SSL certificate generation now has saner defaults (e.g. 2048bits)
- better error handling
- Drush 5 & 6 support
- includes better support for archive-dump command
- means we also drop the dependency on drush make 2.3, now included in Drush 5
- support for Drush 4 has been dropped, the minimum version is now 5.5, but Drush 6 or 5.10+ is recommended.
- Packaging improvements and changes
- Nginx support in the Debian package
- now a "native" debian package
- package name changed: it is now
aegir2
,aegir2-provision
, etc, to avoid overwriting the previous package - note that aegir 1 and 2 can not be installed in parallel - hosting and eldir now split back in their own projects on dripal.org
- using Drupal.org packaging tools to provide a full tarball for the whole frontend, speeding up installs significantly
- Nginx improvements:
- fixed support for nginx 1.3 and newer
- better defaults for caching
- SSL and Nginx are now officially supported (not marked as "experimental")
- New modules:
- the
hosting-queue-runner
module is now merged into core ashosting-queued
- "pack" module, designed as a lightweight replacement to the "cluster" module, now available as an experimental extension
- the
- Hosting-queued improvements
- run with a lower priority ("niced")
- improved portability and reliability of startup script
- enabled by default in the Debian package
- improved stability
- Code refactoring and improvements:
- now using the Symphony autoloading code
- fix coding style in a lot of source files
- improved builtin test suite
- Frontend improvements:
- all custom displays ported to Views and VBO
- nicer frontpage
- new and improved roles with more useful default permission sets
- Documentation improvements:
- Our documentation initiative to better document the Hostmaster API has progressed nicely
- we'll be launching an updated version of our API site (along the lines of api.drupal.org) shortly, to ease exploring the code-base of the Aegir Project, see this issue.
For a more detailed list of new functionalities, bugfixes and API changes, see below.
Some goals of the original 2.0 roadmap have not been accomplished, namely:
- modular backup, platform and queuing systems - although work has started on Wordpress support, and an overhaul of the Aegir architecture is considered for 4.0, which will affect queuing systems (see below)
- DNS, PostgreSQL and statistics efforts have mostly stalled
- clone and migrate optimizations still have to be completed
- completely automatic upgrades have not been implemented, although the Debian package upgrades are working generally well
- the release was about 2 months late from the october 31st estimate
1.1. 2.x branch maintenance policy
With the 2.0 release, the Aegir project wished to adopt the growing standard of Semantic Versioning. Unfortunately, the tools on Drupal.org do not allow 3-digits version numbers in contrib, something of a blocker to allow us to use that great numbering scheme. So we will stick to our previous scheme for now, but we'll consider a switch to semver for 3.0.0.
No API change will be done in the 2.x branch. All core development will now happen on the 3.x branch, which shifts the focus of development to the port of the frontend to Drupal 7 (almost complete).
Note that the 2.x API has already been frozen for some time, since the first release candidate, to be more precise. Major changes to 2.x will not be committed unless they are first tested in 3.x and merged back. However, we wish the 2.x branch to be relatively short-lived, and it is more likely that major changes will not be backported from 3.x unless absolutely necessary for users needing a Drupal 6 Aegir frontend.
The 1.x branch is now deprecated and the 1.11 release will be the last release of that venerable branch, unless we need another release to fix the upgrade path to the 2.x branch. This is considered very unlikely. Security fixes or critical issues will therefore not be backported to the 1.x branch.
1.2. The future
While we're very proud of what we've accomplished in Aegir 2.0, we've also been working in parallel to port Aegir to Drupal 7. Aegir 3.0 has already begun as a fairly straight-forward port. As such, we'll be releasing our first alpha of Aegir 3 shortly. We would like to have a stable Aegir 3.0 release before the release of Drupal 8, to allow for users to transition as Drupal 6 enters its end-of-life phase.
The reason for the change to semantic versioning is that we've been discussing a full re-write of Aegir for some time, and would like to do so with Aegir 4. The changes are likely to be fairly drastic, and so we want to be able to keep moving Aegir 3 forward in the mean time. By moving to Drupal 7, we expect to have bought ourselves 2+ years of breathing room within which to accomplish this re-architecture and the semantic versioning system allows us to integrate major changes in the 3.x branch progressively.
When the Aegir project started (back in 2008), the free software options for systems management software were very limited. As a result, we wrote our own code to do things like deploying code, writing configuration files, starting and stopping services, and so forth. Now, as 2014 begins, there are a wealth of tools that perform these functions (e.g. Puppet and Chef, but also Openshift, Docker, etc), each with their own communities supporting them. We are exploring how we might be able to leverage these tools, rather than maintaining our own partial implementations, that will never likely be as robust as these more specialized projects.
We feel that the time is opportune since Drupal 8 will require significant re-writing of the front-end components. In addition, re-writing the backend so completely will allow us to seriously consider moving to a programming language other than PHP; one that would be better suited to the project's long-term goals, such as Python or Ruby.
2. Installing and upgrading
The canonical source of installation documentation is on the community site at:
http://community.aegirproject.org/installing
In a similar fashion, the upgrade documentation is:
http://community.aegirproject.org/upgrading
Within those sections you'll find step-by-step instructions for performing both manual and automatic upgrade processes.
It is still imperative that you read the the upgrade path and version-specific information and follow all version-specific upgrade instructions before trying to run the upgrade script or manual upgrade.
For users coming from the 2.0 betas or recent rc releases, there are unlikely to be any version-specific manual steps required to upgrade, but you should make a habit of reading them anyway just to make sure. No-one likes a nasty surprise!
Note that you should upgrade to the latest 1.x release (currently: 1.9) before attempting the upgrade to 2.x. This is especially important if you are running a pre-1.0 release (poor you!).
2.1. Need help?
If you struggle to install or upgrade your Aegir system, you have a number of options available to you for getting help.
Consult this page for more information: http://community.aegirproject.org/help
Thanks to our awesome community for their help, support and encouragement as always! Enjoy the new release :)
2.2. Known issues
Being really open about our project, we have never hidden the fact that some things, sometimes, do not work in Aegir. Our issue trackers are public, and we've made it a point of honor not only to document clearly what is wrong in our releases as soon as we find out about it, but also to reroll new releases when we fix it.
That being said, 2.0 still has a number of issues and design flaws. This is the list of all issues marked "major" in the queue right now. Most issues are now likely to be fixed in the 3.x development branch, and unlikely to be backported unless considered critical.
hosting-queued
doesn't get properly re-enabled on upgrades, see #2114675 for a workaround.- Ubuntu saucy has some changes in apache config wich breaks Aegir #2155705
- previous Debian packages may remove the
aegir.conf
symlink before being upgraded. this is fixed in 2.0 but will occur (it's inevitable) during upgrade. details and simple workaround in #2121263
3. Complete list of changes
Her is the complete list of changes, since the 1.x branch, some of which were already mentioned in previous release notes for alpha/beta/rc releases.
3.1. API changes
Those changes are, as usual, more explicitly documented in the upgrade path documentation.
- hosting-task now needs a
--force
argument to run a non-queued task - the '--force' option also allows running tasks that appear to be running in the queue
- functions that were deprecated in 1.x are now removed
- the
email
andclient_email
database fields are now removed from client and site node types - numerous changes to the IP allocation and SSL management code
- deprecate hosting_ip_delete_revision(), dupe of hosting_ip_delete() now that revisions are gone (8 weeks ago)
- remove deprecated DEBUG flag in debian package
- #1785624: Some Drupal API changes in D7 (and D8) are not used/respected properly
- #1945950: Rename provision_drupal_sync_site_back()
- #1083366: Make the spokes authoritative for files/ and private/ directories
- #1812338: Refactor sync back
- a new control file has been introduced in /etc/nginx/basic_nginx.conf to force the nginx configuration to be the "simpler" one (see #1635596)
- #1987026: Move generated platform drushrc.php to sites/all/drush
- Multiple files can be managed in a single context now (see issue #2000038, issue #1784108)
- #1034520: Cleanup package instances when deleting sites and platforms.
- #1830220: Drop support for Drupal 5.
- #1975086: Move log parsing and status updates to seperate functions and call them from a shutdown function.
- Pass the entity type when we're sync'ing package instances.
- Save the platform field when creating a package instance record.
- Move to individual operation callbacks for VBO tasks.
- #2022849: Record disable and delete backups in the database.
- #2031491: Rename SSL permission to be more descriptive.
- Fix node grants so that proper permissions are respected on all Aegir node types.
- Add 'administer' permissions for platforms and servers, and allow platforms to be viewed.
- #1283738: Allow other commands to add or alter the directories to be created.
- remove version pinning in hostmaster, our release process now again needs to modify only one makefile (#2002114)
- #1986928: Provide 2.x upgrade guidance for services
- #2099889: More hosting_features checks in _drush_load hooks?
- #1882708: Unused 'release_id' field in 'hosting_platform'
- #2012508: hosting_context_name returns '@' if node not found
- #1283738: Add new hook provision_drupal_create_directories in _provision_drupal_create_directories
- There is now a registry in the backend of the features enabled in the front-end (in /var/aegir/.drush/drushrc.php) which allows backend components to better determine if they should act
- If
/var/aegir
is a symlink, it will be destroyed by the debian package, make sure the Aegir $HOME is properly set to work around that, see issue #2118857
3.2. New features
In addition to the "major changes" mentioned above, the following should also be noted.
- #1830994: Login directly via 'login' link
- #1853588: Sort Install profiles on Site add form
- #709862: Allow drush modules to add to apache vhost config template
- #1861896: Make $type argument of function hosting_available_tasks() optional.
- #1843198: Add Content top and bottom to Eldir.
- #1826074: Add tests to ensure site directories are migrated
- #1464220: Support alternative 'Hostmaster' profiles
- #610040: Add X links on listing pages
- #710834: notify clients on site migrations
- #1260066: Allow use of the working copy option when creating a platform
- #1047992: exportable backups
- #1189556: Pull the queue runner into Aegir 2
- #1408410: Add microcaching to Nginx config by default
- #1138104: Tiny module to automatically fill in platform publish path based on title
- #1929372: Flag tasks with logged warnings
- #1515416: On a package page, show table listing sites and platforms using the package
- #1853620: Add db_name to site summary
- #1681904: Ability to configure a url to redirect to in site configuration.
- #1968226: manage each IP individually on the server level
- add uninstall command
- Nginx Security: BEAST attack protection and fix for PCI compliance.
- #1980136: Allow setting default profile from the front-end.
- #588728: Replace custom lists with Views and VBO for sites, platforms and packages.
- Support for installing in subdirectories (issue #705026)
- Proper homepage on startup so non-logged-in users don't see an error page, and new users have basic instructions (issue #1793740)
- SSL support for clusters should now work properly (issue #2000964)
- New roles added: 'aegir platform manager', 'aegir administrator' (issue #1403208)
- Convert list of platforms to use views (Issue #1876350)
- #600350: provide a nice "history" of ran tasks
- #1988642: Add site by platform
- #1912238: automatically build and upload aegir 2.x packages
- #585830: usability story: "How do I create a client?"
- #1212086: Platforms should be locked by default
- #1403208: Add additional roles
- #1174440: provide a way to show site's DB username/password in the frontend
- #606120: Disabled sites should be class hosting-warning, enabled but problematic sites should be hosting-error
- #905326: Improve file path changes.
- #1201174: Make UID1 username configurable.
- #1345118: Make platform access control an autocomplete form.
- #1515416: Replace listing of sites and platforms using a package with a view.
- #1975086: Add 'update status' button to tasks.
- #2005310: Add VBO operations to platforms view.
- #2006074: Enable backups via VBO.
- #2025787: Open site goto link in a new window/tab.
- #2022813: Expose backups to Views.
- #2027269: Update a task's status after all Drush operations are complete.
- #2031491: Review and update permissions for all roles.
- #2031765: Clean up VBO operations with Action Permissions.
- #2035873: Show package 'popularity' on platform package view
- #2036283: Make Aegir aware of site-specific packages.
- #2036793 Ignore hidden modules and profiles.
- #2037045: Change some log statuses to better match Drush's log styling.
- #2037965: Clean up hosting-pause.
- #2038279: Validate email during site install.
- Display all validation errors when adding a client, and limit to 20 suggestions.
- Flag rollbacks as warnings in our task logs.
- Handle package page views separately for sites and platforms.
- Update default hosting_site views to use new access plugin for blocks, and add a couple more displays for non admin listings.
- Add Views access plugin for hosting_site and hosting_package.
- Add views handler to filter packages by status.
- #2069387: Support nonstandard ports on hostmaster-install command.
- #2067617: Allow hostmaster-install to accept '--working-copy' option.
- Allow the redirect to the welcome page to be turned off.
- aegir install time reduced by about 60 seconds (on a cable uplink) by using Drupal.org distributions (#2002114)
- #2001964: Upgrade Views Bulk Operations 6.x-1.16
- #2099057: Allow _provision_drupal_create_directories to skip chmod
- #2100251: Implement post-enable hook for 'hosting_*' modules
- #2020075: Refactor subdirs to use proper Config class(es)
- #2020079: Multi-server subdirectory support
- #2096629: hook_provision_drupal_create_directories_alter by ref
- #2086009: Logo Cannot be changed / disabled
- #2069387: Support nonstandard ports on hostmaster-install command
- #2074681: Ports are hardcoded in hostmaster.profile
- #2103173: Provide an example of saving data to a site context
3.3. Bugfixes
This list only shows bug fixes since the last release candidate (RC5), since the list of all bugfixes in Aegir 2 is truly enormous. Please review the individual release notes for more details, if you are curious.
- Improve the subdir related description in the site add/edit forms, to explain the most important details clearly enough.
- Do not allow duplicate subdir aliases - use hosting_alias_allow_domain() in hosting_alias_validate_subdir() directly.
- Update the inline how-to for sites in subdirs.
- #2020089 by ergonlogic - Allow example.com and example.com/foo domains (Hosting)
- #2151475 by helmo: Extra comment.
- #2151371 by helmo: Allow custom platform tasks.
- security fix: SA-CORE-2013-003, fix files/ protection
- #1220062 fix mild security issue with login-reset links.
- fix SSL certificate garbage collection, it was simply not working
- reformat complex query to be more readable
- also free SSL certificate when SSL is disabled on a site
- check only client nodes for duplicates, closes #2123355
- #2119101: Fix tasks are not sorted properly.
- don't verify deleted sites, fixes #2119111
- properly populate the SSL cert / IP association map
- properly count the aegir hosting aliases, fixes #2118917
- Fix malformed @defgroup.
- #2085077 by chertzog | ergonlogic: Fixed Invalid argument supplied for foreach() hosting.ip.inc:39.
- #2126895 by helmo: Upgrade.sh not compatible with Drush 6.
- #2020089 by ergonlogic - Allow example.com and example.com/foo domains (improved to fix a few dangerous errors) plus comments.
- Nginx: Use text/xml mime type for .xml URLs to restore defaults.
- Fix the check for parent site existence - we should look for drush alias file and not a vhost (which can be dummy subdir vhost).
- Nginx: Fix aliases in redirects on the fly.
- Nginx: Convert subdir alias name properly when used as server_name in redirection.
- #2020089 by ergonlogic - Allow example.com and example.com/foo domains (Apache)
- Nginx: Redirect to working homepage for subdir based site.
- #2100181 by ergonlogic - Symlink missing for D6 subdir sites.
- #2146711 by helmo: PHP 5.3 compatible (Nginx).
- #2038891 by drastik: add missing --client-email option
- #2020091 by ergonlogic - Support subdirs with Nginx.
- fix redirection for non-ssl hosts, issue #2148671 by logaritmisk
- #2157785 by helmo: Remove unused variables, these get written to the site's settings.php anyway.
- #2157783 by helmo: Deploy_7 code has an unused old_uri.
- don't go around destroying apache configs on upgrades or removal
- get the aegir home directory dynamically
- rename VARLIB variable to AEGIRHOME for clarity
- fix drush dependency: we need 5.10 to treat hostmaster as core in drush make
- Further fixes for strict options checking in Drush 6.
- #2135999: Fix for strict options checking in Drush 6.
- Update site_data example extension with new load method.
- Fix naming of hook in api docs.
- be more tolerant about the way the alias gets passed from the frontend
- #2117227 by Ogredude - Missing newline causes syntax errors in vhost.d nginx config when redirects are enabled.
- Copy all makefiles into Debian package.
- Conditinally add subdirs/ to the debian package.
- Fix .deb dependency.
- #2113463: Fix take hosting_platform_pathauto out of experimental.
- #1376466 by Dane Powell: Fixed path not generated when copy/paste is used.
- #1898252 by Dane Powell: Fixed Edit option displayed on existing platforms.
3.4. Other issues
- #1923552: Rename 'Queue runner settings' tab to 'Queue daemon'
- #1834036: Add 'hosting platform pathauto' to the .gitignore
- #1785624: Some Drupal API changes in D7 (and D8) are not used/respected properly
- #1979496: Update upgrade.sh.txt for Drush 5
- #1974752: Document old_uri option for provision-deploy
2.2 release notes
2.2 was an abortive release, due to missing updates to contrib modules. Use 2.3 instead.
2.3 release notes
The Aegir team is proud to announce the third release in the stable 2.x release branch!
This maintenance release ships with a huge number of bug fixes since our last stable release, almost a whole year ago. There are also some security improvements for nginx users. See below for the full list of bug fixes. Everyone is encouraged to upgrade.
Also, worth noting is the simultaneous release of our first beta for Aegir 3. Debian packages are now being provided for Aegir 3, so trying it out is easier than ever!
N.B. The 2.2 release was invalid, as the contrib modules included in the drupal-org.make had not been updated.
1. Security improvements for nginx
Previously, Aegir stored SSL cipher and protocol settings per site in Nginx virtualhost configuration files. This included the enabling of SSLv3, which is vulnerable to POODLE attacks [1].
Because these settings were stored via templates, permanently removing SSLv3 support on Aegir-based Nginx SSL environments was not possible. These settings have now been removed from the templates that generate Nginx virtualhost files under Aegir. If you wish to either re-enable SSLv3, or otherwise alter SSL cipher and protocol settings in Nginx, we recommend you do so in the http {} context (e.g, in /etc/nginx/nginx.conf), which are applied globally and are never manipulated by Aegir.
Sites that were running on Nginx and had SSL enabled, should be re-verified to remove those settings.
Apache users (including those using SSL) were not affected.
[1] http://en.wikipedia.org/wiki/POODLE
2. Installing and upgrading
The canonical source of installation documentation is on the community site at:
http://community.aegirproject.org/installing
In a similar fashion, the upgrade documentation is at:
http://community.aegirproject.org/upgrading
Within those sections, you'll find step-by-step instructions for performing both manual and automatic upgrade processes.
It is still imperative that you read the the upgrade path and version-specific information and follow all version-specific upgrade instructions before trying to run the upgrade script or manual upgrade.
N.B. Issue #2146977: Broken backward compatibility with IP based vhosts may affect those upgrading from 1.x. It appears that running 'verify' tasks on all sites should resolve the issue.
3. Need help?
If you struggle to install or upgrade your Aegir system, you have a number of options available to you for getting help.
Consult this page for more information: http://community.aegirproject.org/help
Thanks to our awesome community for their help, support and encouragement as always! Enjoy the new release :)
4. Known issues
Being really open about our project, we have never hidden the fact that some things, sometimes, do not work in Aegir. Our issue trackers are public, and we've made it a point of honor not only to document clearly what is wrong in our releases as soon as we find out about it, but also to reroll new releases when we fix it.
That being said, 2.2 still has a number of issues and design flaws. This is the list of all issues marked "major" in the queue right now. Most issues are now likely to be fixed in the 3.x development branch, and unlikely to be backported unless considered critical.
As mentioned in the previous section, Issue #2146977: Broken backward compatibility with IP based vhosts is still listed as a 'critical' issue against the 2.x branch. However, it should only affect those upgrading from 1.x, and has a fairly simple work-around. If you come across this behaviour during your upgrade, please post a comment to the issue, so we can confirm that it still exists.
5. Features
#2267057: Pre-upgrade add ctools to 6.x-2.x
6. Bug fixes
Changes to hosting since 6.x-2.1:
- Make it clear that subdomain (foo) and subdirectory name (foo) must be identical.
- #2333911 - Restore the pre-views order of tasks in the queue blocks/lists.
- #2313327 by helmo | tvl: Fixed Unknown options for provision-verify.
- #2163525 by helmo | daften: Fixed Aegir doesn't delete old alias on migration of site.
Changes to provision since 6.x-2.1:
- #2457359: Stop overriding Nginx SSL settings
- Nginx: Stop the POST flood to /autodiscover/autodiscover.xml generated by MS Office/Outlook
- Nginx: Use dummy db fastcgi_param placeholders if any of them is empty
- #2350695 by omega8cc, helmo: Profile is registered twice, also as a module, which causes warning
- Nginx: Remove webform keyword from regex locations - fixes #599
- Nginx: Sync configuration improvements.
- Fix for custom cpuinfo logic.
- #2421543 by notzach: Changing how Apache ServerAliases are defined
- Nginx: Use safe fallback for mysteriously empty $db_port
- Nginx: Use reliable source for db_port to write in the vhost
- #2276557 by zxaos, bgm: allow aegir2-provision package to accept mariadb or mysql
- Nginx: Fix for D8-specific /cron/ location caching (extended mode only).
- Nginx: Fix for D8-specific /cron/ location regex.
- Nginx: Drupal 8 with clean urls enabled should use /cron/ URI.
- Nginx: Sync config templates.
- Detect if the platform stays the same only when site name changes.
- Standardize inline comments.
- #2372653 by helmo: Add --no-autocommit when dumping MySQL tables
- Use $new_name instead of $new_uri to avoid confusion.
- Compare $new_uri with d()->name and not d()->uri in the Site Rename Check.
- Nginx: Helper locations to avoid 404 on legacy images paths (subdir only)
- Nginx: Fix spacing
- Nginx: Add missing variables in subdirectory config template.
- don't allow d() to run before drush is fully initialized
- Nginx: Add the fix for known problem with files/imagecache in legacy D6 sites (again).
- Nginx: Fail early if any required db credentials are empty, to never create broken vhost.
- Nginx: Block semalt botnet (extended boa mode only)
- #2358977 by mrP - [nginx] Aegir redirection to non-install url leads to sites/$server_name/files 404 errors (sub-dir config sync)
- #2373923 by griz - https redirect problem with Nginx (fix tested)
- Nginx: Avoid redirect loops (really fixed).
- Nginx: Avoid redirect loops (fixed).
- Nginx: Avoid redirect loops.
- #2358977 by mrP - [nginx] Aegir redirection to non-install url leads to sites/$server_name/files 404 errors.
- Nginx: Simplify imagecache/styles support.
- Nginx: Remember real site name in $main_site_name and MAIN_SITE_NAME.
- Sync new lines.
- Nginx: proper sync with Apache redirects.
- Revert "Issue #2373923 by griz - https redirect problem with Nginx"
- #2373923 by griz - https redirect problem with Nginx
- Merge remote-tracking branch 'origin/6.x-2.x-backports' into 6.x-2.x
- #2163979 - Check if field_info_field_map() is available to not break support for old D7 versions.
- Make sure that db_port is never empty and defaults to 3306.
- #2266997 by helmo, cweagans: Added Do not automatically enable update module when installing a site.
- Nginx: Update vhosts templates to match BOA improvements #unforkboa
- Nginx: Sanitize aliases in vhost_disabled.tpl.php to avoid: 'nginx: [warn] server name "foo.com/bar" has suspicious symbols'
- Fix spacing in config lines.
- Nginx: Update config includes to match optional BOA features improvements #unforkboa
- Manage extra GRANTS to allow SQL remote access via SSH tunneling which depends on '127.0.0.1' and will not work with GRANTS for 'localhost'.
- Add support for file generated from /proc/cpuinfo on system with no access to /proc #unforkboa
- Ignore paths from OS X
- Backport provision_hosting_feature_enabled (2)
- Backport provision_hosting_feature_enabled()
- Fix typo.
- Shorten and simplify the subdirs checks code.
- Remove legacy subdir code and update checks.
- Remove whitespace.
- Use is_readable() instead of file_exists() when checking alias existence.
- Use is_dir() instead of file_exists() when checking directory existence.
- Use is_readable() check instead of insufficient file_exists() for config includes.
- Remove redundant file_exists() if is_readable() is also used.
- Add little debugging markers.
- Use strict checks: is_file() and/or is_link() instead of file_exists() before attempting unlink()
- Fix for mysterious warning "Could not create directory ." on Hostmaster site Verify.
- Nginx: Fix typo in vhosts templates.
- #2330781 - Use Drush native dt() wrapper instead of not always available t()
- #2329131 by dagomar: Fixed Uninstalled block module causes errors.
- Allow usage with Drush7, now that *.drush.load.inc's aren't being included.
- #2177315 by pwatzeels: Fixed Group permissions on private/temp folder not correct on remote server.
- #2296089 by ergonlogic, cosmicdreams: Fixed Installer can detect incorrect default web group.
- #2169287 by cableman0408: Fixed Setting user name twice (fails non-default installation profile).
- #2275467 by kristofferwiklund: Fixed incorrect variable in Debian postinstall script for Apache 2.4
- Stop false-positive warnings when SSL uses a wildcard.
- #2259461 by Liam McDermott - Remove too aggressive limit_conn directive in the Nginx config templates.
- Revert "change version information for release 2.1"
- #1168758 by helmo | acrollet: Optionally add --include-vcs argument when using drush rsync to sync remote platform.
- Extend provision_drupal_fetch_site with a parameter to specify site to fetch.
2.0 alphas, betas & release candidates
This section documents all the release candidates towards the 2.0 release.
2.0-rc5 release notes
The Aegir team is is pleased to announce the fifth release candidate for the upcoming Aegir 2.0 release!
This release ships a ton of bugfixes we have found in RC4. We also finalised subdirectory support which, while it still has some issues, is now actually working correctly, even on multiple servers. The IP allocation code for SSL on multiple servers was also fixed, making this probably the most solid multi-server Aegir release ever. We also did some API cleanups that seemed necessary before the final 2.0 release.
Finally, we should also mentionned that the install process was significantly sped up thanks to the use of Drupal.org distributions to ship a single tarball for the hostmaster platform instead of using a makefile to build it from its parts all the times. During out tests, the platform make
step went from 60 seconds to 1.5 seconds, an amazing improvement!
Installing and upgrading
The canonical source of installation documentation is on the community site at:
http://community.aegirproject.org/installing
In a similar fashion, the upgrade documentation is:
http://community.aegirproject.org/upgrading
Within those sections you'll find step-by-step instructions for performing both manual and automatic upgrade processes, with 2.x
-specific instructions outlined in bold.
It is still imperative that you read the the upgrade path and version-specific information and follow all version-specific upgrade instructions before trying to run the upgrade script or manual upgrade. You should be able to upgrade to 2.x releases from any release in the 1.x series, but it's better to upgrade to the latest 1.x release first.
Known issues
Those are the critical bugs that were found in this release that you may encounter and should watch out for.
- There was a problem in the Debian package, the original uploads were missing some critical files (subdir support and some makefiles). This was fixed in an intermediate package named
2.0~rc5.1
. - If
/var/aegir
is a symlink, it will be destroyed, see issue #2118857 for a workaround. hosting-queued
doesn't get properly re-enabled on upgrades, see #2114675 for a workaround.- Some upgrades fail with mysterious redirection failures, see #2118061 for details.
- Some upgrades may loop over one of the update_N() functions, see #2118917 for details and workaround.
- Upgrading through Debian packages removes the
aegir.conf
Apache configuration file, dropping all sites, during the upgrade, see #2121263. - Ubuntu sausy has some changes in apache config wich breaks Aegir #2155705
Detailed list of changes
API CHANGES
- remove version pinning in hostmaster, our release process now again needs to modify only one makefile (#2002114)
- #1986928: Provide 2.x upgrade guidance for services
- #2099889: More hosting_features checks in _drush_load hooks?
- #1882708: Unused 'release_id' field in 'hosting_platform'
- #2012508: hosting_context_name returns '@' if node not found
- #1283738: Add new hook provision_drupal_create_directories in _provision_drupal_create_directories
- the package name changed (for example) from aegir-hostmaster2 to aegir2-hostmaster, compatibility shims are available for people having installed aegir2 before, but they will be dropped in 2.0, so make sure you upgrade to this release before upgrading to aegir 2.0
NEW FEATURES
- aegir install time reduced by about 60 seconds (on a cable uplink) by using Drupal.org distributions (#2002114)
- #2001964: Upgrade Views Bulk Operations 6.x-1.16
- #2099057: Allow _provision_drupal_create_directories to skip chmod
- #2100251: Implement post-enable hook for 'hosting_*' modules
- #2020075: Refactor subdirs to use proper Config class(es)
- #2020079: Multi-server subdirectory support
- #2096629: hook_provision_drupal_create_directories_alter by ref
- #2086009: Logo Cannot be changed / disabled
- #2069387: Support nonstandard ports on hostmaster-install command
- #2074681: Ports are hardcoded in hostmaster.profile
- #2103173: Provide an example of saving data to a site context
BUG FIXES
- #2110057: Key used for signing debian package has expired
- #1635628: do not talk about a makefile if installing over an existing platform
- #2103173: Provide an example of saving data to a site context
- #2109637: upgrade.sh script fails to checkout 6.x-2.x
- #2085077: Invalid argument supplied for foreach() hosting.ip.inc:39
- #2102341: Differentiate between a feature being disabled vs absent
- #2029799: Error deleting a platform: Call to a member function succeed() on a non-object
- #1971348: Site aliases get chopped if longer than 50 characters
- #2071317: Incorrect SSL IP is deployed to servers in a web pack
- #2098289: Backup task does not detect failed database dump
- #2098389: subdirs kicks in even when subdirs module is disabled.
- #1189576: can't disable the DNS service from the frontend
- #1931000: Missing drush backend output in frontend log
- #2077793: Queue daemon collecting quotes
- #2097689: clean_urls don't work well with subdirectory
- #2097363: Add site spins forever
- #1387578: hosting_queues_cron_cmd makes unwarranted assumptions about bash availablility
- #2084963: SSL vhost does not respect Alias redirects
- #2061509: List of platforms is no longer updated to match install profile clicked at node/add/site
- #2046783: Task dialogs won't open after clearing the cache
2.0-rc4 release notes
An error in the manual portion of our release process resulted in the incorrect version of the code-base being built. See the release notes for 2.0-rc3 for relevant changes since 2.0-rc2.
Known bugs
In addition to those listed in the release notes for 2.0-rc3, note that some people have experienced problems with downloading a patch in the main Aegir makefile. This is most likely due to problems with drupal.org's SSL certificate. If you are experiencing such an issue, there is a simple work-around: edit the aegir.make file in the provision/ directory to make the path use http:// instead of https://.
For a Debian-based system (including Ubuntu), this would look something like:
$ sudo vi /usr/bin/drush/commands/provision/aegir.make
For 'manual' installs on other OS's, it would probably be:
$ sudo vi /var/aegir/provision/aegir.make
Change the line:
projects[drupal][patch][] = "https://drupal.org/files/common.inc_6.28.patch"
to read:
projects[drupal][patch][] = "http://drupal.org/files/common.inc_6.28.patch"
Then re-run the install. On Debian/Ubuntu machines:
$ sudo apt-get install aegir2
On manually installed systems (CentOS, etc.) as the aegir user:
$ drush hostmaster-install
Detailed list of changes
API CHANGES
None.
NEW FEATURES
None.
BUG FIXES
- Fixed makefiles to point to proper versions of projects.
2.0-rc3 release notes
The Aegir team is pleased to announce the third release candidate for the upcoming Aegir 2.0 release.
This release mainly fixes a couple critical bugs in 2.0-rc2 that were causing problems when sites were being cloned or renamed. We've added a couple small features, such as additional options during hostmaster-install, and allowing the redirect to the Welcome page to be turned off. Also, we've made a small addition to the API, in that there is now a hook available (hook_provision_drupal_create_directories_alter()
) to allow altering the directories created when a site installed.
In order to better support PHP 5.4, we have added a patch to Drupal core to suppress E_STRICT warnings. These were harmless, but annoying. They were caused by a changed in PHP error-reporting in PHP 5.4, and the Views module's maintainers' desire to remain backward compatible with PHP 4. For more details, see: #2060727: Patch Drupal core to suppress E_STRICT warnings on PHP5.4.
A number of pending issues require a new stable release of Drush (5.10), so we will work with the maintainers to help get a new release out.
Known issues
Our release process is still done by hand instead of being more automated because we can't use our aegir distribution as core (issue #1991764).
Issue #1931000: Missing drush backend output in frontend log has been fixed, but may require a patch to Drush for the use of hosting-queued.
Subdirectory support is still very preliminary and needs a number of issues to be fixed before completion, see #2046167 for details. Note that this will not block a stable release, since this feature is 'experimental', and additional re-factoring can occur during the stable release cycle.
Detailed list of changes
API CHANGES
- #1283738 by halcyonCorsair, cweagans: Allow other commands to add or alter the directories to be created.
NEW FEATURES
- #2069387 by cweagans, mstenta: Support nonstandard ports on hostmaster-install command.
- #2067617: Allow hostmaster-install to accept '--working-copy' option.
- Allow the redirect to the welcome page to be turned off.
BUG FIXES
- Add E_STRICT patch to test openatrium makefile so tests will pass on PHP 5.4.
- #2067603: Fix original and cloned site pointing to the same database.
- #2048653: Ensure mysql is secure before proceeding with hostmaster install.
- #2060727: Patch Drupal core to suppress E_STRICT warnings on PHP5.4.
- #2038279: Warn of invalid account email on site install.
- #2055949: Fix migrate drops wrong database when domain name changes.
- #2074681 by cweagans, mstenta: Fixed ports are hardcoded in hostmaster.profile.
- Use custom functions for block visibility.
- #1940378: Fix PHP 5.4 warning by initializing an object variable prior to assigning properties.
- #2050881: Call drush.php via php, since it isn't executable when installed via PEAR.
- Enable platform site-list block, since it had to be renamed.
2.0-rc2 release notes
The Aegir team is pleased to announce the second release candidate for the upcoming Aegir 2.0 release.
This release mainly fixes our project makefile that, due to an error in our build process, did not pull in the latest code. As a result, installing 2.0-rc1 actually installed a 2.0-beta2 codebase. While changes between 2.0-rc1 and 2.0-rc2 have otherwise been minimal, we invite you to explore all the new features and bugfixes in 2.0-rc1.
Note that we have taken this opportunity to update our external dependencies, as well.
Known issues
Our release process is still done by hand instead of automated because we can't use our aegir distribution as core (issue #1991764).
Issue #1931000: Missing drush backend output in frontend log has been fixed, but may require a patch to Drush for the use of hosting-queued.
Subdirectory support is still very preliminary and needs those issues to be fixed before completion, see #2046167 for details.
Issue #2046783: Task dialogs won't open after clearing the cache was the result of updating our dependencies. Refreshing the page is usually sufficient to make modal dialogs work again. It looks like this was probably specific to the development environment, as we can no longer reproduce it.
A critical bug was discovered: Issue #2055949: Migrate drops wrong database when domain name changes. It has been fixed in 6.x-2.x, and a patch for 2.0-rc2 is available.
Detailed list of changes
API CHANGES
- Update external dependencies.
NEW FEATURES
none
BUG FIXES
- Add dependency on jquery_update, so we can use the more recent version of modal_dialog.
- Enable login and nav blocks explicitly.
- treat symlinks as existing, fixes #2046249
2.0-rc1 release notes
The Aegir team is pleased to announce the first release candidate for the upcoming Aegir 2.0 release.
This release mainly targets a few critical bugs that were found in the second beta, mostly related to ongoing Views, Drush integration and access control. We also introduce a number of new features and finally drop support for provisioning Drupal 5 sites completely (for real this time!). Along the way, we did quite a bit of API cleanup.
While we are in feature freeze, we have continued to add some UI improvements, since they don't affect the API. We've added some long-standing UI enhancements, and fixed a number of bugs in the views integration and other usability problems, as well as overhauling our access control. Significant improvements to the package-management system have also been introduced.
Our only remaining critical bugs are basically waiting on a new release of Drush, upgrade testing on Nginx and some contrib upgrade guidance documentation. If no other critical bugs are discovered during the time it takes us to fix these, we should move on to a full release of Aegir 2.0!
Known issues
Our release process is still done by hand instead of automated because we can't use our aegir distribution as core (issue #1991764).
Issue #1931000: Missing drush backend output in frontend log has been fixed, but may require a patch to Drush for the use of hosting-queued.
Subdirectory support is still very preliminary and needs those issues to be fixed before completion, see #2046167 for details.
Detailed list of changes
API CHANGES
- #1034520: Cleanup package instances when deleting sites and platforms.
- #1830220: Drop support for Drupal 5.
- #1975086: Move log parsing and status updates to seperate functions and call them from a shutdown function.
- Pass the entity type when we're sync'ing package instances.
- Save the platform field when creating a package instance record.
- Move to individual operation callbacks for VBO tasks.
- #2022849: Record disable and delete backups in the database.
- #2031491: Rename SSL permission to be more descriptive.
- Clean up hosting_node_grants().
- Add 'administer' permissions for platforms and servers, and allow platforms to be viewed.
NEW FEATURES
- #905326 by ergonlogic, crea: Improve file path changes.
- #1201174: Make UID1 username configurable.
- #1345118: Make platform access control an autocomplete form.
- #1515416 by ergonlogic, helmo, Deciphered: Replace listing of sites and platforms using a package with a view.
- #1975086: Add 'update status' button to tasks.
- #2005310: Add VBO operations to platforms view.
- #2006074 by Deciphered: Enable backups via VBO.
- #2025787 by omega8cc, ergonlogic, anarcat: Open site goto link in a new window/tab.
- #2022813 by Deciphered: Expose backups to Views.
- #2027269: Update a task's status after all Drush operations are complete.
- #2031491: Review and update permissions for all roles.
- #2031765: Clean up VBO operations with Action Permissions.
- #2035873: Show package 'popularity' on platform package view
- #2036283: Make Aegir aware of site-specific packages.
- #2036793 Ignore hidden modules and profiles.
- #2037045 by helmo, ergonlogic: Change some log statuses to better match Drush's log styling.
- #2037965: Clean up hosting-pause.
- #2038279 by ergonlogic, Jon Pugh: Validate email during site install.
- Display all validation errors when adding a client, and limit to 20 suggestions.
- Flag rollbacks as warnings in our task logs.
- Handle package page views separately for sites and platforms.
- Update default hosting_site views to use new access plugin for blocks, and add a couple more displays for non admin listings.
- Add Views access plugin for hosting_site and hosting_package.
- Add views handler to filter packages by status.
BUG FIXES
- #1238618: Fix client form validation.
- #1263264 by ergonlogic, recidive, anarcat: Specify a type when getting a package, to avoid collisions.
- #1647830 by sambonner: Fix Incorrect ownership of directories under sites/example.com/private/files/.
- #1861898 by ergonlogic, Jon Pugh: Don't hardcode the types of entities to which we can attach tasks.
- #1975086 by helmo | anarcat: Fixed updating a task when there is none.
- #2025355: view platform' permission broken
- #2026417: Disambiguate site operations.
- #2031491: Fix roles.
- #2031747: Fix Views block placement and visibility.
- #2038891: Add 'client_email' option to 'provision-install-backend'.
- #2038891: Switch from '--invoke' to '--strict=0' for backend calls.
- #2040285 debian: properly detect webserver, again
- #2044251 drush command '@none provision-save' could not be found
- #2045907: Remove extra tabs from deleted platforms.
- Fix php 5.4 issue
- Add missing unicode include for UID1 name validation.
- Fix update hook name.
- Only register shutdown function to update task status in the context of a front-end task.
- Don't display package block on profiles.
- Only show link to add clients on site form to those with proper permissions.
- Override hook_access functions for node_grants when hosting_client is enabled.
- Register node type in hosting_task's Hosting feature.
- Clean up Views exposed forms.
- Fix Views block placement and visibility.
- Only display client sites block on the 'view' tab.
2.0-beta2 release notes
The Aegir team is pleased to announce the second stabilization (beta) release of the Aegir 2.x branch.
This release mainly targets a few critical bugs that were found in the first beta, namely IP allocation on non-SSL and non-cluster sites which was completely broken and bugs the Debian package. We also introduce a few new features and finally drop support for provisionning Drupal 5 sites completely.
While we are in feature freeze, we have continued to add some UI improvements, since they don't affect the API. We've added some long-standing UI enhancements, and fixed a number of bugs in the views integration and other usability problems.
We are down to only one active critical bug. If no other critical bugs are discovered during the time it takes us to fix it, we should move on to our first release candidate!
Known issues
Our release process is still done by hand instead of automated because we can't use our aegir distribution as core (issue #1991764)
Issue #1931000: Missing drush backend output in frontend log has been fixed, but may require a patch to Drush for the use of hosting-queued.
Subdirectory support is still very preliminary and needs those issues to be fixed before completion:
- Nginx support missing (issue #2020091)
- If
example.com/foo
is created, theexample.com
virtual will be overwritten and the site inaccessible under that domain (issue #2020089) - Multi-server support is untested (issue #2020079)
- Code needs to be refactored to the new 2.x API (issue #2020075)
The move to Views has highlighted some additional issues:
Fixing #2027269: warnings and errors in front-end pre- and post- hooks are ignored for task status required a new Drush commandfile, and thus a 'drush cc drush' if upgrade between an alpha/beta release and HEAD.
The debian package still doesn't properly configure the webserver, a patch has been committed and a workaround is available in issue #2040285.
New features
- #600350: provide a nice "history" of ran tasks
- #1988642: Add site by platform
- #1912238: automatically build and upload aegir 2.x packages
- #585830: usability story: "How do I create a client?"
- #1830220: Drop support for Drupal 5 in 2.x
- #1212086: Platforms should be locked by default
- #1403208: Add additional roles
- #1174440: provide a way to show site's DB username/password in the frontend
- #606120: Disabled sites should be class hosting-warning, enabled but problematic sites should be hosting-error
Bug fixes
- #1992254: restarting the mysql server crashes hosting-queued
- #1761932: Explain that updates will require the verify task to run
- #1603702: allows creation of SSL site even if there are no IPs available
- #1130992: User 1 has lost the ability to create platforms
- #1126638: two sites can take the same server IP for SSL
- #1994000: Nginx looking in wrong place for SSL setup information
- #2023621: Unable to allocate IP address for certificate, disabling SSL.
- #1929454: hosting_cron.modules requires hosting_site.module but lacks a dependency.
- #2014589: Views-based package list omits module/theme version
- #2005246: It is possible to disable Hostmaster site via bulk site operations
- #2025533: Mod Rewrite and Apache.conf symlink not created with debian package - beta2
2.0-beta1 release notes
The Aegir team is pleased to announce the first stabilization (beta) release of the Aegir 2.x branch, after nearly 3 weeks of development since our second alpha release. While we had expected an additional alpha release prior to the beta cycle, development on outstanding features went smoother than foreseen. We've added some significant features, and fixed a couple bugs and (again) made some important improvements to our API.
This release marks our feature freeze. The intention is to limit any further changes to only critical and major bug fixes. However, exceptions may be granted on a case by case basis. Our development efforts will now move to tackling all release critical bugs. Once all of these are fixed, we'll move on to our release candidate (RC) phase. That said, we expect this release to be sufficiently stable that we intend to run it in production at Koumbit soon.
Release overview
This release introduces a major new feature into Aegir core: support for installing sites in subdirectories (example.com/foo, example.com/bar, etc.). This has been our number one feature request from higher education institutions, and so we hope that this will enable greater adoption within that sector. While categorized as an "experimental" feature, we feel our approach is sufficiently strong that we're considering merging this into our core site functionality.
Additional new features include a nice homepage, fixes to SSL support and IP allocation on clusters, and we've added a couple new roles.
We've also tackled a number of bugs, especially in the Debian package, which now supports installing Aegir on Nginx servers. We've also fixed some issues introduced with the new views code, and improved nginx support.
The project's Debian repo now includes Drush 5.9, and we have migrated the 'aegir2' packages to the Testing repository.
Known issues
- the debian package shows a lot of garbage when installing from scratch, which is almost harmless except that we don't see the login URL, use
drush @hostmaster uli
to get a new one, fixed in issue #2002076 - SSL support was severely broken for single servers and could lead to loss of the SSL certificate copies when a non-SSL site is installed. See commits f0980e0..9b86038 in Provision for fixes. (fixed in issue #2023621)
- the Debian package is severely broken - in most configuration (e.g. clean installs but not upgrade) the install will just fail with a permission denied. See commits d4efa37 and 56d1718 for fixes.
These are related to drush:
- some warnings and errors may not show up in Aegir's task logs, making it believe tasks succeeded when the actually failed. this affects only hosting-queued. (issue #1931000 / issue #1982502)
- our release process is now done by hand instead of automated because we can't use our aegir distribution as core (issue #1991764)
Subdirectory support is still very preliminary and needs those issues to be fixed before completion:
- Nginx support missing (issue #2020091)
- If
example.com/foo
is created, theexample.com
virtual will be overwritten and the site inaccessible under that domain (issue #2020089) - Multi-server support is untested (issue #2020079)
- Code needs to be refactored to the new 2.x API (issue #2020075)
API changes
- Multiple files can be managed in a single context now (see issue #2000038, issue #1784108)
New features
- Support for installing in subdirectories (issue #705026)
- Proper homepage on startup so non-logged-in users don't see an error page, and new users have basic instructions (issue #1793740)
- SSL support for clusters should now work properly (issue #2000964)
- New roles added: 'aegir platform manager', 'aegir administrator' (issue #1403208)
- Convert list of platforms to use views (Issue #1876350)
Bugfixes
- Debian package support for nginx was severely broken issue #2001142
- the views bulk operations version shipped with alpha2 had security issues, see issue #2001964
- an update hook was incorrectly named, and has since been fixed. The updates should not be destructive, but may output errors.
- Placement of a number of our new Views-based blocks was omitted from the install profile, and so won't appear on a fresh install. These can be manually placed on the blocks page.
- fix warning "Invalid argument supplied for foreach()" (issue #2005698)
- fix "Unknown options for provision-save" error (issue #1972286)
- removed hardcoded checks for IP addresses in
settings.php
that belong to core (issue #2013683) - Views filter for status does not tell what to filter for (issue #1997088)
- nginx cloaks database credentials properly now
- configure nginx to properly talk to the default php-fpm configuration in Debian (issue #1635622)
- lots of fixes for the Debian package, including
- Silence garbage in the install output (issue #2002076)
- nginx support in sudoers file (issue #2001142)
- nginx autodetection in Debian package (issue #2003712)
2.0-alpha2 release notes
The Aegir team is pleased to announce the second preview (alpha) release of the Aegir 2.x branch, after nearly 3 months of development since our first alpha release. We've squashed a number of tenacious bugs, added some nifty features, and made some important improvements to our API. We expect at least one more alpha release before we call a feature-freeze, and begin out stabilizing and cleanup (beta) release cycle.
During this release cycle, we also began work on Aegir 3, a more-or-less straight port of Aegir 2 to Drupal 7. We continue to sync changes in 2.x to our 3.x branch, and look forward to continuing the port (and beginning to add new features) as soon as we've released our first stable 2.x release.
Our next alpha release will target getting sub-site support (example.com/site1, example.com/site2, etc.) into Aegir core as an experimental feature. This has been our number one feature request from higher education institutions, and so we intend to incorporate it into Aegir 2, in order to enable greater adoption within that sector. We have a fairly detailed implementation plan, and so feel confident that we can incorporate this major feature, in fairly short order.
Release overview
This release features improvements to the IP management mechanisms that were broken in the last alpha1 release. We now manage IP addresses individually, and check if an IP is in use before allowing it to be deleted.
We also finally leave the files alone on spokes in the multi-server model, a long-standing bug in the 1.x series that led to data loss. A lot of work was done to standardize the Nginx configuration to allow for simpler, yet optional, configurations that leave the admin in charge of choosing the optimisation methods.
Also, we've moved Hosting and Eldir back to their own projects, and are now included via our makefiles. This simplifies building custom install profiles, though it complicates our release process somewhat. We've also added a drupal-org.make that will eventually allow proper distribution bundling of Aegir.
Finally, we've moved to using Views and View Bulk Operations for our lists of sites, platforms and packages. While there remain some rough edges, this will allow much easier customization of our principal UIs. It has also significantly reduced the custom code we have to maintain, in favour of exported Views, which simplifies maintenance.
Known issues
- the Debian package support for nginx is severely broken #2001142
- the views bulk operations version shipped with alpha2 has security issues, see #2001964
- the debian package shows a lot of garbage when installing from scratch, which is almost harmless except that we don't see the login URL, use
drush @hostmaster uli
to get a new one, fixed in #2002076 - an update hook was incorrectly named, and has since been fixed. This may cause the hook to be run again, if the site is upgraded to a newer version. The updates should not be destructive, but may output errors.
- Placement of a number of our new Views-based blocks was omitted from the install profile, and so won't appear on a fresh install. These can be manually placed on the blocks page.
API changes
- deprecate hosting_ip_delete_revision(), dupe of hosting_ip_delete() now that revisions are gone (8 weeks ago)
- allow running tasks that appear to be running with --force
- remove deprecated DEBUG flag in debian package
- #1785624: Some Drupal API changes in D7 (and D8) are not used/respected properly
- #1945950: Rename provision_drupal_sync_site_back()
- #1083366: Make the spokes authoritative for files/ and private/ directories
- #1812338: Refactor sync back
- a new control file has been introduced in /etc/nginx/basic_nginx.conf to force the nginx configuration to be the "simpler" one (see #1635596: nginx: do not decide the policy for users)
- #1987026: Move generated platform drushrc.php to sites/all/drush
New features
- #1929372: Flag tasks with logged warnings
- #1515416: On a package page, show table listing sites and platforms using the package
- #1853620: Add db_name to site summary
- #1681904: Ability to configure a url to redirect to in site configuration.
- #1968226: manage each IP individually on the server level - manage IPs individually
- add uninstall command
- Nginx Security: BEAST attack protection and fix for PCI compliance.
- #1980136: Allow setting default profile from the front-end.
- #588728: Replace custom lists with Views and VBO for sites, platforms and packages.
Bugfixes
- #1930670: Duplicate entry 0 for key PRIMARY in hosting_ip_addresses when installing / upgrading
- #1907028: user warning: Table 'XXX.hosting_ip_addresses' doesn't exist
- #1961920: nginx: [emerg] invalid number of arguments in "limit_conn_zone" directive in /etc/nginx/conf.d/aegir.conf
- #1923490: Incorrect error message in aegir-provision2.preinst
- #1901508: "gzip --rsyncable" is invalid on OS X
- #1678528: Database deleted on edge cases
- #1930740: provision-delete leaves a drushrc.php lying around
- Nginx: Do not override Nginx name with fake Apache name.
- #1990370: Enable Hosting feature dependencies.
Other
- #1923552: Rename 'Queue runner settings' tab to 'Queue daemon'
- #1834036: Add 'hosting platform pathauto' to the .gitignore
- #1785624: Some Drupal API changes in D7 (and D8) are not used/respected properly
- #1979496: Update upgrade.sh.txt for Drush 5
- #1974752: Document old_uri option for provision-deploy
2.0-alpha1 release notes
The Aegir team is pleased to announce the first preview release (alpha) of the Aegir 2.x branch, after almost 2 years of development. We have been pretty busy with the maintenance of the 1.x branch, so development has been sometimes intermittent, but it is not over yet!
This release is only a first of a series of alpha releases that are tailored to make upcoming changes available to a wider audience than people ready to install from git, but also to make features more widely available and tested. More alpha releases will be published on a more regular basis in the weeks to come as more features from the new provisional roadmap are implemented. We are still considering the following:
We have set the following priorities:
- subsite support (#705026) - now that mig5 did most of the work ;)
- nginx cleanup (#1635596, #1635622, #1622846, #1635586, #1608910) and Nginx Debian package (#1348560)
- files/ sync settled (#1083366)
SSL code cleanup (#941870, see also this report)- done! Now onto testing and fixing the actual bugs linked from #941870
We would like to get those in 2.x, but since no one has really started significant work on those, we are more likely to simply postpone those to 3.x at this point.
- standard archive support (#1138882, original roadmap description)
- intersite security (the infamous #762138)
- more intelligence in spokes (original roadmap description)
Also, since every single attempt at providing a proper timeline for the final 2.0 release has failed miserably, we'll just stop trying our luck and just give up on a formal timeline. Instead, we'll just do the freaking work. :) Also remember that the port to Drupal 7 has been postponed to Aegir 3. Aegir 1 and 2 both support provisionning Drupal 7 sites, but the frontend is running Drupal 6. We are aiming for a "straight port" (no rewrite) of the frontend for Aegir 3.
1. Major changes
This first alpha already packs a lot of changes. Those release notes detail the changes since the 2.x branch was first created, all the way back two years ago, when 1.0 was released. Of course, we are not detailing all the changes made in the 1.x series that are all part of the 2.x, but only the changes specific to the 2.x release.
- SSL improvements:
- IP allocation was moved to the backend to the frontend
- SSL certificate generation now has saner defaults (e.g. 2048bits)
- better error handling
Drush 5 support
- includes better support for archive-dump command
- means we also drop the dependency on drush make 2.3, now included in Drush 5
- support for Drush 4 has been dropped, the minimum version is now 5.5
Debian package improvements and changes
- Nginx support in the Debian package
- now a "native" debian package
- package name changed: it is now
aegir2
,aegir-provision2
, etc, to avoid overwriting the previous package - note that aegir 1 and 2 can not be installed in parallel
- Nginx improvements:
- fixed support for nginx 1.3 and newer
- better defaults for caching
- SSL and Nginx are now officially supported (not marked as "experimental")
- New modules:
- the
hosting-queue-runner
module is now merged into core ashosting-queued
- "pack" module, designed as a lightweight replacement to the "cluster" module, now available as an experimental extension
- the
- Hosting-queued improvements
- run with a lower priority ("niced")
- improved portability and reliability of startup script
- enabled by default in the Debian package
- Code refactoring and improvements:
- now using the Symphony autoloading code
- fix coding style in a lot of source files
- improved builtin test suite
- eldir is split in its own module again, allowing for porting it more easily to Drupal 7
A more detailed log of bugfixes and improvements is available below.
2. Major API changes
Those changes are, as usual, more explicitly documented in the upgrade path documentation.
- hosting-task now needs a
--force
argument to run a non-queued task - functions that were deprecated in 1.x are now removed
- the
email
andclient_email
database fields are now removed from client and site node types - numerous changes to the IP allocation and SSL management code
Please note that the 2.x API is still not considered stable and may change without warning until 2.x is fully stabilized, see our release process for more information.
3. Installing and upgrading
The canonical source of installation documentation is on the community site at:
http://community.aegirproject.org/installing
In a similar fashion, the upgrade documentation is:
http://community.aegirproject.org/upgrading
Within those sections you'll find step-by-step instructions for performing both manual and automatic upgrade processes.
Note that you should upgrade to the latest 1.x release (currently: 1.9) before attempting the upgrade to 2.x. This is especially important if you are running a pre-1.0 release (poor you!).
It is still imperative that you read the upgrade path and version-specific information and follow all version-specific upgrade instructions before trying to run the upgrade script or manual upgrade.
4. Need help?
If you struggle to install or upgrade your Aegir system, you have a number of options available to you for getting help.
Consult this page for more information: http://community.aegirproject.org/help
Thanks to our awesome community for their help, support and encouragement as always! Enjoy the new release :)
5. Features and improvements
In addition to the "major changes" mentioned above, the following should also be noted.
- #1830994: Login directly via 'login' link
- #1853588: Sort Install profiles on Site add form
- #709862: Allow drush modules to add to apache vhost config template
- #1861896: Make $type argument of function hosting_available_tasks() optional.
- #1843198: Add Content top and bottom to Eldir.
- #1826074: Add tests to ensure site directories are migrated
- #1464220: Support alternative 'Hostmaster' profiles
- #610040: Add X links on listing pages
- #710834: notify clients on site migrations
- #1260066: Allow use of the working copy option when creating a platform
- #1047992: exportable backups
- #1189556: Pull the queue runner into Aegir 2
- #1408410: Add microcaching to Nginx config by default
- #1138104: Tiny module to automatically fill in platform publish path based on title
6. Bugfixes
This is a non-exhaustive list.
- #1735174: server verification fails after configuration on pack slave servers
- #1798252: reload hosting-queued on upgrade
- #1898260: platform form should allow editiong if platform is not verified
- #1435098: Client name validate sometimes gives erroneous results
- #1591720: Illegal choice when selecting sites to verify
- #1587232: All radios labels in forms use incorrect vertical-align property value (middle)
- #1218130: checking "Hide platforms with non-default profiles" breaks D7's minimal and standard profiles
- #1227954: hosting_quota lacks a feature.module_name.inc
- #528064: h2 bigger than h1 in content
- #460974: improve queue admin form
- #1855486: Patch to Remove some Notices
- #1881868: SA-CONTRIB-2012-080 hasn't been applied to 6.x-2.x
- #1873384: 'Silence warning' commit broke 6.x-2.x
- #1843078: aegir 2.x debian packages fail to install
- #1829430: drush hosting-tasks broken
- #1146014: A user can see sites that don't have a client associated.
- #1256508: path aliases for deleted sites are not deleted
- #1249892: Checkboxes on provision page not aligned
- #941870: failure to copy SSL certificates should abort tasks
- #1334950: permissions on /var/aegir/config/server_NAME/SERVICE prevents access
- #1471928: provision-save: Unknown options: --context_type, --platform, --server, --db_server, --profile, --client_name, --aliases
- #1751006: Make is called incorrectly
- #1750974: Unable to pass working-copy or backend-only to hostmaster install
- #1204990: Drop old database when re-deploying a site.
- #1734500: Can't run tests with Drush 4.6
- #1433406: Make hosting (specifically hosting-dispatch) work with Drush 5
- #1690472: Declaration of Provision_Service_null::__call() should be compatible with that of Provision_Service::__call() null.php:27
- #1266484: Cannot verify Drupal 7.8 with PHP 5.2
- #1612044: upgrade from 1.7 to 2.x fails because of drush 5 command file cache
- #1358768: 6.x-2.x generates multiple Undefined property errors on hostmaster install
7. Known issues
The Debian packages were not uploaded correctly on the release day, and have been unblocked only on 2013-12-12 14:45 (UTC-5).