The biggest change was introducing a
web/ subdirectory that contains your WordPress application and the WP core only. Previously everything was in the same root project folder which led to some security issues with various configuration files being web accessible unless you explicitly blocked access to them from Nginx or Apache.
This was an annoying step that's now solved by simply creating a server/virtual host that points directly to the
web/ directory as its document root. Beyond the security benefits, it's also just a better separation of concerns.
Previously after cloning or running
composer create-project to start a new Bedrock project, you'd have to manually create your
.env file and generate your own salts.
Now we've included a script that runs on Composer's
post-root-package-install (which just means it runs after
composer create-project). Composer will prompt you to generate a
.env file, and if you say yes, a fresh
.env file will be created with all 8 salts/keys randomly generated for you.
The script can be found at
scripts/Bedrock/Installer.php and may be extended in the future to interactively prompt for other env vars such as database credentials WP settings.
Just remember that the best way to start a new Bedrock project is to run:
composer create-project roots/bedrock <path>
If you want the latest changes from GitHub master, use the following:
composer create-project roots/bedrock <path> dev-master
WordPress Packagist Namespaces
This isn't so much a Bedrock change, but it's worth noting regardless. The awesome WordPress Packagist recently changed their package namespaces to better separate plugins and themes.
Previously all the namespaces were just
wpackagist. Now you need to use the package type as well:
The next major feature will be the long-promised Vagrant integration. This will also include full configuration management for development and production servers. This will be handled by Ansible. We feel that it's the simplest and quickest tool rather than going with either of the Ruby-based Chef or Puppet.
Using Composer with WordPress
Introduction to deploying WordPress with Capistrano. If you say a prayer or cross your fingers before a deploy, then this is the screencast for you.
Deploying WordPress with Capistrano
An in-depth introduction to dependency management in PHP using Composer and more importantly, why you should use it with WordPress.