57 lines
1.3 KiB
YAML
57 lines
1.3 KiB
YAML
---
|
|
# tasks file for /etc/ansible/roles/slapd
|
|
- name: OS specific vars
|
|
include_vars: "{{ ansible_distribution }}.yml"
|
|
|
|
- name: install
|
|
package:
|
|
name: "{{ ldap_packages }}"
|
|
state: present
|
|
|
|
- name: activate service
|
|
service:
|
|
name: "{{ ldap_service }}"
|
|
state: started
|
|
enabled: yes
|
|
|
|
- name: reconfigure slapd
|
|
ldap_attr:
|
|
dn: olcDatabase={2}hdb,cn=config
|
|
name: "{{ item.key }}"
|
|
values: "{{ item.value }}"
|
|
state: exact
|
|
with_dict:
|
|
olcSuffix: "{{ ldap_suffix }}"
|
|
olcRootDN: "{{ ldap_admin_dn }}"
|
|
olcRootPW: "{{ ldap_admin_password }}"
|
|
|
|
- name: check if schema cosine is loaded
|
|
stat:
|
|
path: /etc/openldap/slapd.d/cn=config/cn=schema/cn={1}cosine.ldif
|
|
register: result
|
|
|
|
- name: import mandatory schema
|
|
command: "ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif"
|
|
when: result.stat.exists==False
|
|
|
|
- name: create suffix
|
|
ldap_entry:
|
|
server_uri: ldap://localhost
|
|
bind_dn: "{{ ldap_admin_dn }}"
|
|
bind_pw: "{{ ldap_admin_password }}"
|
|
dn: "{{ ldap_suffix }}"
|
|
objectClass: domain
|
|
attributes:
|
|
dc: "{{ ldap_domain }}"
|
|
|
|
- name: configure client
|
|
template:
|
|
src: ldap.conf
|
|
dest: /etc/openldap/ldap.conf
|
|
mode: 0644
|
|
|
|
- name: create passwd file
|
|
copy:
|
|
dest: /root/.ldap.secrets
|
|
mode: 0600
|
|
content: "{{ ldap_admin_password }}" |