]> git.openstreetmap.org Git - chef.git/blob - cookbooks/apache/providers/site.rb
a8c90344927f818a25146df51470580db980c20b
[chef.git] / cookbooks / apache / providers / site.rb
1 #
2 # Cookbook Name:: apache
3 # Provider:: apache_site
4 #
5 # Copyright 2013, OpenStreetMap Foundation
6 #
7 # Licensed under the Apache License, Version 2.0 (the "License");
8 # you may not use this file except in compliance with the License.
9 # You may obtain a copy of the License at
10 #
11 #     http://www.apache.org/licenses/LICENSE-2.0
12 #
13 # Unless required by applicable law or agreed to in writing, software
14 # distributed under the License is distributed on an "AS IS" BASIS,
15 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 # See the License for the specific language governing permissions and
17 # limitations under the License.
18 #
19
20 def whyrun_supported?
21   true
22 end
23
24 use_inline_resources
25
26 action :create do
27   template available_name do
28     cookbook new_resource.cookbook
29     source new_resource.template
30     owner "root"
31     group "root"
32     mode 0644
33     variables new_resource.variables.merge(:name => new_resource.name, :directory => site_directory)
34   end
35 end
36
37 action :enable do
38   link enabled_name do
39     to available_name
40     owner "root"
41     group "root"
42   end
43 end
44
45 action :disable do
46   link enabled_name do
47     action :delete
48   end
49 end
50
51 action :delete do
52   file available_name do
53     action :delete
54   end
55 end
56
57 def site_directory
58   new_resource.directory || "/var/www/#{new_resource.name}"
59 end
60
61 def available_name
62   if node[:lsb][:release].to_f >= 14.04
63     "/etc/apache2/sites-available/#{new_resource.name}.conf"
64   else
65     "/etc/apache2/sites-available/#{new_resource.name}"
66   end
67 end
68
69 def enabled_name
70   if node[:lsb][:release].to_f >= 14.04
71     case new_resource.name
72     when "default"
73       "/etc/apache2/sites-enabled/000-default.conf"
74     else
75       "/etc/apache2/sites-enabled/#{new_resource.name}.conf"
76     end
77   else
78     case new_resource.name
79     when "default"
80       "/etc/apache2/sites-enabled/000-default"
81     else
82       "/etc/apache2/sites-enabled/#{new_resource.name}"
83     end
84   end
85 end