SSブログ

apache2 のCookbookを作る [Chef]

Apache2.2(httpd)用のCookbookを自前で作ることにします。
(理由は、AJPでtomcat7との連携を前提にしているため。これをサポートするCookbookがない)
まずは、空のCookbookをsite-cookbookにapache2として作成します。
C:\Users\hoge\chef-repo>knife cookbook create apache2 -o site-cookbooks ** Creating cookbook apache2 ** Creating README for cookbook: apache2 ** Creating CHANGELOG for cookbook: apache2 ** Creating metadata for cookbook: apache2
レシピは、yumでhttpdをインストールして、サービスを起動するだけのもので、以下の通りです。

【chef-repo\site-cookbooks\apache2\recipes\default.rb】
# # Cookbook Name:: apache2 # Recipe:: default # # Copyright 2013, YOUR_COMPANY_NAME # # All rights reserved - Do Not Redistribute # package "httpd" do action :install end package "mod_ssl" do action :install end template "/etc/httpd/conf/httpd.conf" do source "httpd.conf.erb" group "root" owner "root" mode "0644" # notifies :reload, 'service[httpd]' end template "/etc/httpd/conf.d/ssl.conf" do source "ssl.conf.erb" group "root" owner "root" mode "0644" # notifies :reload, 'service[httpd]' end cookbook_file "/var/www/html/robots.txt" do source "robots.txt" owner "root" group "root" mode "0644" action :create_if_missing end service "httpd" do supports :status => true, :restart => true action [ :enable, :restart ] end
httpd.confのテンプレートは、デフォルトのファイルをテンプレートとして使用します。(ここには掲載しません)
chef-repo\site-cookbooks\apache2\templates\default\httpd.conf.erbとしてファイルを置きます。

ssl.confのテンプレートを用意しておきます。ここは、ほぼデフォルトのままです。(ここには掲載しません)
chef-repo\site-cookbooks\apache2\templates\default\ssl.conf.erbとしてファイルを置きます。

robots.txtもファイル属性で設定しておきます。

【chef-repo\apache2\files\default\robot.txt】
User-Agent: * Disallow: /
先のGuestOSの状態をRollbackします。
C:\Users\hoge\chef-repo>vagrant sandbox rollback web
作成したCookbookでCookします。
C:\Users\hoge\chef-repo> knife solo cook vagrant@hoge202


タグ:Chef

共通テーマ:blog

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。