DEV Community

Cover image for How to setup a Wordpress or Drupal site locally with DDEV
David Loor
David Loor

Posted on • Originally published at

How to setup a Wordpress or Drupal site locally with DDEV

DDEV is an open source tool that allows setting up local sites using docker, quickly. You don’t need to know complex concepts about docker to be able to have your local WorpPress or Drupal sites working. You can check their official documentation here and here

The steps/commands listed below are the ones that I have needed the most, so I am moving this note to the web as a reference for myself, in the future, or to help others who may needed.

How to install DDEV

  1. Install homebrew, following the steps at:
  2. Install ddev (MAC): brew install drud/ddev/ddev
  3. You need to run ddev config once per project to set it up, and it will ask you three questions:
    • What’s site name?
    • What’s the location of the docroot?
    • What type of project is it? Such as Drupal, PHP, WordPress, etc.
  4. You need to run ddev start to have the project up and running. You can run the command from outside of the folder if you remember the project name.
  5. Want to import a database? You can run ddev import-db –src=dumpfile.sql.gz from the project directory. It will drop the database for you before importing the new database backup.
  6. What about if you need to run composer, drush or wp-cli commands? You should run ddev ssh
  7. Are you having an error and need to see the logs? You should run: ddev logs -f
  8. I have needed to run this command before I was able to run drush on some of my Drupal projects: ddev composer require drush/drush
  9. Need to get the URL of the sites, the port or check if the services are active? ddev describe will give you that info.
  10. If you need to have your local sites using with https, you should run: mkcert -install
  11. Need to debug PHP code with xdebug? You will need to run ddev xdebug to enable it. ddev xdebug off will turn it off again.
  12. You are on mac, and your local sites are super slow, you should run ddev config global –mutagen-enabled and it will enabled mutagen globally. You will notice the difference immediately.
  13. If you followed the step 12, and need to update a lot of files (maybe updating plugins or modules?), mutagen may be slow to pick the updated files, so you may need to run ddev mutagen sync to accelerate the sync process.
  14. Need to test your site with a different PHP version, so you can use ddev config –php-version 8.0 8.0 can be any PHP version that you need.

What is your favorite way to setup local sites?

Top comments (1)

kujiranoai profile image
Kujiranoai • Edited

Hi this is interesting thanks. I’m a bit new, so I might not get this quite right.

I understand docker is stateless, so I’m guessing that if you deployed a Wordpress site to the cloud you couldn’t then actually edit any posts etc while it was in running in the cloud, as if your container stopped then you would lose the new posts or other edited data.

Therefore if you ever wanted to run a dockerized Wordpress site in the cloud (for example on Google cloud run) you would have to make your changes - new posts etc - locally, and then deploy (in which case your article is probably a great help to make things easier).

Does this sound right to you?

I guess another alternative might be to have Wordpress in a container but with its database as a MySQL mounted volume and not containerized, but that sounds complicated to a beginner like me…?!

Anyway, thanks for the article.