1 <% if @_directories and ! @_directories.empty? -%>
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"]) -%>
9 <%- if directory['deny'] and ! [ false, 'false', '' ].include?(directory['deny']) -%>
10 <%- scope.function_warning(["Apache::Vhost: Using deny is deprecated in your Apache version"]) -%>
12 <%- if directory['order'] and ! [ false, 'false', '' ].include?(directory['order']) -%>
13 <%- scope.function_warning(["Apache::Vhost: Using order is deprecated in your Apache version"]) -%>
15 <%- if directory['satisfy'] and ! [ false, 'false', '' ].include?(directory['satisfy']) -%>
16 <%- scope.function_warning(["Apache::Vhost: Using satisfy is deprecated in your Apache version"]) -%>
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' -%>
24 <%- provider = directory['provider'].capitalize -%>
27 <%- provider = 'Directory' -%>
29 <%- path = directory['path'] -%>
31 <<%= provider %> "<%= path %>">
32 <%- if directory['headers'] -%>
33 <%- Array(directory['headers']).each do |header| -%>
37 <%- if ! directory['geoip_enable'].nil? -%>
38 GeoIPEnable <%= scope.function_bool2httpd([directory['geoip_enable']]) %>
40 <%- if directory['options'] -%>
41 Options <%= Array(directory['options']).join(' ') %>
43 <%- if provider == 'Directory' -%>
44 <%- if directory['index_options'] -%>
45 IndexOptions <%= Array(directory['index_options']).join(' ') %>
47 <%- if directory['index_order_default'] -%>
48 IndexOrderDefault <%= Array(directory['index_order_default']).join(' ') %>
50 <%- if directory['index_style_sheet'] -%>
51 IndexStyleSheet '<%= directory['index_style_sheet'] %>'
53 <%- if directory['allow_override'] -%>
54 AllowOverride <%= Array(directory['allow_override']).join(' ') %>
55 <%- elsif provider == 'Directory' -%>
59 <%- if scope.function_versioncmp([@apache_version, '2.4']) >= 0 -%>
60 <%- if directory['require'] and directory['require'] != '' -%>
61 <%- Array(directory['require']).each do |req| -%>
65 <%- if directory['auth_require'] -%>
66 Require <%= directory['auth_require'] %>
68 <%- if !(directory['require'] and directory['require'] != '') && !(directory['auth_require']) -%>
72 <%- if directory['auth_require'] -%>
73 Require <%= directory['auth_require'] %>
75 <%- if directory['order'] and directory['order'] != '' -%>
76 Order <%= Array(directory['order']).join(',') %>
80 <%- if directory['deny'] and ! [ false, 'false', '' ].include?(directory['deny']) -%>
81 <%- if directory['deny'].kind_of?(Array) -%>
82 <%- Array(directory['deny']).each do |restrict| -%>
86 Deny <%= directory['deny'] %>
89 <%- if directory['allow'] and ! [ false, 'false', '' ].include?(directory['allow']) -%>
90 <%- if directory['allow'].kind_of?(Array) -%>
91 <%- Array(directory['allow']).each do |access| -%>
95 Allow <%= directory['allow'] %>
97 <%- elsif [ 'from all', 'from All' ].include?(directory['deny']) -%>
98 <%- elsif ! directory['deny'] and [ false, 'false', '' ].include?(directory['allow']) -%>
103 <%- if directory['satisfy'] and directory['satisfy'] != '' -%>
104 Satisfy <%= directory['satisfy'] %>
107 <%- if directory['addhandlers'] and ! directory['addhandlers'].empty? -%>
108 <%- [directory['addhandlers']].flatten.compact.each do |addhandler| -%>
109 AddHandler <%= addhandler['handler'] %> <%= Array(addhandler['extensions']).join(' ') %>
112 <%- if directory['sethandler'] and directory['sethandler'] != '' -%>
113 SetHandler <%= directory['sethandler'] %>
115 <%- if directory['passenger_enabled'] and directory['passenger_enabled'] != '' -%>
116 PassengerEnabled <%= directory['passenger_enabled'] %>
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}" %>
124 <%- if directory['php_values'] and ! directory['php_values'].empty? -%>
125 <%- directory['php_values'].sort.each do |key,value| -%>
126 php_value <%= "#{key} #{value}" %>
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}" %>
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}" %>
140 <%- if directory['directoryindex'] and directory['directoryindex'] != '' -%>
141 DirectoryIndex <%= directory['directoryindex'] %>
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'] %>
148 <%- if directory['auth_type'] -%>
149 AuthType <%= directory['auth_type'] %>
151 <%- if directory['auth_name'] -%>
152 AuthName "<%= directory['auth_name'] %>"
154 <%- if directory['auth_digest_algorithm'] -%>
155 AuthDigestAlgorithm <%= directory['auth_digest_algorithm'] %>
157 <%- if directory['auth_digest_domain'] -%>
158 AuthDigestDomain <%= Array(directory['auth_digest_domain']).join(' ') %>
160 <%- if directory['auth_digest_nonce_lifetime'] -%>
161 AuthDigestNonceLifetime <%= directory['auth_digest_nonce_lifetime'] %>
163 <%- if directory['auth_digest_provider'] -%>
164 AuthDigestProvider <%= directory['auth_digest_provider'] %>
166 <%- if directory['auth_digest_qop'] -%>
167 AuthDigestQop <%= directory['auth_digest_qop'] %>
169 <%- if directory['auth_digest_shmem_size'] -%>
170 AuthDigestShmemSize <%= directory['auth_digest_shmem_size'] %>
172 <%- if directory['auth_basic_authoritative'] -%>
173 AuthBasicAuthoritative <%= directory['auth_basic_authoritative'] %>
175 <%- if directory['auth_basic_fake'] -%>
176 AuthBasicFake <%= directory['auth_basic_fake'] %>
178 <%- if directory['auth_basic_provider'] -%>
179 AuthBasicProvider <%= directory['auth_basic_provider'] %>
181 <%- if directory['auth_user_file'] -%>
182 AuthUserFile <%= directory['auth_user_file'] %>
184 <%- if directory['auth_group_file'] -%>
185 AuthGroupFile <%= directory['auth_group_file'] %>
187 <%- if directory['fallbackresource'] -%>
188 FallbackResource <%= directory['fallbackresource'] %>
190 <%- if directory['expires_active'] -%>
191 ExpiresActive <%= directory['expires_active'] %>
193 <%- if directory['expires_default'] -%>
194 ExpiresDefault <%= directory['expires_default'] %>
196 <%- if directory['expires_by_type'] -%>
197 <%- Array(directory['expires_by_type']).each do |rule| -%>
198 ExpiresByType <%= rule %>
201 <%- if directory['force_type'] -%>
202 ForceType <%= directory['force_type'] %>
204 <%- if directory['ssl_options'] -%>
205 SSLOptions <%= Array(directory['ssl_options']).join(' ') %>
207 <%- if directory['suphp'] and @suphp_engine == 'on' -%>
208 suPHP_UserGroup <%= directory['suphp']['user'] %> <%= directory['suphp']['group'] %>
210 <%- if directory['fcgiwrapper'] -%>
211 FcgidWrapper <%= directory['fcgiwrapper']['command'] %> <%= directory['fcgiwrapper']['suffix'] %> <%= directory['fcgiwrapper']['virtual'] %>
213 <%- if directory['rewrites'] -%>
216 <%- directory['rewrites'].flatten.compact.each do |rewrite_details| -%>
217 <%- if rewrite_details['comment'] -%>
218 #<%= rewrite_details['comment'] %>
220 <%- if rewrite_details['rewrite_base'] -%>
221 RewriteBase <%= rewrite_details['rewrite_base'] %>
223 <%- if rewrite_details['rewrite_cond'] -%>
224 <%- Array(rewrite_details['rewrite_cond']).each do |commands| -%>
225 <%- Array(commands).each do |command| -%>
226 RewriteCond <%= command %>
230 <%- Array(rewrite_details['rewrite_rule']).each do |commands| -%>
231 <%- Array(commands).each do |command| -%>
232 RewriteRule <%= command %>
237 <%- if directory['setenv'] -%>
238 <%- Array(directory['setenv']).each do |setenv| -%>
242 <%- if @shibboleth_enabled -%>
243 <%- if directory['shib_require_session'] and ! directory['shib_require_session'].empty? -%>
244 ShibRequireSession <%= directory['shib_require_session'] %>
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 %>
251 <%- if directory['shib_use_headers'] and ! directory['shib_use_headers'].empty? -%>
252 ShibUseHeaders <%= directory['shib_use_headers'] %>
255 <%- if directory['custom_fragment'] -%>
256 <%= directory['custom_fragment'] %>