# ``apache`` formula configuration:
apache:
  server: apache2
  service: apache2

  confdir: /etc/apache2/conf.d
  logdir: /var/log/apache2
  wwwdir: /srv/apache2

# ``apache.mod_wsgi`` formula additional configuration:
apache:
  mod_wsgi: mod_wsgi

# ``apache.vhosts`` formula additional configuration:
apache:
  sites:
    # Default values below are used unless disabled by setting to 'False'.
    example.com: # must be unique; used as an ID declaration in Salt; also passed to the template context as {{ id }}
      template_file: salt://apache/vhosts/standard.tmpl
      template_engine: jinja

      interface: '*'
      port: '80'

      ServerName: {{ id }} # uses the unique ID above unless specified
      ServerAlias: www.{{ id }}

      ServerAdmin: webmaster@{{ id }}

      LogLevel: warn
      ErrorLog: {{ logdir }}/{{ id }}-error.log # E.g.: /var/log/apache2/example.com-error.log
      CustomLog: {{ logdir }}/{{ id }}-access.log # E.g.: /var/log/apache2/example.com-access.log

      DocumentRoot: {{ wwwdir }}/{{ id }} # E.g., /var/www/example.com

      Directory:
        default: # "default" is a special case; Adds ``{{ wwwdir }}/{{ id }}`` e.g.: /var/www/example.com
          Options: -Indexes FollowSymLinks
          Order: allow,deny
          Allow: from all
          AllowOverride: None
          Formula_Append: |
            Additional config as a
            multi-line string here

      Formula_Append: |
        Additional config as a
        multi-line string here

    example.net:
      template_file: salt://apache/vhosts/minimal.tmpl

# ``apache.debian_full`` formula additional configuration:
apache:
  register-site:
    # any name as an array index, and you can duplicate this section
    {{UNQIUE}}:
      name: 'my name'
      path: 'salt://path/to/sites-available/conf/file'
      state: 'enabled'