title: Where are cookbooks stored on Vagrant vm? / Setup needed?
body: <p>As part of diagnosing problems with my Vagrant VM, I issued</p>
  
  <pre><code>vagrant@lucid32:~$ sudo mount -t vboxsf -o uid=`id -u vagrant`,gid=`id -g vagrant` v-csc-1 /tmp/vagrant-chef-1/chef-solo-2/cookbooks
  </code></pre>
  
  <p>And I get:</p>
  
  <pre><code>/sbin/mount.vboxsf: mounting failed with the error: No such file or directory
  </code></pre>
  
  <p>Various blogs around the web indicate that this is a path problem, likely to do with where the cookbooks are setup on the VM itself and also where the Vagrantfile (on the host) is instructing Chef to find them. So questions:</p>
  
  <ul>
  <li>How would I find where the cookbooks are located so that I can correct this?</li>
  <li>How do I know if I've got Chef set up at all - command to run?</li>
  <li>How would I set up Chef?</li>
  </ul>
  
  <p><strong>Background</strong>
  My problems are stemming from trying to find a definitive, complete end-to-end guide to set up a common all-garden vanilla LAMP stack on a VM on Windows 7 64bit host. I have done much research and used <a href="http://iostudio.github.com/LunchAndLearn/2012/03/21/vagrant.html" rel="nofollow">http://iostudio.github.com/LunchAndLearn/2012/03/21/vagrant.html</a> and added the following code from that in my Vagrantfile</p>
  
  <pre><code> config.vm.provision :chef_solo do |chef|
      chef.cookbooks_path = ["cookbooks","site-cookbooks"]
      chef.add_recipe "apt"
      chef.add_recipe "openssl"
      chef.add_recipe "apache2"
      chef.add_recipe "mysql"
      chef.add_recipe "mysql::server"
      chef.add_recipe "php"
      chef.add_recipe "php::module_apc"
      chef.add_recipe "php::module_curl"
      chef.add_recipe "php::module_mysql"
      chef.add_recipe "apache2::mod_php5"
      chef.add_recipe "apache2::mod_rewrite"
      chef.json = {
          :mysql =&gt; {
              :server_root_password =&gt; 'root',
              :bind_address =&gt; '127.0.0.1'
          }
      }
    end
  </code></pre>
  
  <p>The problem I am seeing is that there is plenty of advice on the web but:
  - there are varying solutions to the problem
  - they don't precisely specify their starting point/pre-requisite i.e. the state of their setup <em>before</em> their solution is to be applied so you can't know if your problem is the same as theirs</p>