]> git.donarmstrong.com Git - dsa-puppet.git/blob - 3rdparty/modules/apache/templates/vhost/_directories.erb
add Openstack modules to 3rdparty
[dsa-puppet.git] / 3rdparty / modules / apache / templates / vhost / _directories.erb
1 <% if @_directories and ! @_directories.empty? -%>
2
3   ## Directories, there should at least be a declaration for <%= @docroot %>
4   <%- [@_directories].flatten.compact.each do |directory| -%>
5     <%- if scope.function_versioncmp([@apache_version, '2.4']) >= 0 -%>
6       <%- if directory['allow'] and ! [ false, 'false', '' ].include?(directory['allow']) -%>
7         <%- scope.function_warning(["Apache::Vhost: Using allow is deprecated in your Apache version"]) -%>
8       <%- end -%>
9       <%- if directory['deny'] and ! [ false, 'false', '' ].include?(directory['deny']) -%>
10         <%- scope.function_warning(["Apache::Vhost: Using deny is deprecated in your Apache version"]) -%>
11       <%- end -%>
12       <%- if directory['order'] and ! [ false, 'false', '' ].include?(directory['order']) -%>
13         <%- scope.function_warning(["Apache::Vhost: Using order is deprecated in your Apache version"]) -%>
14       <%- end -%>
15       <%- if directory['satisfy'] and ! [ false, 'false', '' ].include?(directory['satisfy']) -%>
16         <%- scope.function_warning(["Apache::Vhost: Using satisfy is deprecated in your Apache version"]) -%>
17       <%- end -%>
18     <%- end -%>
19     <%- if directory['path'] and directory['path'] != '' -%>
20       <%- if directory['provider'] and directory['provider'].match('(directory|location|files)') -%>
21         <%- if /^(.*)match$/ =~ directory['provider'] -%>
22           <%- provider = $1.capitalize + 'Match' -%>
23         <%- else -%>
24           <%- provider = directory['provider'].capitalize -%>
25         <%- end -%>
26       <%- else -%>
27         <%- provider = 'Directory' -%>
28       <%- end -%>
29       <%- path = directory['path'] -%>
30
31   <<%= provider %> "<%= path %>">
32       <%- if directory['headers'] -%>
33         <%- Array(directory['headers']).each do |header| -%>
34     Header <%= header %>
35       <%- end -%>
36     <%- end -%>
37     <%- if ! directory['geoip_enable'].nil? -%>
38     GeoIPEnable <%= scope.function_bool2httpd([directory['geoip_enable']]) %>
39     <%- end -%>
40     <%- if directory['options'] -%>
41     Options <%= Array(directory['options']).join(' ') %>
42     <%- end -%>
43     <%- if provider == 'Directory' -%>
44       <%- if directory['index_options'] -%>
45     IndexOptions <%= Array(directory['index_options']).join(' ') %>
46       <%- end -%>
47       <%- if directory['index_order_default'] -%>
48     IndexOrderDefault <%= Array(directory['index_order_default']).join(' ') %>
49       <%- end -%>
50       <%- if directory['index_style_sheet'] -%>
51     IndexStyleSheet '<%= directory['index_style_sheet'] %>'
52       <%- end -%>
53       <%- if directory['allow_override'] -%>
54     AllowOverride <%= Array(directory['allow_override']).join(' ') %>
55       <%- elsif provider == 'Directory' -%>
56     AllowOverride None
57       <%- end -%>
58     <%- end -%>
59     <%- if scope.function_versioncmp([@apache_version, '2.4']) >= 0 -%>
60       <%- if directory['require'] and directory['require'] != '' -%>
61         <%- Array(directory['require']).each do |req| -%>
62     Require <%= req %>
63         <%- end -%>
64       <%- end -%>
65       <%- if directory['auth_require'] -%>
66     Require <%= directory['auth_require'] %>
67       <%- end -%>
68       <%- if !(directory['require'] and directory['require'] != '') && !(directory['auth_require']) -%>
69     Require all granted
70       <%- end -%>
71     <%- else -%>
72       <%- if directory['auth_require'] -%>
73     Require <%= directory['auth_require'] %>
74       <%- end -%>
75       <%- if directory['order'] and directory['order'] != '' -%>
76     Order <%= Array(directory['order']).join(',') %>
77       <%- else -%>
78     Order allow,deny
79       <%- end -%>
80       <%- if directory['deny'] and ! [ false, 'false', '' ].include?(directory['deny']) -%>
81         <%- if directory['deny'].kind_of?(Array) -%>
82           <%- Array(directory['deny']).each do |restrict| -%>
83     Deny <%=  restrict %>
84           <%- end -%>
85         <%- else -%>
86     Deny <%= directory['deny'] %>
87         <%- end -%>
88       <%- end -%>
89       <%- if directory['allow'] and ! [ false, 'false', '' ].include?(directory['allow']) -%>
90         <%- if directory['allow'].kind_of?(Array) -%>
91           <%- Array(directory['allow']).each do |access| -%>
92     Allow <%=  access %>
93         <%- end -%>
94       <%- else -%>
95     Allow <%= directory['allow'] %>
96       <%- end -%>
97       <%- elsif [ 'from all', 'from All' ].include?(directory['deny']) -%>
98       <%- elsif ! directory['deny'] and [ false, 'false', '' ].include?(directory['allow']) -%>
99     Deny from all
100       <%- else -%>
101     Allow from all
102       <%- end -%>
103       <%- if directory['satisfy'] and directory['satisfy'] != '' -%>
104     Satisfy <%= directory['satisfy'] %>
105       <%- end -%>
106     <%- end -%>
107     <%- if directory['addhandlers'] and ! directory['addhandlers'].empty? -%>
108       <%- [directory['addhandlers']].flatten.compact.each do |addhandler| -%>
109     AddHandler <%= addhandler['handler'] %> <%= Array(addhandler['extensions']).join(' ') %>
110       <%- end -%>
111     <%- end -%>
112     <%- if directory['sethandler'] and directory['sethandler'] != '' -%>
113     SetHandler <%= directory['sethandler'] %>
114     <%- end -%>
115     <%- if directory['passenger_enabled'] and directory['passenger_enabled'] != '' -%>
116     PassengerEnabled <%= directory['passenger_enabled'] %>
117     <%- end -%>
118     <%- if directory['php_flags'] and ! directory['php_flags'].empty? -%>
119       <%- directory['php_flags'].sort.each do |flag,value| -%>
120         <%- value = if value =~ /true|yes|on|1/i then 'on' else 'off' end -%>
121     php_flag <%= "#{flag} #{value}" %>
122       <%- end -%>
123     <%- end -%>
124     <%- if directory['php_values'] and ! directory['php_values'].empty? -%>
125       <%- directory['php_values'].sort.each do |key,value| -%>
126     php_value <%= "#{key} #{value}" %>
127       <%- end -%>
128     <%- end -%>
129     <%- if directory['php_admin_flags'] and ! directory['php_admin_flags'].empty? -%>
130       <%- directory['php_admin_flags'].sort.each do |flag,value| -%>
131         <%- value = if value =~ /true|yes|on|1/i then 'on' else 'off' end -%>
132     php_admin_flag <%= "#{flag} #{value}" %>
133       <%- end -%>
134     <%- end -%>
135     <%- if directory['php_admin_values'] and ! directory['php_admin_values'].empty? -%>
136       <%- directory['php_admin_values'].sort.each do |key,value| -%>
137     php_admin_value <%= "#{key} #{value}" %>
138       <%- end -%>
139     <%- end -%>
140     <%- if directory['directoryindex'] and directory['directoryindex'] != '' -%>
141     DirectoryIndex <%= directory['directoryindex'] %>
142     <%- end -%>
143     <%- if directory['error_documents'] and ! directory['error_documents'].empty? -%>
144       <%- [directory['error_documents']].flatten.compact.each do |error_document| -%>
145     ErrorDocument <%= error_document['error_code'] %> <%= error_document['document'] %>
146       <%- end -%>
147     <%- end -%>
148     <%- if directory['auth_type'] -%>
149     AuthType <%= directory['auth_type'] %>
150     <%- end -%>
151     <%- if directory['auth_name'] -%>
152     AuthName "<%= directory['auth_name'] %>"
153     <%- end -%>
154     <%- if directory['auth_digest_algorithm'] -%>
155     AuthDigestAlgorithm <%= directory['auth_digest_algorithm'] %>
156     <%- end -%>
157     <%- if directory['auth_digest_domain'] -%>
158     AuthDigestDomain <%= Array(directory['auth_digest_domain']).join(' ') %>
159     <%- end -%>
160     <%- if directory['auth_digest_nonce_lifetime'] -%>
161     AuthDigestNonceLifetime <%= directory['auth_digest_nonce_lifetime'] %>
162     <%- end -%>
163     <%- if directory['auth_digest_provider'] -%>
164     AuthDigestProvider <%= directory['auth_digest_provider'] %>
165     <%- end -%>
166     <%- if directory['auth_digest_qop'] -%>
167     AuthDigestQop <%= directory['auth_digest_qop'] %>
168     <%- end -%>
169     <%- if directory['auth_digest_shmem_size'] -%>
170     AuthDigestShmemSize <%= directory['auth_digest_shmem_size'] %>
171     <%- end -%>
172     <%- if directory['auth_basic_authoritative'] -%>
173     AuthBasicAuthoritative <%= directory['auth_basic_authoritative'] %>
174     <%- end -%>
175     <%- if directory['auth_basic_fake'] -%>
176     AuthBasicFake <%= directory['auth_basic_fake'] %>
177     <%- end -%>
178     <%- if directory['auth_basic_provider'] -%>
179     AuthBasicProvider <%= directory['auth_basic_provider'] %>
180     <%- end -%>
181     <%- if directory['auth_user_file'] -%>
182     AuthUserFile <%= directory['auth_user_file'] %>
183     <%- end -%>
184     <%- if directory['auth_group_file'] -%>
185     AuthGroupFile <%= directory['auth_group_file'] %>
186     <%- end -%>
187     <%- if directory['fallbackresource'] -%>
188     FallbackResource <%= directory['fallbackresource'] %>
189     <%- end -%>
190     <%- if directory['expires_active'] -%>
191     ExpiresActive <%= directory['expires_active'] %>
192     <%- end -%>
193     <%- if directory['expires_default'] -%>
194     ExpiresDefault <%= directory['expires_default'] %>
195     <%- end -%>
196     <%- if directory['expires_by_type'] -%>
197     <%- Array(directory['expires_by_type']).each do |rule| -%>
198     ExpiresByType <%= rule %>
199     <%- end -%>
200     <%- end -%>
201     <%- if directory['force_type'] -%>
202     ForceType <%= directory['force_type'] %>
203     <%- end -%>
204     <%- if directory['ssl_options'] -%>
205     SSLOptions <%= Array(directory['ssl_options']).join(' ') %>
206     <%- end -%>
207     <%- if directory['suphp'] and @suphp_engine == 'on' -%>
208     suPHP_UserGroup <%= directory['suphp']['user'] %> <%= directory['suphp']['group'] %>
209     <%- end -%>
210     <%- if directory['fcgiwrapper'] -%>
211     FcgidWrapper <%= directory['fcgiwrapper']['command'] %> <%= directory['fcgiwrapper']['suffix'] %> <%= directory['fcgiwrapper']['virtual'] %>
212     <%- end -%>
213     <%- if directory['rewrites'] -%>
214     # Rewrite rules
215     RewriteEngine On
216       <%- directory['rewrites'].flatten.compact.each do |rewrite_details| -%>
217         <%- if rewrite_details['comment'] -%>
218     #<%= rewrite_details['comment'] %>
219         <%- end -%>
220         <%- if rewrite_details['rewrite_base'] -%>
221     RewriteBase <%= rewrite_details['rewrite_base'] %>
222         <%- end -%>
223         <%- if rewrite_details['rewrite_cond'] -%>
224           <%- Array(rewrite_details['rewrite_cond']).each do |commands| -%>
225             <%- Array(commands).each do |command| -%>
226     RewriteCond <%= command %>
227             <%- end -%>
228           <%- end -%>
229         <%- end -%>
230         <%- Array(rewrite_details['rewrite_rule']).each do |commands| -%>
231           <%- Array(commands).each do |command| -%>
232     RewriteRule <%= command %>
233           <%- end -%>
234         <%- end -%>
235       <%- end -%>
236     <%- end -%>
237     <%- if directory['setenv'] -%>
238       <%- Array(directory['setenv']).each do |setenv| -%>
239     SetEnv <%= setenv %>
240       <%- end -%>
241     <%- end -%>
242     <%- if @shibboleth_enabled -%>
243       <%- if directory['shib_require_session'] and ! directory['shib_require_session'].empty? -%>
244     ShibRequireSession <%= directory['shib_require_session'] %>
245       <%- end -%>
246       <%- if directory['shib_request_settings'] and ! directory['shib_request_settings'].empty? -%>
247         <%- directory['shib_request_settings'].each do |key,value| -%>
248     ShibRequestSetting <%= key %> <%= value %>
249         <%- end -%>
250       <%- end -%>
251       <%- if directory['shib_use_headers'] and ! directory['shib_use_headers'].empty? -%>
252     ShibUseHeaders <%= directory['shib_use_headers'] %>
253       <%- end -%>
254     <%- end -%>
255     <%- if directory['custom_fragment'] -%>
256     <%= directory['custom_fragment'] %>
257     <%- end -%>
258   </<%= provider %>>
259     <%- end -%>
260   <%- end -%>
261 <% end -%>