A Symfony-optimized Sandbox on Vagrant
##Performance This sandbox by default runs a patch to the AppKernel class, adding 2 methods that will change the CACHE and LOG folders only for dev and test environments. This makes an impressive difference on the application performance as described on this excelent post from @beberlei: http://www.whitewashing.de/2013/08/19/speedup_symfony2_on_vagrant_boxes.html
##Usage You can have several Symfony applications using the same sandbox, but only one can be active each time. There's a basic shell script to help with adding and changing the active app.
Usage Instructions below:
####Step 1: Clone this repository and initialize the puppet modules
git clone https://github.com/vagrantee/sandbox-symfony.git
git submodule init
git submodule update
####Step 2: Add the Symfony app(s)
./vagrantee.sh -a https://github.com/myVendor/myApplication.git
Or do it manually by cloning the application inside the "application" folder.
####Step 3: Run the application
./vagrantee.sh -r myApplication
Or do it manually by editing the Vagrantfile and running vagrant (up or reload). The config.vm.synced_folder must point to your app folder, like this:
config.vm.synced_folder "./application/myApplication/", "/vagrant", id: "vagrant-root", :nfs => true
##Customizing Puppet To customize your sandbox, you can edit the custom module or modify the default manifest.
###Custom Module Head to vagrantee/puppet/modules/custom/manifests/init.pp and edit it to add new commands (running migrations, fixtures, etc for instance). These instructions run after the server is provisioned.
###Modifying defaults To modify the server provisioning, head to vagrantee/puppet/manifests/default.pp and change it to suit your needs.