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: