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.
- 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 14.04, PHP 5.6 or HHVM, MariaDB)
- One-command deploys
See a complete working example in the roots-example-project.com repo.
- PHP >= 5.5
- Composer - Install
- Clone the git repo -
git clone https://github.com/roots/bedrock.git
- Run
composer install
- Copy
.env.example
to.env
and update environment variables:
DB_NAME
- Database nameDB_USER
- Database userDB_PASSWORD
- Database passwordDB_HOST
- Database hostWP_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
- Generate with wp-cli-dotenv-command or from the WordPress Salt Generator
- Add theme(s) in
web/app/themes
as you would for a normal WordPress site. - Set your site vhost document root to
/path/to/site/web/
(/path/to/site/current/web/
if using deploys) - Access WP admin at
http://example.com/wp/wp-admin
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.
Bedrock documentation is available at https://roots.io/bedrock/docs/.
Contributions are welcome from everyone. We have contributing guidelines to help you get started.
Keep track of development and community news.
- Participate on the Roots Discourse
- Follow @rootswp on Twitter
- Read and subscribe to the Roots Blog
- Subscribe to the Roots Newsletter