diff --git a/apache/files/_auth.conf b/apache/files/_auth.conf
index ad446df..82bc35e 100644
--- a/apache/files/_auth.conf
+++ b/apache/files/_auth.conf
@@ -48,7 +48,12 @@
 
 {%- endif %}
 
+{%- if auth.engine == "none" %}
+  AuthType None
+{%- else %}
   AuthName "{{ auth.get("name", "Authentication required") }}"
+{%- endif %}
+
 {%- if auth.require is defined %}
 {%- for require in auth.require %}
   Require {{ require }}
diff --git a/apache/files/_locations.conf b/apache/files/_locations.conf
index 7cd2b2d..08d39c5 100644
--- a/apache/files/_locations.conf
+++ b/apache/files/_locations.conf
@@ -4,8 +4,10 @@
   {%- if location.script is defined and location.script %}
   ScriptAlias {{ location.uri }} {{ location.path }}
   {%- else %}
+  {%- if location.path is defined %}
   Alias {{ location.uri }} {{ location.path }}
   {%- endif %}
+  {%- endif %}
 
   <Location {{ location.uri }}>
   {%- if location.auth is defined%}
diff --git a/apache/files/proxy.conf b/apache/files/proxy.conf
index bf15a7b..bf93957 100644
--- a/apache/files/proxy.conf
+++ b/apache/files/proxy.conf
@@ -1,7 +1,7 @@
 {%- set site = salt['pillar.get']('apache:server:site:'+site_name) %}
 <VirtualHost *:{% if site.host.port is defined %}{{ site.host.port }}{% else %}{% if site.ssl is defined %}443{% else %}80{% endif %}{% endif %}>
-  {%- include "apache/files/_name.conf %}
-  {%- include "apache/files/_ssl.conf %}
+  {%- include "apache/files/_name.conf" %}
+  {%- include "apache/files/_ssl.conf" %}
   {%- include "apache/files/_log.conf" %}
 
   {%- if site.host.admin is defined %}
diff --git a/apache/server/service.sls b/apache/server/service.sls
index 25b51ef..7317933 100644
--- a/apache/server/service.sls
+++ b/apache/server/service.sls
@@ -59,7 +59,7 @@
 
 {%- endif %}
 
-{%- if module == 'kerb' %}
+{%- if module == 'auth_kerb' %}
 
 apache_auth_kerb_package:
   pkg.installed:
