Skip to content
Bedrock
v1.23.2

Installation

What is Bedrock?

Bedrock is a WordPress boilerplate.

Why use Bedrock?

  • Better folder structure
  • Dependency management with Composer
  • Easy WordPress configuration with environment specific files
  • Environment variables with Dotenv
  • Autoloader for mu-plugins (use regular plugins as mu-plugins)
  • Enhanced security (separated web root and secure passwords with wp-password-bcrypt)

Requirements

Installing Bedrock with Composer

Create a new Bedrock project:

$ composer create-project roots/bedrock

Getting Started

  • Create a .env file with the following environment variables (see .env.example as an example):
    • Database variables
      • DB_NAME - Database name
      • DB_USER - Database user
      • DB_PASSWORD - Database password
      • DB_HOST - Database host
      • Optionally, you can define DATABASE_URL for using a DSN instead of using the variables above (e.g. mysql://user:password@127.0.0.1:3306/db_name)
    • WP_ENV - Set to environment (development, staging, production)
    • WP_HOME - Full URL to WordPress home (https://example.com)
    • WP_SITEURL - Full URL to WordPress including subdirectory (https://example.com/wp)
    • AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALT
  • Add theme(s) in web/app/themes/ as you would for a normal WordPress site
  • Set the document root on your webserver to Bedrock's web folder: /path/to/site/web/
  • Access WordPress admin at https://example.com/wp/wp-admin/

Multisite

Bedrock is multisite network compatible, but needs the roots/multisite-url-fixer mu-plugin on subdomain installs to make sure admin URLs function properly. This plugin is not needed on subdirectory installs but will work well with them. From your Bedrock directory:

$ composer require roots/multisite-url-fixer

Contributors

Last updated

Support Roots

Help us continue to build and maintain our open source projects. We’re a small team of independent developers and every little bit helps.

Sponsor Roots on GitHub