Adoptable Cookbooks List

Looking for a cookbook to adopt? You can now see a list of cookbooks available for adoption!
List of Adoptable Cookbooks

Supermarket Belongs to the Community

Supermarket belongs to the community. While Chef has the responsibility to keep it running and be stewards of its functionality, what it does and how it works is driven by the community. The chef/supermarket repository will continue to be where development of the Supermarket application takes place. Come be part of shaping the direction of Supermarket by opening issues and pull requests or by joining us on the Chef Mailing List.

Select Badges

Select Supported Platforms

Select Status


drupalbaseplus (5) Versions 0.1.7

Installs a web site based on Drupal CMS using Drush as the workhorse for (almost) everything

cookbook 'drupalbaseplus', '~> 0.1.7', :supermarket
cookbook 'drupalbaseplus', '~> 0.1.7'
knife supermarket install drupalbaseplus
knife supermarket download drupalbaseplus
Quality 17%

drupalbaseplus Cookbook

This cookbook creates a working web site installation, based on Drupal CMS and using Drush behind the scenes to provide a functional site that includes the core of Drupal along with some projects/modules of common use.

The main goal of this cookbook is to be a time server for web site developers based on Drupal, by providing a more than functional site via an automated way.

A second desirable goal of this cookbook is to serve as a base to create customized Drupal installations, via attribute's overriding as well as providing additional details.


Anything than Drupal and Drush require to work is required by this cookbook. Basically this means a Linux based environment as well as the following.

Packages to install

The following packages are installed by this cookbook:

  • php-gd - required by Drupal
  • php-cli - needed by Drush
  • unzip - needed by Drush when downloading some zipped libraries or projects
  • git - needed by Drush when downloading some libraries or projects managed with Git
  • mysql - Drupal needs a database or a way to connect to a database
  • php5-mysql - Drupal needs a way to connect to a database
  • apache2 - the web server. Some work is needed to adapt


This cookbook works on the following platforms:

  • Ubuntu 12.04

Maybe it could work with another Ubuntu versions, as well as with Debian.


Only manual testing. Automated testing is a pending assignment.


  • drupalbaseplus::default - it is the workhorse of this cookbook
  • drupalbaseplus::install_drush - installs Drush via PEAR


Several defaults are assumed for the following attributes:

  • default['drupalbaseplus']['install_drush'] - base directory to install drush
  • default['drupalbaseplus']['core_version'] - Drupal core version to use, defaults to '7.x'
  • default['drupalbaseplus']['site_short_nick'] = a quick, short and easy name to refer to this web site
  • default['drupalbaseplus']['site_dir'] - base directory to site installation
  • default['drupalbaseplus']['site_vhost_name'] - name used to generate the web server virtual host file for the site
  • default['drupalbaseplus']['site_url'] - url of the site, used as the server name of the web server virtual host
  • default['drupalbaseplus']['site_formal_name'] - site name or label to show by default on the title of web pages
  • default['drupalbaseplus']['site_default_locale'] - locale ISO code to use on site installation via drush
  • default['drupalbaseplus']['site_default_country'] - country ISO code to use on site installation via drush
  • default['drupalbaseplus']['site_admin_account'] - admin user account to use on site installation via drush
  • default['drupalbaseplus']['site_admin_password'] - admin user password to use on site installation via drush
  • default['drupalbaseplus']['site_admin_mail'] - admin user e-mail address to use on site installation via drush
  • default['drupalbaseplus']['www_system_user'] - system user running the web server
  • default['drupalbaseplus']['www_system_group'] - system group running the web server
  • default['drupalbaseplus']['setup_site_database'] - do we need to create the database? Default is true
  • default['drupalbaseplus']['database_host'] - database server address
  • default['drupalbaseplus']['database_port'] - database server port
  • default['drupalbaseplus']['database_name'] - database name
  • default['drupalbaseplus']['database_site_user'] - database user name to configure the web site with
  • default['drupalbaseplus']['database_site_password'] - database user password to configure the web site with
  • default['drupalbaseplus']['theme_default'] - Drupal theme to set as the default one
  • default['drupalbaseplus']['cache_to_clear'] - Drupal type of cache to clear via Drush, default to 'all'
  • default['drupalbaseplus']['jsons_for_drush_make'] - array of JSON strings containing projects, libraries and translations to build the drush make file. First position in the array is for the parent or base site and each of the following positions correspond directly to each site deeper in the hierachy; normally only the parent and one child site will be used
  • default['drupalbaseplus']['tinymce_langs'] - required language files to download for Tiny MCE wysiwyg editor
  • default['drupalbaseplus']['modules_themes_to_enable'] - array of modules and themes to enable via drush pm-enable command
  • default['drupalbaseplus']['modules_themes_to_disable'] - array of modules and themes to disable via drush pm-disable command; useful when child site wants to disable some modules already disable by its parent site
  • default['drupalbaseplus']['is_devel_site'] - unused
  • default['drupalbaseplus']['is_production_site'] - unused
  • default['drupalbaseplus']['can_reinstall'] - boolean attribute to allow (or not) the reinstallation of the web site. It is a safeguard to avoid losing, specially by mistake in a production environment, an already installed website. It is false by default



Just include drupalbaseplus in your node's run_list:

  "run_list": [

Also you could create a wrapper cookbook for a custom web site, customizing some attributes and then including the drupalbaseplus recipe. For example:

node.default['drupalbaseplus']['site_url'] = ''
node.default['drupalbaseplus']['site_short_nick'] = 'my-site'
node.default['drupalbaseplus']['site_dir'] = '/var/www/my-site'
node.default['drupalbaseplus']['database_name'] = 'mysitedb'
node.default['drupalbaseplus']['database_site_user'] = 'mysiteuser'
node.default['drupalbaseplus']['database_site_password'] = '-PGm2CV+nZYa6_'
node.default['drupalbaseplus']['jsons_for_drush_make'] <<
  "projects": {
    "simplecorp": {},
    "foundation7": {
      "type": "theme",
      "download": {
        "type": "git",
        "url": "git://"
node.default['drupalbaseplus']['modules_themes_to_enable'] << "foundation7"
node.default['drupalbaseplus']['theme_default'] = 'foundation7'
include_recipe "drupalbaseplus"


Use it, fork it and every correction, suggestion and improvement will be well received.

License and Authors

Author:: Rodolfo Castellanos: <rodolfojcj at>

Copyright:: 2014, OpenSinergia

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
See the License for the specific language governing permissions and
limitations under the License.

Dependent cookbooks

apache2 >= 0.0.0
database >= 0.0.0
drush >= 0.0.0
mysql = 5.5.3

Contingent cookbooks

There are no cookbooks that are contingent upon this one.

drupalbaseplus CHANGELOG


  • Added integration of IMCE with Wysiwyg modules to ease the integration with TinyMCE in order to allow uploading images when editing content in Drupal


  • Fix in virtual host configuration for Apache 2.4 (or older versions too)


  • Fix to allow clean urls with differents versions of Apache


  • Fix in the way of using mysql cookbook version 5.5.3


  • Minor changes in metadata and documentation


  • Fix in syntax


  • Fix in the inclusion of deep_merge gem


  • Initial release of drupalbaseplus - a work in progress

Collaborator Number Metric

0.1.7 failed this metric

Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.

Contributing File Metric

0.1.7 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Foodcritic Metric

0.1.7 failed this metric

FC064: Ensure issues_url is set in metadata: drupalbaseplus/metadata.rb:1
FC065: Ensure source_url is set in metadata: drupalbaseplus/metadata.rb:1
FC066: Ensure chef_version is set in metadata: drupalbaseplus/metadata.rb:1
FC069: Ensure standardized license defined in metadata: drupalbaseplus/metadata.rb:1
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any

No Binaries Metric

0.1.7 passed this metric

Testing File Metric

0.1.7 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must contain a file

Version Tag Metric

0.1.7 failed this metric

Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of, and your repo must include a tag that matches this cookbook version number