ホストOS: windows7, VirtualBox 4.2.16, Vagrant 1.2.4 ゲストOS: CentOS 6.4
C:\Users\hage\chef-repo>knife cookbook create httpd -o cookbooks
C:\Users\hoge\chef-repo> notepad cookbooks\httpd\recipes\default.rb
# # Cookbook Name:: httpd # Recipe:: default # # Copyright 2013, YOUR_COMPANY_NAME # # All rights reserved - Do Not Redistribute # log "Hello, httpd!" package "httpd" do action :install end %w{iptables}.each do |service_name| service service_name do supports :status => true, :restart => true, :reload => true action [:disable, :stop] end end %w{httpd}.each do |service_name| service service_name do supports :status => true, :restart => true, :reload => true action [:enable, :restart] end end template "httpd.conf" do path "/etc/httpd/conf/httpd.conf" source "httpd.conf.erb" owner "root" group "root" mode 0644 notifies :restart, 'service[httpd]' end
C:\Users\hoge\chef-repo> notepad cookbooks\httpd\recipes\default.rb
# cp /etc/httpd/conf/httpd.conf /vagrant/chef-repo/cookbooks/httpd/templates/default/httpd.conf.erb ※windows上では C:\Users\hage\chef-repo\cookbooks\httpd\templates\default\httpd.conf.erb
# -*- mode: ruby -*- # vi: set ft=ruby : Vagrant.configure("2") do |config| config.vm.box = "CentOS-6.3-x86_64-v20130101" config.vm.box_url = "http://developer.nrel.gov/downloads/vagrant-boxes/CentOS-6.3-x86_64-v20130101.box" config.vm.define :web1 do |web1| web1.vm.network :forwarded_port, guest: 22, host: 2222, host_ip: "127.0.0.1", id: "ssh", auto_correct: true web1.vm.network :private_network, ip: "192.168.1.13" web1.vm.provider "virtualbox" do |v| v.customize ["modifyvm", :id, "--memory", 512] end web1.vm.provision :chef_solo do |chef| chef.cookbooks_path = "./chef-repo/cookbooks" chef.add_recipe "hello" chef.add_recipe "httpd" end end end
C:\Users\hage\chef-repo> vagrant provision web1