Get a local instance of Drupal up and running fast with DDEV
A quickstart guide to getting a brand new instance of Drupal running on your Mac, with minimal fuss and stress.
This is the quickest way I’ve found to get a local instance of Drupal up and running on macOS. (Deploying to a remote server isn’t covered in this post.)
Requirements permalink
If you have not already done so, install the following tools:
- Docker Desktop
- Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - Composer:
brew install composer - Node/npm:
brew install node - DDEV:
brew install ddev/ddev/ddev - mkcert:
mkcert -install
Installation permalink
I initially followed this Digital Ocean guide and distilled the key steps into the below sequence. (The Digital Ocean tutorial also covers Linux.)
mkdir __project_name__cd __project_name__ddev config --project-type=drupal11 --docroot=web --create-docrootddev startddev composer create-project "drupal/recommended-project"- This will install the latest stable version of Drupal. To choose an older version, say v10, run
ddev composer create-project "drupal/recommended-project:^10".
- This will install the latest stable version of Drupal. To choose an older version, say v10, run
ddev composer require "drush/drush"- If you get a PHP version compatibility error running this command:
- Update
php_versionin.ddev/config.yaml. ddev restart- Run step 6 again.
- Update
- If you get a PHP version compatibility error running this command:
ddev exec drush site:install --account-name=admin --account-pass=admin(or replaceadminwith a more secure username and password.)ddev launch
Bish, bash, bosh: a new Drupal site, with the URL https://__project_name__.ddev.site/, should now open in your browser. Nae bother.
That’s it permalink
You might like to install Bootstrap5 as a starter theme: composer require 'drupal/bootstrap5'. And these modules:
- Simple XML sitemap:
composer require drupal/simple_sitemap && ddev drush pm:enable simple_sitemap - Admin Toolbar:
composer require drupal/admin_toolbar && ddev drush pm:enable admin_toolbar admin_toolbar_tools admin_toolbar_search - Pathauto:
composer require drupal/pathauto && ddev drush pm:enable pathauto
At this point you might commit the code to a git repo, then get on with developing your site.
If you have any corrections or optimisations, please comment below.