vagrant provision経由でゲストOSにapacheを入れてみる
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
** Vagrantで、apache を起動するレシピを書いてみる [#c8637...
- 環境
ホストOS: windows7, VirtualBox 4.2.16, Vagrant 1.2.4
ゲストOS: CentOS 6.4
*** レシピ〜〜 [#fc6fb98b]
- クックブックを作成
C:\Users\hage\chef-repo>knife cookbook create httpd -o c...
- レシピを編集する(C:\Users\hoge\chef-repo\cookbooks\http...
C:\Users\hoge\chef-repo> notepad cookbooks\httpd\recipes...
-- 内容をへんしゅう
#
# 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, :reloa...
action [:disable, :stop]
end
end
%w{httpd}.each do |service_name|
service service_name do
supports :status => true, :restart => true, :reloa...
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\cookbooks\ht...
C:\Users\hoge\chef-repo> notepad cookbooks\httpd\recipes...
-- とりあえずゲストOSでファイルをコピーしましょうか
# cp /etc/httpd/conf/httpd.conf /vagrant/chef-repo/cookb...
※windows上では
C:\Users\hage\chef-repo\cookbooks\httpd\templates\defaul...
*** Vagrant provision 実行まで [#r1e3d356]
- Vagrantfile を編集
# -*- 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/downloa...
config.vm.define :web1 do |web1|
web1.vm.network :forwarded_port, guest: 22, host: 22...
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
- 確認
http://192.168.1.13
終了行:
** Vagrantで、apache を起動するレシピを書いてみる [#c8637...
- 環境
ホストOS: windows7, VirtualBox 4.2.16, Vagrant 1.2.4
ゲストOS: CentOS 6.4
*** レシピ〜〜 [#fc6fb98b]
- クックブックを作成
C:\Users\hage\chef-repo>knife cookbook create httpd -o c...
- レシピを編集する(C:\Users\hoge\chef-repo\cookbooks\http...
C:\Users\hoge\chef-repo> notepad cookbooks\httpd\recipes...
-- 内容をへんしゅう
#
# 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, :reloa...
action [:disable, :stop]
end
end
%w{httpd}.each do |service_name|
service service_name do
supports :status => true, :restart => true, :reloa...
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\cookbooks\ht...
C:\Users\hoge\chef-repo> notepad cookbooks\httpd\recipes...
-- とりあえずゲストOSでファイルをコピーしましょうか
# cp /etc/httpd/conf/httpd.conf /vagrant/chef-repo/cookb...
※windows上では
C:\Users\hage\chef-repo\cookbooks\httpd\templates\defaul...
*** Vagrant provision 実行まで [#r1e3d356]
- Vagrantfile を編集
# -*- 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/downloa...
config.vm.define :web1 do |web1|
web1.vm.network :forwarded_port, guest: 22, host: 22...
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
- 確認
http://192.168.1.13
ページ名: