PageRenderTime 25ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/templates/vhost/_directories.erb

https://gitlab.com/gutocarvalho/puppetlabs-apache
Ruby HTML | 283 lines | 281 code | 2 blank | 0 comment | 91 complexity | a0e9a3ff008480d4f7195ae790345c13 MD5 | raw file
  1. <% if @_directories and ! @_directories.empty? -%>
  2. <%- scope.setvar('_template_scope', {}) -%>
  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|proxy)') -%>
  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. <<%= provider %> "<%= path %>">
  31. <%- if directory['headers'] -%>
  32. <%- Array(directory['headers']).each do |header| -%>
  33. Header <%= header %>
  34. <%- end -%>
  35. <%- end -%>
  36. <%- if ! directory['geoip_enable'].nil? -%>
  37. GeoIPEnable <%= scope.function_bool2httpd([directory['geoip_enable']]) %>
  38. <%- end -%>
  39. <%- if directory['options'] -%>
  40. Options <%= Array(directory['options']).join(' ') %>
  41. <%- end -%>
  42. <%- if provider == 'Directory' -%>
  43. <%- if directory['index_options'] -%>
  44. IndexOptions <%= Array(directory['index_options']).join(' ') %>
  45. <%- end -%>
  46. <%- if directory['index_order_default'] -%>
  47. IndexOrderDefault <%= Array(directory['index_order_default']).join(' ') %>
  48. <%- end -%>
  49. <%- if directory['index_style_sheet'] -%>
  50. IndexStyleSheet '<%= directory['index_style_sheet'] %>'
  51. <%- end -%>
  52. <%- if directory['allow_override'] -%>
  53. AllowOverride <%= Array(directory['allow_override']).join(' ') %>
  54. <%- elsif provider == 'Directory' -%>
  55. AllowOverride None
  56. <%- end -%>
  57. <%- end -%>
  58. <%- scope.lookupvar('_template_scope')[:item] = directory -%>
  59. <%= scope.function_template(["apache/vhost/_require.erb"]) -%>
  60. <%- if directory['limit'] && directory['limit'] != '' -%>
  61. <%- Array(directory['limit']).each do |lim| -%>
  62. <Limit <%= lim['methods'] %>>
  63. <%- scope.lookupvar('_template_scope')[:item] = lim -%>
  64. <%= scope.function_template(["apache/vhost/_require.erb"]) -%>
  65. </Limit>
  66. <%- end -%>
  67. <%- end -%>
  68. <%- if directory['addhandlers'] and ! directory['addhandlers'].empty? -%>
  69. <%- [directory['addhandlers']].flatten.compact.each do |addhandler| -%>
  70. <FilesMatch ".+(<%= Array(addhandler['extensions']).collect { |s| Regexp.escape(s) }.join('|') %>)$">
  71. SetHandler <%= addhandler['handler'] %>
  72. </FilesMatch>
  73. <%- end -%>
  74. <%- end -%>
  75. <%- if directory['sethandler'] and directory['sethandler'] != '' -%>
  76. SetHandler <%= directory['sethandler'] %>
  77. <%- end -%>
  78. <%- if directory['passenger_enabled'] and directory['passenger_enabled'] != '' -%>
  79. PassengerEnabled <%= directory['passenger_enabled'] %>
  80. <%- end -%>
  81. <%- if directory['php_flags'] and ! directory['php_flags'].empty? -%>
  82. <%- directory['php_flags'].sort.each do |flag,value| -%>
  83. <%- value = if value =~ /true|yes|on|1/i then 'on' else 'off' end -%>
  84. php_flag <%= "#{flag} #{value}" %>
  85. <%- end -%>
  86. <%- end -%>
  87. <%- if directory['php_values'] and ! directory['php_values'].empty? -%>
  88. <%- directory['php_values'].sort.each do |key,value| -%>
  89. php_value <%= "#{key} #{value}" %>
  90. <%- end -%>
  91. <%- end -%>
  92. <%- if directory['php_admin_flags'] and ! directory['php_admin_flags'].empty? -%>
  93. <%- directory['php_admin_flags'].sort.each do |flag,value| -%>
  94. <%- value = if value =~ /true|yes|on|1/i then 'on' else 'off' end -%>
  95. php_admin_flag <%= "#{flag} #{value}" %>
  96. <%- end -%>
  97. <%- end -%>
  98. <%- if directory['php_admin_values'] and ! directory['php_admin_values'].empty? -%>
  99. <%- directory['php_admin_values'].sort.each do |key,value| -%>
  100. php_admin_value <%= "#{key} #{value}" %>
  101. <%- end -%>
  102. <%- end -%>
  103. <%- if directory['directoryindex'] and directory['directoryindex'] != '' -%>
  104. DirectoryIndex <%= directory['directoryindex'] %>
  105. <%- end -%>
  106. <%- if directory['additional_includes'] and ! directory['additional_includes'].empty? -%>
  107. <%- directory['additional_includes'].each do |include| -%>
  108. Include '<%= "#{include}" %>'
  109. <%- end -%>
  110. <%- end -%>
  111. <%- if directory['error_documents'] and ! directory['error_documents'].empty? -%>
  112. <%- [directory['error_documents']].flatten.compact.each do |error_document| -%>
  113. ErrorDocument <%= error_document['error_code'] %> <%= error_document['document'] %>
  114. <%- end -%>
  115. <%- end -%>
  116. <%- if directory['dav'] -%>
  117. Dav <%= directory['dav'] %>
  118. <%- if directory['dav_depth_infinity'] -%>
  119. DavDepthInfinity <%= scope.function_bool2httpd([directory['dav_depth_infinity']]) %>
  120. <%- end -%>
  121. <%- if directory['dav_min_timeout'] -%>
  122. DavMinTimeout <%= directory['dav_min_timeout'] %>
  123. <%- end -%>
  124. <%- end -%>
  125. <%- if directory['auth_type'] -%>
  126. AuthType <%= directory['auth_type'] %>
  127. <%- end -%>
  128. <%- if directory['auth_name'] -%>
  129. AuthName "<%= directory['auth_name'] %>"
  130. <%- end -%>
  131. <%- if directory['auth_digest_algorithm'] -%>
  132. AuthDigestAlgorithm <%= directory['auth_digest_algorithm'] %>
  133. <%- end -%>
  134. <%- if directory['auth_digest_domain'] -%>
  135. AuthDigestDomain <%= Array(directory['auth_digest_domain']).join(' ') %>
  136. <%- end -%>
  137. <%- if directory['auth_digest_nonce_lifetime'] -%>
  138. AuthDigestNonceLifetime <%= directory['auth_digest_nonce_lifetime'] %>
  139. <%- end -%>
  140. <%- if directory['auth_digest_provider'] -%>
  141. AuthDigestProvider <%= directory['auth_digest_provider'] %>
  142. <%- end -%>
  143. <%- if directory['auth_digest_qop'] -%>
  144. AuthDigestQop <%= directory['auth_digest_qop'] %>
  145. <%- end -%>
  146. <%- if directory['auth_digest_shmem_size'] -%>
  147. AuthDigestShmemSize <%= directory['auth_digest_shmem_size'] %>
  148. <%- end -%>
  149. <%- if directory['auth_basic_authoritative'] -%>
  150. AuthBasicAuthoritative <%= directory['auth_basic_authoritative'] %>
  151. <%- end -%>
  152. <%- if directory['auth_basic_fake'] -%>
  153. AuthBasicFake <%= directory['auth_basic_fake'] %>
  154. <%- end -%>
  155. <%- if directory['auth_basic_provider'] -%>
  156. AuthBasicProvider <%= directory['auth_basic_provider'] %>
  157. <%- end -%>
  158. <%- if directory['auth_user_file'] -%>
  159. AuthUserFile <%= directory['auth_user_file'] %>
  160. <%- end -%>
  161. <%- if directory['auth_group_file'] -%>
  162. AuthGroupFile <%= directory['auth_group_file'] %>
  163. <%- end -%>
  164. <%- if directory['auth_merging'] -%>
  165. AuthMerging <%= directory['auth_merging'] %>
  166. <%- end -%>
  167. <%- if directory['fallbackresource'] -%>
  168. FallbackResource <%= directory['fallbackresource'] %>
  169. <%- end -%>
  170. <%- if directory['expires_active'] -%>
  171. ExpiresActive <%= directory['expires_active'] %>
  172. <%- end -%>
  173. <%- if directory['expires_default'] -%>
  174. ExpiresDefault <%= directory['expires_default'] %>
  175. <%- end -%>
  176. <%- if directory['expires_by_type'] -%>
  177. <%- Array(directory['expires_by_type']).each do |rule| -%>
  178. ExpiresByType <%= rule %>
  179. <%- end -%>
  180. <%- end -%>
  181. <%- if directory['ext_filter_options'] -%>
  182. ExtFilterOptions <%= directory['ext_filter_options'] %>
  183. <%- end -%>
  184. <%- if directory['force_type'] -%>
  185. ForceType <%= directory['force_type'] %>
  186. <%- end -%>
  187. <%- if directory['ssl_options'] -%>
  188. SSLOptions <%= Array(directory['ssl_options']).join(' ') %>
  189. <%- end -%>
  190. <%- if directory['suphp'] and @suphp_engine == 'on' -%>
  191. suPHP_UserGroup <%= directory['suphp']['user'] %> <%= directory['suphp']['group'] %>
  192. <%- end -%>
  193. <%- if directory['fcgiwrapper'] -%>
  194. FcgidWrapper <%= directory['fcgiwrapper']['command'] %> <%= directory['fcgiwrapper']['suffix'] %> <%= directory['fcgiwrapper']['virtual'] %>
  195. <%- end -%>
  196. <%- if directory['rewrites'] -%>
  197. # Rewrite rules
  198. RewriteEngine On
  199. <%- directory['rewrites'].flatten.compact.each do |rewrite_details| -%>
  200. <%- if rewrite_details['comment'] -%>
  201. #<%= rewrite_details['comment'] %>
  202. <%- end -%>
  203. <%- if rewrite_details['rewrite_base'] -%>
  204. RewriteBase <%= rewrite_details['rewrite_base'] %>
  205. <%- end -%>
  206. <%- if rewrite_details['rewrite_cond'] -%>
  207. <%- Array(rewrite_details['rewrite_cond']).each do |commands| -%>
  208. <%- Array(commands).each do |command| -%>
  209. RewriteCond <%= command %>
  210. <%- end -%>
  211. <%- end -%>
  212. <%- end -%>
  213. <%- Array(rewrite_details['rewrite_rule']).each do |commands| -%>
  214. <%- Array(commands).each do |command| -%>
  215. RewriteRule <%= command %>
  216. <%- end -%>
  217. <%- end -%>
  218. <%- end -%>
  219. <%- end -%>
  220. <%- if directory['setenv'] -%>
  221. <%- Array(directory['setenv']).each do |setenv| -%>
  222. SetEnv <%= setenv %>
  223. <%- end -%>
  224. <%- end -%>
  225. <%- if directory['set_output_filter'] -%>
  226. SetOutputFilter <%= directory['set_output_filter'] %>
  227. <%- end -%>
  228. <%- if @shibboleth_enabled -%>
  229. <%- if directory['shib_require_session'] and ! directory['shib_require_session'].empty? -%>
  230. ShibRequireSession <%= directory['shib_require_session'] %>
  231. <%- end -%>
  232. <%- if directory['shib_request_settings'] and ! directory['shib_request_settings'].empty? -%>
  233. <%- directory['shib_request_settings'].each do |key,value| -%>
  234. ShibRequestSetting <%= key %> <%= value %>
  235. <%- end -%>
  236. <%- end -%>
  237. <%- if directory['shib_use_headers'] and ! directory['shib_use_headers'].empty? -%>
  238. ShibUseHeaders <%= directory['shib_use_headers'] %>
  239. <%- end -%>
  240. <%- end -%>
  241. <%- if directory['mellon_enable'] -%>
  242. MellonEnable "<%= directory['mellon_enable'] %>"
  243. <%- if directory['mellon_endpoint_path'] -%>
  244. MellonEndpointPath "<%= directory['mellon_endpoint_path'] %>"
  245. <%- end -%>
  246. <%- if directory['mellon_sp_private_key_file'] -%>
  247. MellonSPPrivateKeyFile "<%= directory['mellon_sp_private_key_file'] %>"
  248. <%- end -%>
  249. <%- if directory['mellon_sp_cert_file'] -%>
  250. MellonSPCertFile "<%= directory['mellon_sp_cert_file'] %>"
  251. <%- end -%>
  252. <%- if directory['mellon_sp_metadata_file'] -%>
  253. MellonSPMetadataFile "<%= directory['mellon_sp_metadata_file'] %>"
  254. <%- end -%>
  255. <%- if directory['mellon_idp_metadata_file'] -%>
  256. MellonIDPMetadataFile "<%= directory['mellon_idp_metadata_file'] %>"
  257. <%- end -%>
  258. <%- if directory['mellon_set_env_no_prefix'] -%>
  259. <%- directory['mellon_set_env_no_prefix'].each do |key, value| -%>
  260. MellonSetEnvNoPrefix "<%= key %>" "<%= value %>"
  261. <%- end -%>
  262. <%- end -%>
  263. <%- if directory['mellon_user'] -%>
  264. MellonUser "<%= directory['mellon_user'] %>"
  265. <%- end -%>
  266. <%- if directory['mellon_saml_response_dump'] -%>
  267. MellonSamlResponseDump "<%= directory['mellon_saml_response_dump'] %>"
  268. <%- end -%>
  269. <%- if directory['mellon_cond'] -%>
  270. <%- Array(directory['mellon_cond']).each do |cond| -%>
  271. MellonCond <%= cond %>
  272. <%- end -%>
  273. <%- end -%>
  274. <%- end -%>
  275. <%- if directory['custom_fragment'] -%>
  276. <%= directory['custom_fragment'] %>
  277. <%- end -%>
  278. </<%= provider %>>
  279. <%- end -%>
  280. <%- end -%>
  281. <% end -%>