2013-08-21 75 views
3

我正试图与流浪汉和厨师握手。如果我从混帐,结账最新标签下载Opscode公司的Apache2食谱,做我的Vagrantfile如下:流浪汉厨师和Apache2(404找不到)

# -*- 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 

...我结束了安装和工作,但阿帕奇一个VM(一些挖后,我发现, )/ var/www不是documentroot它实际上是/ 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 

这样做的话你就不必每次推出一个网站通过SSH“流浪汉”起来。

+0

Thankyou非常简洁,正是我所需要的。 – Tomeh

2

号在Vagrantfile您配置的虚拟机(如内存,主机名,端口),并且应该(在供给部件)上运行的食谱。但更改apache文档根目录需要更改apache配方。检查出attributes/default.rb并更改所需的路径。

+2

指向attributes/default.rb的错误链接=> https:// github。com/opscode-cookbooks/apache2/blob/master/attributes/default.rb –

1

这取决于你的Linux发行版,适用于Debian/Ubuntu的DocumentRoot的默认/var/www而对于RHEL/CentOS的/甲骨文/ Fedora的/ SUSE默认为/var/www/html,为Arch Linux的默认设置为/srv/http

假设您使用的是标签1.7.0。

可以

  1. (容易)编辑default['apache']['docroot_dir']attributes/default.rb
  2. 使用Custom JSON dataVagrantfile(相当于Node.js的一个厨师,单刀赴会),以覆盖默认值。

注意:请确保编辑正确的分布有关块

0

我已经找到了解决方案,它实际上是相当基础,在期间无业游民了输出粗略地看一眼给了回答。

[2013-08-25T14:30:51+00:00] INFO: execute[a2dissite default] sending restart action to service[apache2] (delayed) 

默认情况下,apache禁用默认站点。 ssh进入实例并运行

sudo a2ensite default 
sudo service apache2 restart 

修复了一些问题。

看着属性/ default.rb我发现这行:

default['apache']['default_site_enabled'] = false 

现在,我不知道对改变这一属性的最佳方法。 (?直接在这个文件我对此表示怀疑)