Ahnii!

Drupal has never been known for quick and easy installation, but with the rise of containers it’s now as easy as executing a few commands in a terminal. This post walks through setting up a local Drupal environment using DDEV.

Prerequisites

Installing the prerequisites is beyond the scope of this post but here is a linked list of what you need installed on your system:

Download and Install Drupal

  1. composer has become the de-facto standard package manager of PHP projects and the Drupal recommended way to manage a Drupal installation:

    # use composer to download Drupal
    composer create-project drupal/recommended-project my-drupal-site \
        && cd $_ # $_ will contain 'my-drupal-site'
    
  2. DDEV is a wrapper for Docker Compose that spins up containers configured to serve PHP projects with an SQL database:

    # create a ddev config and settings.php for Drupal
    ddev config --docroot web --project-name $_ --project-type drupal8
    
  3. Start the containers:

    ddev start
    

    Once the containers successfully start a link will be displayed to visit your site:

    Successfully started my-drupal-site
    Project can be reached at http://my-drupal-site.ddev.site http://127.0.0.1:32780
    
  4. Before Drupal is usable it must be installed. You can click through the install wizard or use drush, a command-line utility for Drupal, that comes installed with DDEV:

    ddev exec drush site-install -y --account-name=admin --account-pass=my-password
    

That’s it! Drupal is installed and running at http://my-drupal-site.ddev.site.

Login

You can login with the following credentials:

username: admin
password: my-password

Further Reading

Documentation: https://ddev.readthedocs.io/en/latest/

DDEV includes some handy functionality, like running composer and drush within the web container to download and install new modules.

You can easily import/export your database, or tap into ngrok to share a browse-able link to your project accessible from the internet.

Baamaapii