diff --git a/radius-server/tasks/main.yml b/radius-server/tasks/main.yml
index d1f0a96616b485fb228a34e2c99e660f9dae5598..2b3cec8717201043efae648a4f95c9db340d8b02 100644
--- a/radius-server/tasks/main.yml
+++ b/radius-server/tasks/main.yml
@@ -6,8 +6,6 @@
       - freeradius
       - freeradius-config
       - freeradius-ldap
-      - freeradius-mysql
-      - freeradius-postgresql
       - freeradius-utils
       - winbind
     state: present
@@ -18,7 +16,7 @@
 - name: ensure freeradius server SSL configuration
   copy:
     src: "{{ radius_certs_dir }}/{{ item }}"
-    dest: /etc/freeradius/3.0/certs/
+    dest: /etc/freeradius/certs/
     owner: root
     group: freerad
     mode: '0640'
@@ -36,7 +34,7 @@
 - name: configure available modules
   template:
     src: "{{ item }}.j2"
-    dest: "/etc/freeradius/3.0/{{ item }}"
+    dest: "/etc/freeradius/{{ item }}"
     owner: root
     group: root
     mode: '0644'
@@ -52,7 +50,7 @@
 - name: ensure freeradius server sites and policies are configured
   template:
     src: "{{ item }}.j2"
-    dest: "/etc/freeradius/3.0/{{ item }}"
+    dest: "/etc/freeradius/{{ item }}"
     owner: root
     group: freerad
     mode: '0640'
@@ -72,10 +70,19 @@
   tags:
     - freeradius
 
+- name: allow enabling freeradius server modules
+  file:
+    dest: "/etc/freeradius/mods-enabled/"
+    state: directory
+  notify:
+    - reload freeradius
+  tags:
+    - freeradius
+
 - name: enable freeradius server modules
   file:
-    src: "/etc/freeradius/3.0/mods-available/{{ item }}"
-    dest: "/etc/freeradius/3.0/mods-enabled/{{ item }}"
+    src: "/etc/freeradius/mods-available/{{ item }}"
+    dest: "/etc/freeradius/mods-enabled/{{ item }}"
     state: link
   with_items:
     - ldap
@@ -88,10 +95,19 @@
   tags:
     - freeradius
 
+- name: allow enabling freeradius server sites
+  file:
+    dest: "/etc/freeradius/sites-enabled/"
+    state: directory
+  notify:
+    - reload freeradius
+  tags:
+    - freeradius
+
 - name: enable freeradius server sites
   file:
-    src: "/etc/freeradius/3.0/sites-available/{{ item }}"
-    dest: "/etc/freeradius/3.0/sites-enabled/{{ item }}"
+    src: "/etc/freeradius/sites-available/{{ item }}"
+    dest: "/etc/freeradius/sites-enabled/{{ item }}"
     state: link
   with_items:
     - default
diff --git a/radius-server/templates/mods-available/ldap.j2 b/radius-server/templates/mods-available/ldap.j2
index 135c21e6972bcabdb051f2217d7a8b8fcc91c7f2..4dcce7d499925db0c091b80dc5cc2ba6427d5303 100644
--- a/radius-server/templates/mods-available/ldap.j2
+++ b/radius-server/templates/mods-available/ldap.j2
@@ -289,7 +289,7 @@ ldap {
 		#  The default is libldap's default, which varies based
 		#  on the contents of ldap.conf.
 
-		require_cert	= 'demand'
+		require_cert	= 'allow'
 	}
 
 	#  As of version 3.0, the 'pool' section has replaced the
diff --git a/radius-server/templates/mods-config/files/authorize.j2 b/radius-server/templates/mods-config/files/authorize.j2
index 1b93cecc1be3deb428fa31d356e3c59be311333b..8163beaf6473e7b80be073a820692151026d649d 100644
--- a/radius-server/templates/mods-config/files/authorize.j2
+++ b/radius-server/templates/mods-config/files/authorize.j2
@@ -27,13 +27,13 @@ DEFAULT		Realm == {{ radius_default_realm }}, FreeRADIUS-Proxied-To == 127.0.0.1
 		User-Name = '%{User-Name}',
 		Fall-Through = yes
 
-{%- for assign in radius_vlan_assignments %}
+{% for assign in radius_vlan_assignments %}
 DEFAULT   {{ assign.key }} {{ assign.condition }} {{ assign.value }}
 		Tunnel-Type = VLAN,
 		Tunnel-Medium-Type = IEEE-802,
 		Tunnel-Private-Group-Id = {{ assign.vlan }},
 		Fall-Through = yes
-{% endfor -%}
+{% endfor %}
 
 #
 # Deny access for a group of users.
diff --git a/radius-server/templates/sites-available/default.j2 b/radius-server/templates/sites-available/default.j2
index 7b5a2db81f299912ee59752db2a8cb5bbf320e89..a83130d3933470887ef785320d4ca1deb96ea4a4 100644
--- a/radius-server/templates/sites-available/default.j2
+++ b/radius-server/templates/sites-available/default.j2
@@ -252,9 +252,11 @@ preacct {
 	#  The start time is: NOW - delay - session_length
 	#
 
+{% raw %}
 #	update request {
 #	  	FreeRADIUS-Acct-Session-Start-Time = "%{expr: %l - %{%{Acct-Session-Time}:-0} - %{%{Acct-Delay-Time}:-0}}"
 #	}
+{% endraw %}
 
 
 	#
diff --git a/radius-server/templates/sites-available/inner-tunnel.j2 b/radius-server/templates/sites-available/inner-tunnel.j2
index 904009fc87f35d2cadf7e78e54f05f99e4e6a6ac..a9fddacecf3eb12166f9a02512e9fa3eaceda4c9 100644
--- a/radius-server/templates/sites-available/inner-tunnel.j2
+++ b/radius-server/templates/sites-available/inner-tunnel.j2
@@ -94,22 +94,22 @@ authorize {
 	-sql
 	ldap
 
-	{%- for check in radius_tunnel_checks %}
-	{%- if check.station %}
+	{% for check in radius_tunnel_checks %}
+	{%- if check.station|default(False) %}
 	if ( &Called-Station-SSID == "{{ check.station }}" ) {
 	{% endif -%}
 	if {{ check.condition }} {
 	}
 	else {
 		update reply {
-			Reply-Message = "{{ check_error }}"
+			Reply-Message = "{{ check.error }}"
 		}
 		reject
 	}
-	{%- if check.station %}
+	{%- if check.station|default(False) %}
 	}
 	{% endif -%}
-	{% endfor -%}
+	{% endfor %}
 
 	expiration
 	logintime