templates/default/apache_vhost.erb
<VirtualHost *:<%= @params[:port] ? @params[:port] : '80' %>>
ServerAdmin <%= node['apache']['contact'] %>
<% if @params[:server_name].kind_of? String -%>
ServerName <%= @params[:server_name] %>
<% end -%>
<% if @params[:server_aliases].kind_of? Array -%>
ServerAlias <% @params[:server_aliases].each do |a| %><%= a %> <% end %>
<% end -%>
DocumentRoot <%= @params[:docroot] %>
<% @params[:headers].each do |header, value| -%>
Header set <%= header %> "<%= value %>"
<% end -%>
<Directory <%= @params[:docroot] %>>
Options <%= [@params[:directory_options] || "FollowSymLinks" ].flatten.join " " %>
AllowOverride <%= [@params[:allow_override] || "None" ].flatten.join " " %>
<% if node['apache']['version'].to_f >= 2.4 -%>
Require all granted
<% else -%>
Order allow,deny
allow from all
<% end -%>
</Directory>
# Disable PHP execution in bb-uploads and bb-data
<Directory <%= @params[:docroot] %>/bb-uploads>
php_flag engine off
</Directory>
<Directory <%= @params[:docroot] %>/bb-data>
<% if node['apache']['version'].to_f >= 2.4 -%>
Require all denied
<% else -%>
Order allow,deny
deny from all
<% end -%>
</Directory>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Location /server-status>
SetHandler server-status
<% if node['apache']['version'].to_f >= 2.4 -%>
Require ip 127.0.0.1
<% else -%>
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
<% end -%>
</Location>
LogLevel info
ErrorLog <%= node['apache']['log_dir'] %>/<%= @params[:name] %>-error.log
CustomLog <%= node['apache']['log_dir'] %>/<%= @params[:name] %>-access.log combined
<% if @params[:ssl] -%>
<%= render 'apache.erb', cookbook: 'ssl_certificate', variables: @params.merge(node: node) %>
<% end -%>
</VirtualHost>