Absolute Beginners Guide to Root’s Trellis + Bedrock + Sage

I have a knack for hitting every possible obstacle. It stems from the early days of my education and is something I’ve had to hobble through life trying to mitigate. Since the internet though, I’ve found that there are many others like me.

So when I try a new technology I am in the habit of documenting my steps both so I can get the best possible support and so I can help others avoid the pitfalls I encounter.

This time, I was trying to develop a new website with Trellis (WordPress optimized server) + Bedrock (a fork of WordPress Core) + Sage (a WordPress Theme designed for use with Bedrock).


This guide is designed to walk you through literally every step of the process. There are some preferential things I do, and you’re welcome to skip those, but I’m not going to provide alternative instructions because… well I just don’t want to spend the time doing that right now, haha.


Setup Your Environment (Trellis)

  1. Download and Install Google Chrome
  2. Download and Install Sublime Text 3
  3. Download and Install iTerm
  4. Install Brew – This is a package installer, required to install ZSH.
    1. Note: Check to see if you have Brew installed first.
  5. Install ZSH – This is a prerequisite for Oh My ZSH.
    1. Note: Check to see if you have ZSH installed first: zsh --version
  6. Install Oh My ZSH – This adds code coloring and other improvements to your Shell (Terminal / iTerm).
  7. Install Ansible
    • To avoid the module six error that occurs for some sites, running an older version of Trellis execute: sudo pip install --ignore-installed six
  8. Install VirtualBox
  9. Install Vagrant – Think of Ansible like WordPress’ system to install Plugins. Other developers can write scripts to setup a whole server and give that script to Ansible which executes it.
  10. Install Vagrant-BindFS
  11. Install Vagrant-HostManager
  12. Install ClipMenu for Mac
  13. Create a local SSH key and copy it to Github.


Setup the WordPress Install (Bedrock)

  1. In Terminal, navigate to your site’s root directory /site and execute: “composer require roots/wp-h5bp-htaccess 2.0.1


Additional Notes

Then follow the rest of the instructions here, see my notes below for nuances.

  • When I created my Digital Ocean Droplet I chose “Monitoring” and “IPV 6”.
  • I want to contribute a comment in the code for each wordpress_sites.yml that states it must be the same parent level domain across each.
  • There is a typo in the instructions on `https://roots.io/trellis/docs/remote-server-setup/` when you run that command it requires you to install pastille but the second line is missing sudo at the beginning.
  • Possibly add to docs a note about consequences when you re-run scripts/playbooks. For Ex. The SSL issue.
  • If you only allow access to the server via SSH Key Pairs and you happen to lose the Private Key then you can regain access if by uploading a new Public Key via the Digital Ocean console found here: https://discourse.roots.io/t/help-with-users-on-secured-droplet/4713/6
    • What if you’re not with Digital Ocean? Then – worst case – you would plug a monitor, keyboard and mouse into the physical computer and manage it as if it were an ordinary computer.

Spencer Hill
Categorized in: Uncategorized
This post is related to:


Since 2005 we've been offering digital and content marketing strategy and implementation. Including website development, search engine optimization and marketing, search marketing and more.

Continue Reading »



[email protected]




8215 SW Tualatin-Sherwood Road, Suite 200, Tualatin, Oregon 97062


  • If you like our Blog you'll love our Emails.
    We'll share our expert knowledge on technology and growing your business.

    This will close in 0 seconds

    Logo for The Portland Company with a Coyote