Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- include_recipe "mysql::client"
- node[:websites].each do |website|
- db_website = search(:websites, "id:#{website} AND status:enabled").first
- puts "apptype: #{db_website}"
- case db_website["apptype"]
- when "php", "dp", "wp"
- document_root="/var/www/#{db_website["client"]}/#{db_website["id"]}"
- package "php"
- include_recipe "apache2::mod_php5"
- apache_module "php5"
- web_app db_website["id"] do
- template "vhost-#{db_website["apptype"]}.erb"
- docroot document_root
- server_name db_website["name"]
- server_aliases db_website["aliases"]
- env node.chef_environment
- end
- case db_website["apptype"]
- when "wp"
- tpl = "#{document_root}/wp-config.php"
- when "dp"
- tpl = "#{document_root}/sites/default/settings.php"
- end
- if node[:environment] == "stage"
- # if db_website["dbstage"] == ""
- # set node.websites[website]['dbstage'] = node[:name]
- # end
- dbhost = db_website["dbstage"]
- else
- # if db_website["db"] == ""
- # set node.websites[website]['db'] = node[:name]
- # end
- dbhost = db_website["db"]
- end
- user db_website["id"] do
- comment "#{db_website["name"]}"
- system true
- shell "/bin/false"
- end
- group "devs" do
- members db_website["id"]
- end
- directory document_root do
- owner db_website["id"]
- group "devs"
- mode "0755"
- recursive true
- action :create
- end
- if db_website["repo"] != ""
- url = db_website["repo"][%r{(https?://|.*@)?[^/]*}].gsub(":", '\\:')
- url= url.gsub('/','?')
- puts "url #{url}"
- db_repo = search(:repos, "url:#{url}\*").first
- puts "db_repo #{db_repo}"
- case db_website["repotype"]
- when "svn"
- subversion db_website["id"] do
- repository db_website["repo"]
- destination document_root
- user db_website["id"]
- group "devs"
- svn_password db_repo["password"]
- svn_username db_repo["username"]
- svn_arguments "--non-interactive"
- action :sync
- end # end svn
- when "git"
- git db_website["id"] do
- repository db_website["repo"]
- destination document_root
- user db_website["id"]
- action :sync
- end # end git
- end # end case repotype
- end # end if repo
- tplpath = tpl.split("/")[0..-2].join("/")
- directory tplpath do
- owner db_website["id"]
- group "devs"
- mode 0755
- recursive true
- :create
- end # end directory
- template tpl do
- source "config-#{db_website["apptype"]}.erb"
- owner db_website["id"]
- group "devs"
- mode 0440
- variables(
- :server_name => db_website["name"],
- :dbhost => dbhost,
- :dbname => db_website["id"],
- :dbuser => db_website["id"],
- :dbpass => db_website["dbpass"]
- )
- end # template
- end
- end # end .each
Add Comment
Please, Sign In to add comment