Introduction to distributions
Setting up a Drupal site typically involves downloading and configuring Drupal core, then downloading and configuring various contributed modules, as needed. To make this process easier, there are a variety of "pre-configured" versions of Drupal you can download and use for specific types of sites (e.g. a blogging site, a conference site, a corporate Intranet site, etc.). These "pre-configured" versions of Drupal are called "distributions".
With a 'full-featured' distribution, you can quickly and easily set up a site for a specialized purpose (such as academic, business, government, nonprofit, publishing, social, etc.) in just a few steps:
- Choose your Drupal distribution.
- Install it on your web server.
- Configure it and enable the desired features from your website's Administer section.
Drupal distributions are listed as projects in Download & Extend, filterable by compatibility, popularity, keyword, and more. Many distributions include code (such as the jQuery library) that cannot be hosted on drupal.org due to incompatible licensing, so downloads of these distributions are provided via a 3rd party website.
Distributions vs installation profiles
There is sometimes confusion regarding the terms "distribution" and "installation profile" (also called "install profile"). Here are the definitions:
- Installation profiles are what a developer creates as the basis of distributions. They define installation steps (such as enabling modules, defining content types, etc.) that run after Drupal's base installation when you first install Drupal. One or more standard installation profiles are included in the Drupal Core download; developers can create custom profiles that set up Drupal for specific purposes, and optionally release them for community use on Drupal.org. It is not always easy to attempt to use an installation profile directly, if it requires non-core modules, themes, or libraries -- you would have to locate and download all the required components yourself before you could install Drupal. Instead, it's a lot easier to download a full distribution (if available).
- Distributions are full copies of Drupal that include Drupal Core, along with additional software such as themes, modules, libraries, and installation profiles. The automatic packaging scripts on Drupal.org turn installation profiles into distributions, by gathering all the modules, themes, and libraries they require into a single zip archive, so that all you need to do is download the full archive and run the install script.
Types of distributions and other Drupal installations
Here is a comparison of the different types of Drupal distributions and installations:
|Drupal installations||Target users||Delivery||Contrib. modules||Use case||Examples|
|Drupal core||Developers, site builders||Package||None||Generic||Drupal 6, Drupal 7|
|Full-featured distributions||Site builders, end-users||Package||Usually many||Specialized (all-inclusive products)||Aegir, Commons, Conference Organizing, Donor Rally, eRecruiter, ERPAL for Service Providers, farmOS, Managing News, NodeStream, Open Atrium, Open Enterprise, Open Outreach, OpenPublic, OpenPublish, OpenScholar, Pushtape, Restaurant, VoiceBox, Watershed Now...|
|Other distributions||Developers, site builders||Package||Few or none, in most cases||Specialized, almost always (quick-start tools)||Acquia Drupal, Build Kit, Cocomore Drupal, Commerce Kickstart, Drupal.org Testing, ERPAL Platform, Feeds Test Site, Localized Drupal, Media Development Profile, Multilingual Drupal, Panopoly, Pressflow...|
|SaaS (Software as a Service) platforms||End-users||Cloud||Many||Generic, or specialized||Buzzr, Drupal Gardens, Pagebuild, ProsePoint Express, SubHub...|
When to use distributions
There are no hard and fast rules about when to use distributions, but here are a few guidelines:
- Evaluating Drupal: If you're just getting started with Drupal it makes sense to try a distribution, since they are easier to setup and you can see real life examples of what Drupal can do. Not all distributions are equal though, so start with a popular well maintained distribution.
- Demoing Drupal: Before building a site for someone it can be useful to show them examples of how Drupal can be configured.
- Learning Drupal: In the administration section of a distribution, you can study the inner workings of a real example of Drupal site, learn all the details about how it is built and configured to obtain specific functionality, experiment with any changes and additional modules and themes, etc.
- Quickly building a site: If you're building a site similar to one provided by a distribution it makes sense to start with a distribution. After installing you can continue to configure the site, add modules, create themes, etc. You can even undo things that the installation profile script may have done. If you're changing too much though it may make more sense to just start with stock Drupal and build from there, rather than try to undo and change what was setup for you.
How to install Drupal using a distribution
Some distributions have specific installation instructions, but otherwise the installation instructions for Drupal are also relevant for distributions.
Maintaining sites based on distributions
An installation profile is a script that only runs once during your Drupal site install so using an installation profile (or a distribution with an installation profile) won't necessarily limit how you maintain your site with security updates. Many popular distributions even provide regular updates for Drupal and all the additional modules the distribution includes. However, some distributions depend on custom modules that aren't available anywhere else, and if the distribution stops being maintained it is possible to be stuck with a Drupal site that cannot easily be upgraded. Care should be taken to be use well maintained distributions if there isn't anyone available with the skills needed to update a custom site.