Vagrant Chef和Apache2(未找到404)

Tom*_*meh 3 chef-infra vagrant

我正试图与流浪汉和厨师交手.如果我从git下载opscode cookbook apache2,请检查最新标记并在我的Vagrantfile中执行以下操作:

# -*- mode: ruby -*-
# vi: set ft=ruby :

Vagrant::Config.run do |config|
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.vm.forward_port 80, 8080

  config.vm.provision :chef_solo do |chef|
    chef.cookbooks_path = "chef/cookbooks"
    chef.add_recipe("apt")
    chef.add_recipe("apache2")
    chef.add_recipe("apache2::mod_rewrite")
  end
end
Run Code Online (Sandbox Code Playgroud)

...我最终安装了一个安装了apache的虚拟机,但是(经过一些挖掘后我发现)/ var/www不是文件记录它是/ etc/apache2/htdocs

我是否需要在Vagrantfile中添加一行来配置文档根目录?

任何帮助,将不胜感激!

访客Ubuntu 12.04

小智 6

此解决方案适合Vagrantfile:

Vagrant.configure("2") do |config|

    config.vm.box = "precise32"
    config.vm.box_url = "http://files.vagrantup.com/precise32.box"

    config.vm.network :forwarded_port, host: 8080, guest: 80

    config.vm.provision "chef_solo" do |chef|

        chef.add_recipe "apt" 
        chef.add_recipe "apache2"

        chef.json = { 
            "apache" => {
                "default_site_enabled" => true,
                "docroot_dir" => "/vagrant"
            }
        }

    end

end
Run Code Online (Sandbox Code Playgroud)

这样,每次"Vagrant up"时,您都不需要通过SSH启动站点.