diff --git a/apache/files/Debian/ports-2.2.conf.jinja b/apache/files/Debian/ports-2.2.conf.jinja index 0164044..c8553f9 100644 --- a/apache/files/Debian/ports-2.2.conf.jinja +++ b/apache/files/Debian/ports-2.2.conf.jinja @@ -28,3 +28,18 @@ Listen 80 Listen 443 {%- 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 -%} diff --git a/apache/files/Debian/ports-2.4.conf.jinja b/apache/files/Debian/ports-2.4.conf.jinja index 0164044..c8553f9 100644 --- a/apache/files/Debian/ports-2.4.conf.jinja +++ b/apache/files/Debian/ports-2.4.conf.jinja @@ -28,3 +28,18 @@ Listen 80 Listen 443 {%- 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 -%} diff --git a/pillar.example b/pillar.example index ee104b6..2e76be3 100644 --- a/pillar.example +++ b/pillar.example @@ -23,6 +23,12 @@ apache: AllowEncodedSlashes: "On" + name_virtual_hosts: + - interface: * + port: 80 + - interface: * + port: 443 + # ``apache.vhosts`` formula additional configuration: sites: example.net: