Create automatically webdav roots
diff --git a/apache/map.jinja b/apache/map.jinja
index 8977727..e19d399 100644
--- a/apache/map.jinja
+++ b/apache/map.jinja
@@ -14,6 +14,8 @@
'conf_ext': '.conf',
'log_dir': '/var/log/apache2',
'wwwdir': '/srv',
+ 'user': 'www-data',
+ 'group': 'www-data',
},
'Arch': {
'pkgs': ['apache'],
@@ -26,6 +28,8 @@
'conf_ext': '.conf',
'log_dir': '/var/log/httpd',
'wwwdir': '/srv',
+ 'user': 'apache',
+ 'group': 'apache',
},
'RedHat': {
'pkgs': ['httpd'],
@@ -37,6 +41,8 @@
'conf_ext': '.conf',
'log_dir': '/var/log/httpd',
'www_dir': '/var/www',
+ 'user': 'apache',
+ 'group': 'apache',
},
'FreeBSD': {
'pkgs': ['apache22'],
@@ -48,5 +54,7 @@
'conf_ext': '',
'log_dir': '/var/log/',
'www_dir': '/usr/local/www/apache22/',
+ 'user': 'apache',
+ 'group': 'apache',
},
}, merge=salt['pillar.get']('apache:server')) %}
diff --git a/apache/server/site.sls b/apache/server/site.sls
index cf93c5f..05cc5a1 100644
--- a/apache/server/site.sls
+++ b/apache/server/site.sls
@@ -21,6 +21,26 @@
- watch_in:
- service: apache_service
+{%- if site.get('webdav', {}).get('enabled', False) %}
+{{ site.name }}_webdav_dir:
+ file.directory:
+ - name: {{ site.root }}
+ - user: {{ server.user }}
+ - group: {{ server.group }}
+ - makedirs: true
+{%- endif %}
+
+{%- for location in site.get('locations', []) %}
+{%- if location.get('webdav', {}).get('enabled', False) %}
+{{ site.name }}_webdav_{{ location.uri }}_dir:
+ file.directory:
+ - name: {{ location.path }}
+ - user: {{ server.user }}
+ - group: {{ server.group }}
+ - makedirs: true
+{%- endif %}
+{%- endfor %}
+
{%- if site.get('ssl', {'enabled': False}).enabled %}
/etc/ssl/certs/{{ site.host.name }}.crt:
diff --git a/tests/pillar/apache_server.sls b/tests/pillar/apache_server.sls
index 37c1f7d..4309274 100644
--- a/tests/pillar/apache_server.sls
+++ b/tests/pillar/apache_server.sls
@@ -34,6 +34,8 @@
script: true
- uri: /pipermail
path: /var/lib/mailman/archives/public
+ webdav:
+ enabled: true
- uri: /images/mailman
path: /usr/share/images/mailman
host: