|
- # -*- coding: utf-8 -*-
- # vim: ft=sls
-
- {%- set tplroot = tpldir.split('/')[0] %}
- {%- set sls_package_install = tplroot ~ '.package.install' %}
- {%- set sls_service_running = tplroot ~ '.service.running' %}
- {%- from tplroot ~ "/map.jinja" import apache with context %}
- {#- The apache variable can grow _very_ large, especially the sites subkey.
- Create a trimmed copy with config variables. #}
- {%- set map = apache %}
- {%- do map.pop('sites', None) %}
-
- include:
- - {{ sls_package_install }}
- - {{ sls_service_running }}
-
- {%- for id, site in salt['pillar.get']('apache:sites', {}).items() %}
- {%- set documentroot = site.get('DocumentRoot', '{0}/{1}'.format(apache.wwwdir, site.get('ServerName', id))) %}
-
- apache-config-vhosts-standard-{{ id }}:
- file.managed:
- - name: {{ apache.vhostdir }}/{{ id }}{{ apache.confext }}
- - source: {{ site.get('template_file', 'salt://apache/config/vhosts/standard.tmpl') }}
- - template: {{ apache.get('template_engine', 'jinja') }}
- - makedirs: True
- - context:
- id: {{ id|json }}
- site: {{ site|json }}
- map: {{ map|json }}
- - require:
- - pkg: apache-package-install-pkg-installed
- - watch_in:
- - module: apache-service-running-reload
- - require_in:
- - module: apache-service-running-restart
- - module: apache-service-running-reload
- - service: apache-service-running
-
- {%- if site.get('DocumentRoot') != False %}
-
- apache-config-vhosts-standard-{{ id }}-docroot:
- file.directory:
- - name: {{ documentroot }}
- - makedirs: True
- - user: {{ site.get('DocumentRootUser', apache.get('document_root_user'))|json or apache.user }}
- - group: {{ site.get('DocumentRootGroup', apache.get('document_root_group'))|json or apache.group }}
- - allow_symlink: True
-
- {%- endif %}
- {%- if grains.os_family == 'Debian' %}
- {%- if site.get('enabled', True) %}
-
- apache-config-vhosts-standard-{{ id }}-cmd-run-a2en:
- cmd.run:
- - name: a2ensite {{ id }}{{ apache.confext }}
- - unless: test -f /etc/apache2/sites-enabled/{{ id }}{{ apache.confext }}
- - require:
- - file: apache-config-vhosts-standard-{{ id }}
- - watch_in:
- - module: apache-service-running-reload
- - require_in:
- - module: apache-service-running-restart
- - module: apache-service-running-reload
- - service: apache-service-running
-
- {%- else %}
-
- apache-config-vhosts-standard-{{ id }}-cmd-run-a2dis:
- cmd.run:
- - name: a2dissite {{ id }}{{ apache.confext }}
- - onlyif: test -f /etc/apache2/sites-enabled/{{ id }}{{ apache.confext }}
- - require:
- - file: apache-config-vhosts-standard-{{ id }}
- - watch_in:
- - module: apache-service-running-reload
- - require_in:
- - module: apache-service-running-restart
- - module: apache-service-running-reload
- - service: apache-service-running
-
- {%- endif %}
- {%- endif %} {# Debian #}
- {%- endfor %}
|