Community Documentation

Installation profiles and distributions

Last updated January 2, 2012. Created by benshell on March 11, 2011.
Edited by juan_g, Sheldon Rampton, lisarex, wylbur. Log in to edit this page.

Setting up a Drupal site typically involving downloading and configuring Drupal core, then downloading and configuring various contributed modules as needed. However, 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.

Finding Distributions

Drupal installation profiles/distributions are listed as projects in Download & Extend, filterable by compatibility, popularity, keyword and more.

Note that most 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 3rd party website.

Documentation for distributions includes documentation hosted on drupal.org as well as a list of Additional distribution documentation for documentation kept on the distribution's own site.

Distributions vs Installation Profiles

There is sometimes confusion regarding the terms Distributions and Installation Profiles (also called Install Profiles).

  • Installation profiles are scripts that run once when a new Drupal website is initially installed by running the install.php script. A standard installation profile is included with the Drupal core software, and additional installation profiles are available that preconfigure Drupal for various specialized purposes, many of which are listed in the table below.
  • Distributions are full copies of Drupal that include a full version of Drupal core and may also include additional software including extra themes, modules and installation profiles.

You don't need to know much about Installation Profiles unless you are a developer who is writing one for a custom Distribution of Drupal that you plan to release. On Drupal.org, even many of the downloads labeled as Installation Profiles are really Distributions, thanks to the packaging script which bundes the installation profiles up as full distributions.

Types of Distributions and other Drupal Installations

A comparison of the different types of Drupal installations, including full-featured and other distributions, also called packaged installation profiles:

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, Managing News, NodeStream, Open Atrium, Open Enterprise, Open Outreach, OpenPublic, OpenPublish, OpenScholar, 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, Feeds Test Site, Localized Drupal, Media Development Profile, Multilingual Drupal, Pressflow...
SaaS 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.

Comments

Changing Install Profiles later

What is the post-installation implication of using a profile vs a standard drupal installation? I installed Drupal with an install profile, then decided not to use its main module (although I will use most of the other included modules).

The only difference I see is that some modules are in /profiles/displaysuite/modules and my profile on my status report. Should I change to the default profile and move the modules to the sites/all/modules folder? If yes, how do I change my install profile? I don't see any way to do this. If it's possible, I imagine I have to port the module code into sites/all/modules. Must I disable the modules before moving the source code? Will I lose any configuration (e.g., content types, wysiwyg config)?

Disable? Yes. Uninstall? No.

You can move modules out of /profiles/*/modules into /sites/all/modules.

You can do that without uninstalling the modules first.

You should disable the modules and put the site into maintenance mode before doing the above.

You won't lose configs, if done this way.