An Ansible Playbook to deploy OpenLDAP and FusionDirectory
Go to file
2019-10-01 14:09:13 +03:00
handlers role instead of playbook 2018-08-18 21:21:00 -03:00
tasks role instead of playbook 2018-08-18 21:21:00 -03:00
templates Initial Commit 2018-06-07 07:19:58 -07:00
vars Initial Commit 2018-06-07 07:19:58 -07:00
LICENSE Initial Commit 2018-06-07 07:19:58 -07:00
README.md role instead of playbook 2018-08-18 21:21:00 -03:00

Deploy OpenLDAP/FusionDirectory using Ansible

These Role will deploy an OpenLDAP/FusionDirectory server.

Components:

  • OpenLDAP (slapd)
  • FusionDirectory
  • Apache
  • GnuTLS (Internal CA)

Prerequisites

  • An Ubuntu 18.04 LXD machine.
  • The python-minimal package needs to be present.
  • SSH Public key authentication from the Ansible host, to the mailserver.

Clone the repository

Clone the repository:

$ git clone https://git.theo-andreou.org/Personal/ansible-deploy-ldap-fusiondirectory.git
$ cd ansible-deploy-ldap-fusiondirectory

Create the vars files

Create the vars/all.yml file

  • Create a vars/all.yml file with similar content (you can use vars/all.yml.example as reference):
domain: example.org
organization: Example LTD
description: example
base_dn: dc=example,dc=org
locality: Limassol
state: Limassol
country: CY
allowed_ips:
  - 192.168.0.0/24
  - 10.0.0.0/24
language: en_US
timezone: Asia/Nicosia

Create the vars/secrets.yml filr

  • Create an encrypted vars/secrets.yml file:
$ ansible-vault create vars/secrets.yml

Use a master password for the file above.

  • Create this content:
ldap_admin_dn: cn=admin,dc=example,dc=org
ldap_admin_pass: MySecretLDAPCombination
fd_admin: fdadmin
fd_admin_pass: MySecretFDCombination
  • Create a playbook to call this role (fusiondirectory.yml):
- hosts: all
  become: yes
  gather_facts: false
  vars:
    - ansible_user: "ubuntu"
  pre_tasks:
    - name: install python 2
      raw: test -e /usr/bin/python || (apt -y update && apt install -y python-minimal)
      changed_when: False
  roles:
    - ansible-deploy-ldap-fusiondirectory

Deploy LDAP and FusionDirectory

When done with the configuration run this command (provide your master password):

$ ansible-playbook --vault-id @prompt fusiondirectory.yml

When done visit http://auth.example.org to login for the first time. I suggest you enable HTTPS before doing that.

References