diff --git a/roles/ldap_server/handlers/main.yml b/roles/ldap_server/handlers/main.yml index 673309cd5ee191e8f4e6f39dd6f54206955e65f5..22166f147b5084c9b7d62773bda152b35df68867 100644 --- a/roles/ldap_server/handlers/main.yml +++ b/roles/ldap_server/handlers/main.yml @@ -1,4 +1,7 @@ --- - name: Restart rsyslog - service: name=rsyslog state=restarted \ No newline at end of file + service: name=rsyslog state=restarted + +- name: Restart slapd + service: name=slapd state=restarted \ No newline at end of file diff --git a/roles/ldap_server/tasks/main.yml b/roles/ldap_server/tasks/main.yml index 36257860d752be8c779d564a8acb6a23f3792d08..739fae29ee648ab80f62a1982e7466016c79bf57 100644 --- a/roles/ldap_server/tasks/main.yml +++ b/roles/ldap_server/tasks/main.yml @@ -9,6 +9,9 @@ - name: Install slapd apt: name=slapd state=installed +- name: Install Python LDAP bindings + apt: name=python-ldap state=installed + - name: Enable slapd service service: name=slapd enabled=yes state=started @@ -23,8 +26,19 @@ - name: Change log level for slapd ldap_entry: dn=cn=config state=replaceattributes olcLogLevel="{{ ldap_server_config.log_level }}" -- name: Install Python LDAP bindings - apt: name=python-ldap state=installed +- name: Check if TLS private key is available + stat: path="{{ ldap_server_config.tls_key }}" + register: tls_key + +- name: Check if TLS certificate is available + stat: path="{{ ldap_server_config.tls_key }}" + register: tls_certificate + +- name: Configure TLS for slapd + ldap_entry: dn=cn=config state=replaceattributes olcTLSCertificateFile="{{ ldap_server_config.tls_certificate }}" olcTLSCertificateKeyFile="{{ ldap_server_config.tls_key }}" + when: tls_key.stat.exists and tls_certificate.stat.exists + notify: + - Restart slapd - name: Apply database permissions ldap_permissions: