apache-formula/apache/files/FreeBSD/ports-2.4.conf.jinja
Andreas Thienemann 79673343a5 No automatic listener for port *
The formula currently adds a Listen directive for the port '*' if
any configured vhost is configured to listen on :* which does not
work and instead prevents apache from starting.

It is possible to prevent this by setting the
exclude_listen_directive pillar to True but this is a manual
workaround.

Instead, this commit excludes :* Listeners automatically.
2018-11-04 03:18:56 +01:00

49 lines
1.7 KiB
Django/Jinja

#
# This file is managed by Salt! Do not edit by hand!
#
{%- from "apache/map.jinja" import apache with context -%}
{% if salt['pillar.get']('apache:sites') is mapping %}
{%- set listen_directives = [] %}
{%- for id, site in salt['pillar.get']('apache:sites').items() %}
{%- set interfaces = site.get('interface', '*').split() %}
{%- set port = site.get('port', 80) %}
{%- for interface in interfaces %}
{%- if not site.get('exclude_listen_directive', False) and not port == '*' %}
{%- set listen_directive = interface ~ ':' ~ port %}
{%- if listen_directive not in listen_directives %}
{%- do listen_directives.append(listen_directive) %}
{%- endif %}
{%- endif %}
{%- endfor %}
{%- endfor %}
{%- for listen in listen_directives %}
Listen {{ listen }}
{%- endfor %}
{%- else %}
Listen 80
<IfModule mod_ssl.c>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
{%- endif %}
{%- if salt['pillar.get']('apache:name_virtual_hosts') is iterable %}
{%- set name_virtual_host_directives = [] %}
{%- for name_virtual_host in salt['pillar.get']('apache:name_virtual_hosts') %}
{%- set interface = name_virtual_host.get('interface', '*') %}
{%- set port = name_virtual_host.get('port', 80) %}
{%- set name_virtual_host_directive = interface ~ ':' ~ port %}
{%- do name_virtual_host_directives.append(name_virtual_host_directive) %}
{%- endfor %}
{%- for name_virtual_host in name_virtual_host_directives %}
NameVirtualHost {{ name_virtual_host }}
{%- endfor %}
{%- endif -%}