Tandem's Fork of Bedrock
This fork contains additional logic so that it can be easily used on:
The major difference is that we are not using the .env file. Instead we are loading the specific hosting platform's config into the application.php. We are also including the additional settings / config added by bedrock.
Lando
We streamline our localdev with Lando, you should too. The hash values in the .env can cause problems sometimes with lando. So you can either not install those value or copy the .env.lando to .env instead. Also change WP_HOME=demosite to your lndo.site domain.
For quick and easy setup use Tandem's WP Boilerplate instead.
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 16.04, PHP 7.1, 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
- Update environment variables in
.env
file:
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
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/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
- Listen to the Roots Radio podcast