Guest User

Untitled

a guest
Sep 13th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. include_recipe "mysql::client"
  2.  
  3. node[:websites].each do |website|
  4. db_website = search(:websites, "id:#{website} AND status:enabled").first
  5. puts "apptype: #{db_website}"
  6. case db_website["apptype"]
  7. when "php", "dp", "wp"
  8. document_root="/var/www/#{db_website["client"]}/#{db_website["id"]}"
  9. package "php"
  10. include_recipe "apache2::mod_php5"
  11. apache_module "php5"
  12. web_app db_website["id"] do
  13. template "vhost-#{db_website["apptype"]}.erb"
  14. docroot document_root
  15. server_name db_website["name"]
  16. server_aliases db_website["aliases"]
  17. env node.chef_environment
  18. end
  19. case db_website["apptype"]
  20. when "wp"
  21. tpl = "#{document_root}/wp-config.php"
  22. when "dp"
  23. tpl = "#{document_root}/sites/default/settings.php"
  24. end
  25. if node[:environment] == "stage"
  26. # if db_website["dbstage"] == ""
  27. # set node.websites[website]['dbstage'] = node[:name]
  28. # end
  29. dbhost = db_website["dbstage"]
  30. else
  31. # if db_website["db"] == ""
  32. # set node.websites[website]['db'] = node[:name]
  33. # end
  34. dbhost = db_website["db"]
  35. end
  36. user db_website["id"] do
  37. comment "#{db_website["name"]}"
  38. system true
  39. shell "/bin/false"
  40. end
  41. group "devs" do
  42. members db_website["id"]
  43. end
  44. directory document_root do
  45. owner db_website["id"]
  46. group "devs"
  47. mode "0755"
  48. recursive true
  49. action :create
  50. end
  51. if db_website["repo"] != ""
  52. url = db_website["repo"][%r{(https?://|.*@)?[^/]*}].gsub(":", '\\:')
  53. url= url.gsub('/','?')
  54. puts "url #{url}"
  55. db_repo = search(:repos, "url:#{url}\*").first
  56. puts "db_repo #{db_repo}"
  57. case db_website["repotype"]
  58. when "svn"
  59. subversion db_website["id"] do
  60. repository db_website["repo"]
  61. destination document_root
  62. user db_website["id"]
  63. group "devs"
  64. svn_password db_repo["password"]
  65. svn_username db_repo["username"]
  66. svn_arguments "--non-interactive"
  67. action :sync
  68. end # end svn
  69. when "git"
  70. git db_website["id"] do
  71. repository db_website["repo"]
  72. destination document_root
  73. user db_website["id"]
  74. action :sync
  75. end # end git
  76. end # end case repotype
  77. end # end if repo
  78. tplpath = tpl.split("/")[0..-2].join("/")
  79. directory tplpath do
  80. owner db_website["id"]
  81. group "devs"
  82. mode 0755
  83. recursive true
  84. :create
  85. end # end directory
  86.  
  87. template tpl do
  88. source "config-#{db_website["apptype"]}.erb"
  89. owner db_website["id"]
  90. group "devs"
  91. mode 0440
  92. variables(
  93. :server_name => db_website["name"],
  94. :dbhost => dbhost,
  95. :dbname => db_website["id"],
  96. :dbuser => db_website["id"],
  97. :dbpass => db_website["dbpass"]
  98. )
  99. end # template
  100. end
  101. end # end .each
Add Comment
Please, Sign In to add comment