Support for setting htaccess
diff --git a/apache/server/init.sls b/apache/server/init.sls
index df5ed64..46d4d4f 100644
--- a/apache/server/init.sls
+++ b/apache/server/init.sls
@@ -1,3 +1,4 @@
 include:
 - apache.server.service
-- apache.server.site
\ No newline at end of file
+- apache.server.site
+- apache.server.users
diff --git a/apache/server/users.sls b/apache/server/users.sls
new file mode 100644
index 0000000..20bc3a2
--- /dev/null
+++ b/apache/server/users.sls
@@ -0,0 +1,39 @@
+{%- from "apache/map.jinja" import server with context %}
+{%- if server.enabled %}
+
+{%- for user_name, user in server.get('user', {}).iteritems() %}
+{%- if user.enabled %}
+
+apache_setup_user_{{ user_name }}:
+  webutil.user_exists:
+  - name: {{ user_name }}
+  {%- if user.htpasswd is defined %}
+  - htpasswd_file: {{ server.htpasswd_dir }}/{{ user.htpasswd }}
+  {%- else %}
+  - htpasswd_file: {{ server.htpasswd_dir }}/htpasswd
+  {%- endif %}
+  - password: {{ user.password }}
+  {%- if user.opts is defined %}
+  - options: '{{ user.opts }}'
+  {%- endif %}
+  - require:
+    - pkg: apache_packages
+
+{%- else %}
+
+apache_setup_user_{{ user_name }}_absent:
+  module.run:
+  - name: htpasswd.userdel
+  - user: {{ user_name }}
+  {%- if user.htpasswd is defined %}
+  - pwfile: /etc/apache/{{ user.htpasswd }}
+  {%- else %}
+  - pwfile: {{ server.htpasswd_dir }}/htpasswd
+  {%- endif %}
+  - require:
+    - pkg: apache_packages
+
+{%- endif %}
+{%- endfor %}
+
+{%- endif %}
diff --git a/tests/pillar/apache_server.sls b/tests/pillar/apache_server.sls
index 4309274..e6dab85 100644
--- a/tests/pillar/apache_server.sls
+++ b/tests/pillar/apache_server.sls
@@ -4,6 +4,11 @@
     modules:
       - cgi
       - php
+    user:
+      cloudlab:
+        enabled: true
+        password: cloudlab
+        htpasswd: cloudlab.htpasswd
     site:
       roundcube:
         enabled: true
@@ -32,6 +37,9 @@
           - uri: /mailman
             path: /usr/lib/cgi-bin/mailman
             script: true
+            auth:
+              engine: basic
+              htpasswd: cloudlab.htpasswd
           - uri: /pipermail
             path: /var/lib/mailman/archives/public
             webdav: