Bedrock is a modern WordPress stack that helps you get started with the best development tools and project structure.
- 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 7, MariaDB)
- One-command deploys
See a complete working example in the roots-example-project.com repo.
- PHP >= 5.6
- Composer - Install
- Create a new project in a new folder for your project:
composer create-project roots/bedrock your-project-folder-name
.envand update environment variables:
DB_NAME- Database name
DB_USER- Database user
DB_PASSWORD- Database password
DB_HOST- Database host
WP_ENV- Set to environment (
WP_HOME- Full URL to WordPress home (http://example.com)
WP_SITEURL- Full URL to WordPress including subdirectory (http://example.com/wp)
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.
Add theme(s) in
web/app/themesas you would for a normal WordPress site.
Set your site vhost document root to
/path/to/site/current/web/if using deploys)
Access WP admin at
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.