How To Install Aegir and Use it to Deploy Drupal Sites on a Debian VPS

Introduction

Aegir is huge hosting system for sites powered by Drupal many of which are based upon the Drush, Drupal (for Aegir core) and Drupal deployment tools.It becomes very easy to host, manage and deploy Drupal sites with Aegir. Upon deployment, a hosting system managed by web frontend possessing the capability of creating new sites or transferringpreviously existing sites into it will be obtained. Many companies working with Drupal use this cool system.

Requirements: Fundamental skills for Linux system administration, root access, and the requisite time for experimenting.

Begin reading and continue.

Installation

For a clean deployment and smooth running of Debian 7, you require minimum memory of 1GB of RAM (Certainly Aegir can be installed on different systems like Ubuntu. Even methods are there for installing it without the root access, but much more complicated Linux skills are required for it. So, in this guide we will utilize the aegir package).The apt packaging systemcan be utilized for installing Aegir, but we will require some changes to ensure error free deployment.

Ensure that your applications and system are up-to-date:

aptitude update
aptitude safe-upgrade

On being logged into your server as root, the project’s repository needs to be added into your system using the command given below:

echo "deb http://debian.aegirproject.org stable main" >> /etc/apt/sources.list.d/aegir-stable.list

As the Aegir package is self-signed, its key also needs to be added to the system too:

wget -q http://debian.aegirproject.org/key.asc -O- | sudo apt-key add -
aptitude update

Aegir needs that server should have FQDN (Fully Qualified Domain Name) configured. Fundamentally, the hostname provided by hostname -f and uname -a  should resolve to your server’s IP address.

For Instance: if you wish to have ‘aegir.example.com’ domain as your FQDN, then you will have to put it in/etc/hostname file:

echo 'aegir.example.com' > /etc/hostname

This domain should also be added in your /etc/hosts file, so it will be same as this instance–don’t forget to exchange the second IP address with your server’s public IP address! (any text editor of your choice can be used):

127.0.0.1 aegir.example.com localhost
222.222.222.222 aegir.example.com localhost

In order for the changes to take effect, restart your server with the reboot  command following those changes.

 

Finally, Aegir can be installed by just running this command. Aegir frontend URL (like domain name utilized for accessing Aegir administration) and mysql root password need to be set during the process of installation.

aptitude install -y aegir2

On finishing of installation, you will get a link for accessing Aegir for the first time. The link includes secure token for resetting admin password, as no password has been set till now. Don’t forget using it!

CONGRATULATIONS! Now you possess a completely operationalaegir hosting system. Next we need understanding of Aegir’s working.

Aegir Basics

You can clearly see that the main ‘administration’ site is quite similar to Drupal 6. Yes, Drupal 6, as stated earlier, Aegir is based upon Drush and Drupal. There are three Aegir consists of three fundamental elements – Server, Platform and Site. All things are shown as a node. One node is one site, same as the Platform representing one node.

Server – Aegir possesses the capability of operating your sites across multipledifferent servers. For instance, it is possible to host site files on the same server as aegir and hostMySql database on another.

Platform –Here, all your site files are saved. A single platform can handle a number of sites – it utilizes multi-site feature of Drupal basically. It translates to one Drupal core itself alongwith site-specific files in the sites/web1.com or sites/web2.com folders.

Site –Lastly, a site represents common website.

Now we are ready to install our first site!

How to create a new site

First of all, a Platform needs to be created for our site which will provide our site’s base.

We need to inform Aegir what our Platform should comprise utilizing – a so called makefile. Information is contained in this file about the Drupal version, modules, etc. It can be created using a simple command asfollows: being logged in as the root, switch user to aegir from root, develop the makefile and provide the information in it.

su aegir
cd /var/aegir/platforms
mkdir makefiles && cd makefiles
touch d7.make

Now the text given below needs to be dropped into the d7.make file (this file is used to declare the Drupal core 7 and its modules’download with the same name as is listed in the makefile).

api = 2
core = 7.x
projects[] = drupal
projects[] = views
projects[] = pathauto
projects[] = wysiwyg
projects[] = token
projects[] = admin_menu

Now a new Platform needs to be directly created in Aegir. The navigation bar on the screen’s top can be used (Content management->Create content->Platform) or creation form can be accessed directly on yourweb.com/node/add/platform.It’s good practice to keep same name of folder and the platform. In this instance, wewill use:

Name hosting-d7

Path: /var/aegir/platforms/hosting-d7  (should fill automatically)

Makefile /var/aegir/platforms/makefiles/d7.make

Drush make opton Normal - Discards SCM files

 

On saving the form, wait for some time, till the task in Queue (on the right) turns green.

1

 

We are now ready for creating the site, and that is very simple just like a form submission (Content management->Create content->Site or yourweb.com/node/add/site). Don’t forget that Standard installation profile should be chosen.

Once the form is saved, your site will be ready in no time. Utilize the Viewbutton adjacent to the Install task for locating your reset password URL. Now your site is all done!

2

Now we will view the site administration:

3

What’s next?

Aegir core can do a lot with our site in addition to installing it.

Backup –Single click manual backup system. This module can be used for setting automatic backups.

Clone –In case you need to test any new feature, then this feature will provide you with your site’s clone where you can safely test almost anything.

Migrate –This is mostly utilized for updation of site’s core, module etc.

Disable –This feature can be used for disabling the site without touching any files in case site is under attack or payment from client site is due.

More features can be obtained (Piwik integration,HTTP authentization, automated backups, git support, etc.) by Aegir installation extension using modules (just as with normal Drupal). Many modules can be found on this site.

 

KB Admin has written 28 articles

Leave a Reply