I'd Like A Server With That Web Site, Thank You: Provisioning Servers and Install Profiles

4 min read

Over the last few weeks, we have done some work building out an automated installation script that runs on Linode. More detail is provided below, but for those of you looking to move on and read something else, here's the short version: it can provision and tune your server, and install your web site, in about 15-20 minutes.

For those unfamiliar with Linode (see note below), they are a hosting company that provides VPS hosting. Within Linode's hosting environment, people can set up stackscripts to automate/streamline setting up a hosting infrastructure.

Atrium

We worked with Dennison Williams to start the process of building this script. It's also worth noting that, while this script is specific to Linode, the steps within this script can be used as the basis of a script to automate an install in a variety of other hosting environments, from Amazon Web Services to the Ubuntu Cloud.

Some of the steps automated by this script include:

  • Provisioning Linux, Apache, PHP, and MySQL on Ubuntu 10.04;
  • Low-level performance tuning for Apache, PHP, and MySQL;
  • General security hardening, including installing fail2ban
  • Installing Drush;
  • Installing APC;
  • Setting up cron jobs;

And, of course, it completes the process by downloading the codebase for VoiceBox, which can then be installed on the freshly provisioned system.

So, in the space of about 15-20 minutes, you can install a completely configured web site on a tuned, secure, scalable web host. Currently, we have this configured to grab and install VoiceBox, but given that this script can be modified to grab other codebases, it can also be used to automate other installation profiles (Managing News, Open Atrium, Open Public, Open Publish, etc) just as easily. This script makes another aspect of getting up and running with installation profiles that much easier.

This also ties in with ongoing work to make installation profiles - and their component features - more reusable. As we learned during our VoiceBox build, creating reusable features for install profiles is easier said than done.

This is where today's news about the acquisition of two of the most popular installation profiles - Managing News and Open Atrium - becomes relevant. Managing News and Open Atrium were built by Development Seed, and were acquired by Phase2; both of these shops have an amazing track record of high quality work, and of contributing code back to the community. This acquisition represents a significant investment in install profiles, which means that the tools to build and maintain them will likely be improving in Drupal 7 and beyond. It also sets up an opportunity to further the conversation about what is needed to take installation profiles to the next level. Given that we have been building and distributing pre-configured sites since 2005, we're looking forward to continuing our work in this space.

So, as we continue to look at the process of building and maintaining web sites, using installation profiles takes the sting out of the initial site build. Reusable features have the potential to allow useful functionality to be built once, and reused in multiple places.

Automated provisioning scripts take the sting out of building a secure server infrastructure. For many sites, using the advantages of cloud-based hosting takes the sting out of scaling a site.

To be clear, both on their own and collectively, none of these approaches are silver bullets, and running a moderately trafficked web site still requires maintenance time and technical expertise. But, these approaches make running a successful web site more accessible to more people, and will allow greater numbers of people and organizations to get more done with less work and less cost.

Image Credit: "Atrium" taken by Schrottie, published under an Attribution-NonCommercial-ShareAlike license.

NOTE: We do not have any type of sales/affiliate relationship with Linode (or any other hosting company); in our experience, affiliate agreements destroy the credibility and therefore the usefulness of any recommendation. We are, however, using Linode for several internal projects. If/when we discover other options that offer similar value, we'll definitely talk about them, and probably start using them.

, , , , , ,