trendwerk / bedrock
A modern WordPress stack
Installs: 120
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 932
Open Issues: 1
Type:project
pkg:composer/trendwerk/bedrock
Requires
- php: >=5.6
 - composer/installers: ~1.0
 - johnpbloch/wordpress: 4.6.1
 - koodimonni-language/core-nl_nl: 4.6.1
 - oscarotero/env: ^1.0
 - roots/wp-password-bcrypt: 1.0.0
 - timber/timber: ~1.1.0
 - trendwerk/credits: 0.1.x
 - trendwerk/editor-capabilities: 1.0.x
 - trendwerk/post-type-menu-highlight: 1.1.x
 - vlucas/phpdotenv: ~2.0
 - wpackagist-plugin/limit-login-attempts: 1.7.1
 
Requires (Dev)
- squizlabs/php_codesniffer: ^2.6
 - trendwerk/debug: ~1.0
 - trendwerk/dev-mail: ~1.0
 - trendwerk/dev-uploads: ~1.0
 
README
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 14.04, PHP 7, MariaDB)
 - One-command deploys
 
See a complete working example in the roots-example-project.com repo.
Requirements
- PHP >= 5.6
 - Composer - Install
 
Installation
- Create a new project in a new folder for your project:
 
composer create-project roots/bedrock your-project-folder-name
- Copy 
.env.exampleto.envand 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
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/web/(/path/to/site/current/web/if using deploys) - 
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.
- 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