apache-formula/apache/vhosts/standard.sls
Julien Cristau 9be8ade5aa allow absence of DocumentRoot
DocumentRoot is useless for a plain redirect or proxy vhost, no need to
force creating the directory.

Signed-off-by: Julien Cristau <julien.cristau@logilab.fr>
2015-09-21 15:47:46 +02:00

54 lines
1.4 KiB
Plaintext

{% from "apache/map.jinja" import apache with context %}
include:
- apache
{% for id, site in salt['pillar.get']('apache:sites', {}).items() %}
{% set documentroot = site.get('DocumentRoot', '{0}/{1}'.format(apache.wwwdir, id)) %}
{{ id }}:
file:
- managed
- name: {{ apache.vhostdir }}/{{ id }}{{ apache.confext }}
- source: {{ site.get('template_file', 'salt://apache/vhosts/standard.tmpl') }}
- template: {{ site.get('template_engine', 'jinja') }}
- context:
id: {{ id|json }}
site: {{ site|json }}
map: {{ apache|json }}
- require:
- pkg: apache
- watch_in:
- module: apache-reload
{% if site.get('DocumentRoot') != False %}
{{ id }}-documentroot:
file.directory:
- unless: test -d {{ documentroot }}
- name: {{ documentroot }}
- makedirs: True
{% endif %}
{% if grains.os_family == 'Debian' %}
{% if site.get('enabled') %}
a2ensite {{ id }}{{ apache.confext }}:
cmd:
- run
- unless: test -f /etc/apache2/sites-enabled/{{ id }}{{ apache.confext }}
- require:
- file: /etc/apache2/sites-available/{{ id }}{{ apache.confext }}
- watch_in:
- module: apache-reload
{% else %}
a2dissite {{ id }}{{ apache.confext }}:
cmd:
- run
- require:
- file: /etc/apache2/sites-available/{{ id }}{{ apache.confext }}
- watch_in:
- module: apache-reload
{% endif %}
{% endif %}
{% endfor %}