bedrock 0,3,0,2,1,2,0,1 editorconfig travis-ci Packagist

WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure

Bedrock

Packagist Build Status

Bedrock is a modern WordPress stack that helps you get started with the best development tools and project structure.

Much of the philosophy behind Bedrock is inspired by the Twelve-Factor App methodology including the WordPress specific version.

Features

  • 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)

Use Trellis for additional features:

  • Easy development environments with Vagrant
  • Easy server provisioning with Ansible (Ubuntu 16.04, PHP 7.1, MariaDB)
  • One-command deploys

See a complete working example in the roots-example-project.com repo.

Requirements

Installation

  1. Create a new project in a new folder for your project:

composer create-project roots/bedrock your-project-folder-name

  1. Update environment variables in .env file:
    • DB_NAME - Database name
    • DB_USER - Database user
    • DB_PASSWORD - Database password
    • DB_HOST - Database host
    • WP_ENV - Set to environment (development, staging, production)
    • WP_HOME - Full URL to WordPress home (http://example.com)
    • WP_SITEURL - Full URL to WordPress including subdirectory (http://example.com/wp)
    • AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALT

If you want to automatically generate the security keys (assuming you have wp-cli installed locally) you can use the very handy wp-cli-dotenv-command:

  wp package install aaemnnosttv/wp-cli-dotenv-command

  wp dotenv salts regenerate

Or, you can cut and paste from the Roots WordPress Salt Generator.

  1. Add theme(s) in web/app/themes as you would for a normal WordPress site.

  2. Set your site vhost document root to /path/to/site/web/ (/path/to/site/current/web/ if using deploys)

  3. Access WP admin at http://example.com/wp/wp-admin

Deploys

There are two methods to deploy Bedrock sites out of the box:

Any other deployment method can be used as well with one requirement:

composer install must be run as part of the deploy process.

Documentation

Bedrock documentation is available at https://roots.io/bedrock/docs/.

Contributing

Contributions are welcome from everyone. We have contributing guidelines to help you get started.

Community

Keep track of development and community news.

Related Repositories

bedrock

bedrock

WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure ...

bedrock

bedrock

Making mozilla.org awesome, one pebble at a time ...

roots-example-project.com

roots-example-project.com

Example project that uses Trellis, Bedrock, and Sage ...

bedrock-capistrano

bedrock-capistrano

Capistrano configs/integration for Bedrock ...

bedrock

bedrock

A minimalist boilerplate for Express apps. ...


Top Contributors

swalkinshaw retlehs austinpray aaemnnosttv alexsomeoddpilot QWp6t fabschurt Foxaii starise BrandonShutter kucrut etcook fredriksundstrom meierjan rasmusbe louim emzo benjibee chrisnx dannyfischer pcfreak30 bendoh francescolaffi jonknapp nmec JulienMelissas KLVTZ liviucmg 8ig8 dvorakluk

Dependencies

package version
php >=5.6
composer/installers ~1.2.0
vlucas/phpdotenv ^2.0.1
johnpbloch/wordpress 4.8.1
oscarotero/env ^1.1.0
roots/wp-password-bcrypt 1.0.0
dev squizlabs/php_codesniffer ^2.5.1

Releases

-   1.7.2 zip tar
-   1.7.1 zip tar
-   1.7.0 zip tar
-   1.6.4 zip tar
-   1.6.3 zip tar
-   1.6.2 zip tar
-   1.6.1 zip tar
-   1.6.0 zip tar
-   1.5.4 zip tar
-   1.5.3 zip tar
-   1.5.2 zip tar
-   1.5.1 zip tar
-   1.5.0 zip tar
-   1.4.7 zip tar
-   1.4.6 zip tar
-   1.4.5 zip tar
-   1.4.4 zip tar
-   1.4.3 zip tar
-   1.4.2 zip tar
-   1.4.1 zip tar
-   1.4.0 zip tar
-   1.3.7 zip tar
-   1.3.6 zip tar
-   1.3.5 zip tar
-   1.3.4 zip tar
-   1.3.3 zip tar
-   1.3.2 zip tar
-   1.3.1 zip tar
-   1.3.0 zip tar
-   1.2.7 zip tar