今回wordpressの中の recipe を実行することにしたので実際に空サーバーにしてもらう recipe を書き表しておく
# # Cookbook Name:: wordpress # Recipe:: default # # Copyright 2016, YOUR_COMPANY_NAME # # All rights reserved - Do Not Redistribute #nginxとphp-fpm をインストールする %w{nginx php-fpm}.each do |pkg| package pkg do action :install end end #nginxを定義させる service "nginx" do action [:enable] supports :start => true, :status => true, :restart => true, :reload => true end php-fpmの定義 service "php-fpm" do action [:enable] supports :start => true, :status => true, :restart => true, :reload => true end #recipeの実行順序は #クックブックの評価(レシピの定義、属性値を読み込んで一覧化する) #クックブックの実行(リソースを評価して実行する) #ディレイリソースの実行(service startなど) #なので実はserviceは書いてる場所に関係なく遅延実行しており実際は最後に service は実行されてしまうので notifies コマンドで 実行の順番を繰り上げさせる #DocumentRoot に指定あるディレクトリを作成する directory "/var/www/html" do owner "nginx" recursive true group "nginx" mode 0755 action :create end # nginx.confというテンプレートから # /etc/nginx/conf.d/mysite.confという設定ファイルを作成する template "/etc/nginx/conf.d/mysite.conf" do #絶対パスではなくTemplatesからの相対パスで記載しなければならない source "/default/nginx.conf" #owner 指定 owner "nginx" #nginx グループに所属という指定 group "nginx" mode 0644 action :create variables({ # テンプレートに与える変数の値を指定する :hostname => `/bin/hostname`.chomp }) #実際にnginxとphp-fpmを定義したその後に記述をしてあげる notifies :restart, "service[nginx]", :immediately notifies :restart, "service[php-fpm]", :immediately end
nginxで空サーバーを動かすことにしたので設定ファイルのテンプレートのソースはいままで nginx で使ってた nginx.conf をそのままコピーしている