blob: 06eb692d9acff2374164fbcf20ba20f66f787418 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
|
- name: Install OpenLDAP
apt: pkg={{ item }}
with_items:
- slapd
- ldap-utils
- ldapvi
- db-util
- python-ldap
- name: Configure slapd
template: src=etc/default/slapd.j2
dest=/etc/default/slapd
owner=root group=root
mode=0644
register: r1
notify:
- Restart slapd
# Upon install slapd create and populate a database under /var/lib/ldap.
# We clear it up and create a children directory to get finer-grain
# control.
- name: Clear empty /var/lib/ldap
# Don't remove the database (and fail) if it contains something else
# than its suffix or cn=admin,...
openldap: dbdirectory=/var/lib/ldap ignoredn=cn=admin
state=absent
- name: Create directory /var/lib/ldap/fripost
file: path=/var/lib/ldap/fripost
owner=openldap group=openldap
state=directory
mode=0700
- name: Copy /var/lib/ldap/fripost/DB_CONFIG
copy: src=var/lib/ldap/fripost/DB_CONFIG
dest=/var/lib/ldap/fripost/DB_CONFIG
owner=openldap group=openldap
mode=0600
register: r2
notify:
# Not sure if required
- Restart slapd
- name: Create directory /etc/ldap/fripost
file: path=/etc/ldap/fripost
owner=root group=root
state=directory
mode=0755
- name: Copy fripost database definition
template: src=etc/ldap/database.ldif.j2
dest=/etc/ldap/fripost/database.ldif
owner=root group=root
mode=0600
- name: Copy fripost schema
copy: src=etc/ldap/schema/fripost.ldif
dest=/etc/ldap/schema/fripost.ldif
owner=root group=root
mode=0644
- name: Load fripost's schema and configure the database
openldap: target=/etc/ldap/{{ item }} state=present
with_items:
- schema/fripost.ldif
# TODO load other required schemas *before* loading the database
- fripost/database.ldif
- name: Start slapd
service: name=slapd state=started
when: not (r1.changed or r2.changed)
- meta: flush_handlers
|