Chef infra 流浪厨师和Apache2(未找到404)
我正试图和流浪汉和厨师打交道。如果我从git下载opscode cookbook apache2,请签出最新标记并在我的文件中执行以下操作:Chef infra 流浪厨师和Apache2(未找到404),chef-infra,vagrant,Chef Infra,Vagrant,我正试图和流浪汉和厨师打交道。如果我从git下载opscode cookbook apache2,请签出最新标记并在我的文件中执行以下操作: # -*- 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.v
# -*- 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
…我最终得到了一个安装了apache并可以工作的VM,但是(经过一些挖掘后,我发现)/var/www不是documentroot,而是infact/etc/apache2/htdocs
我是否需要在文件中添加一行来配置文档根目录
任何帮助都将不胜感激
Guest Ubuntu12.04否。在Vagrant文件中,您可以配置虚拟机(如内存、主机名、端口)和应该运行的配方(在“供应”部分)。但是更改apache文档根需要更改apache配方。查看并更改所需路径。这取决于您的Linux发行版,对于Debian/Ubuntu DocumentRoot,默认为
/var/www
,而对于RHEL/CentOS/Oracle/Fedora/SUSE,默认为/var/www/html
,对于Arch Linux,默认为/srv/http
假设您使用的是标签1.7.0
你可以
default['apache']['docroot\u dir']
Vagrantfile
(相当于chef solo运行的node.js)中使用以覆盖默认值我已经找到了解决方案,它实际上是相当基本的,在Wagrant up期间粗略地看一眼输出就给出了答案
[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
解决问题
查看attributes/default.rb,我发现这一行:
default['apache']['default_site_enabled'] = false
现在我不确定改变这个属性的最佳方法。(直接在本文件中?我对此表示怀疑)此解决方案适用于Vagrant文件:
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启动站点。指向attributes/default.rb=>的链接错误。非常感谢,非常简洁,这正是我所需要的。