|
|
@@ -0,0 +1,64 @@ |
|
|
|
{# Define default values here so the template below can just focus on layout #} |
|
|
|
{% set sitename = site.get('ServerName', id) %} |
|
|
|
{% set vals = { |
|
|
|
'interface': site.get('interface', '*'), |
|
|
|
'port': site.get('port', '80'), |
|
|
|
|
|
|
|
'ServerName': sitename, |
|
|
|
'ServerAlias': site.get('ServerAlias', 'www.{0}'.format(sitename)), |
|
|
|
|
|
|
|
'ServerAdmin': site.get('ServerAdmin', 'webmaster@{0}'.format(sitename)), |
|
|
|
|
|
|
|
'LogLevel': site.get('LogLevel', 'warn'), |
|
|
|
'ErrorLog': site.get('ErrorLog', '{0}/{1}-error.log'.format(map.logdir, sitename)), |
|
|
|
'CustomLog': site.get('ErrorLog', '{0}/{1}-access.log'.format(map.logdir, sitename)), |
|
|
|
|
|
|
|
'DocumentRoot': site.get('DocumentRoot', '{0}/{1}'.format(map.wwwdir, sitename)), |
|
|
|
|
|
|
|
'Directory_default': '{0}/{1}'.format(map.wwwdir, sitename), |
|
|
|
'Directory': { |
|
|
|
'Options': '-Indexes FollowSymLinks', |
|
|
|
'Order': 'allow,deny', |
|
|
|
'Allow': 'from all', |
|
|
|
'AllowOverride': 'None', |
|
|
|
}, |
|
|
|
} %} |
|
|
|
|
|
|
|
<VirtualHost {{ vals.interface }}:{{ vals.port }}> |
|
|
|
ServerName {{ vals.ServerName }} |
|
|
|
{% if site.get('ServerAlias') != False %}ServerAlias {{ vals.ServerAlias }}{% endif %} |
|
|
|
|
|
|
|
{% if site.get('ServerAdmin') != False %}ServerAdmin {{ vals.ServerAdmin }}{% endif %} |
|
|
|
|
|
|
|
{% if site.get('LogLevel') != False %}LogLevel {{ vals.LogLevel }}{% endif %} |
|
|
|
{% if site.get('ErrorLog') != False %}ErrorLog {{ vals.ErrorLog }}{% endif %} |
|
|
|
{% if site.get('CustomLog') != False %}CustomLog {{ vals.CustomLog }}{% endif %} |
|
|
|
|
|
|
|
{% if site.get('DocumentRoot') != False %}DocumentRoot {{ vals.DocumentRoot }}{% endif %} |
|
|
|
|
|
|
|
{% for path, dir in site.get('Directory', {}).items() %} |
|
|
|
{% set dvals = { |
|
|
|
'Options': dir.get('Options', vals.Directory.Options), |
|
|
|
'Order': dir.get('Order', vals.Directory.Order), |
|
|
|
'Allow': dir.get('Order', vals.Directory.Allow), |
|
|
|
'AllowOverride': dir.get('Order', vals.Directory.AllowOverride), |
|
|
|
} %} |
|
|
|
|
|
|
|
{% if path == 'default' %}{% set path = vals.Directory_default %}{% endif %} |
|
|
|
|
|
|
|
<Directory "{{ path }}"> |
|
|
|
{% if dir.get('Options') != False %}Options {{ dvals.Options }}{% endif %} |
|
|
|
{% if dir.get('Order') != False %}Order {{ dvals.Order }}{% endif %} |
|
|
|
{% if dir.get('Allow') != False %}Allow {{ dvals.Allow }}{% endif %} |
|
|
|
{% if dir.get('AllowOverride') != False %}AllowOverride {{ dvals.AllowOverride }}{% endif %} |
|
|
|
|
|
|
|
{% if dir.get('Formula_Append') %} |
|
|
|
{{ dir.Formula_Append|indent(8) }} |
|
|
|
{% endif %} |
|
|
|
</Directory> |
|
|
|
{% endfor %} |
|
|
|
|
|
|
|
{% if site.get('Formula_Append') %} |
|
|
|
{{ site.Formula_Append|indent(4) }} |
|
|
|
{% endif %} |
|
|
|
</VirtualHost> |