User Tools

Site Tools


Sidebar

cn:ccr:aai:howto:how_to:rockylinux8-ansible-ds389

Creare un 389ds tramite Ansible - RockyLinux 8

Sulla macchina su cui verrà installato 389ds

  • Installare una distribuzione RockyLinux 8 (selezione pacchetti: minimal)
  • Assegnare IP e nome DNS coerente (esempio: host_ds389.infn.it )
  • Eseguire gli update del sistema operativo (dnf -y update)
  • In caso di update del kernel eseguire anche un reboot

Dal client Ansible

Sul client ansible la versione minima installata deve essere 2.10.

Se si usa come client un sistema con Rocky Linux 8 è possibile installare la versione 2.10 di ansible da python (e non via dnf/rpm, perchè al momento nei repository standard l'ultima versione di ansible disponibile è la 2.9), seguendo questa procedura:

dnf module -y install python38

alternatives --config python
alternatives --config python3

(scegliere la 3.8 per entrambi)

pip3 install --upgrade pip

python -m pip install ansible

Oltre ad ansible sul client dovrà essere presente anche git. Ad es. se il client è un sistema che usa come packet manager "dnf":

dnf -y install git

* Sul client scaricare ed installare il ruolo ansible: lvps.389ds_server:

ansible-galaxy install lvps.389ds_server

* Sul client scaricare ed installare la collection: community.general:

ansible-galaxy collection install community.general

* Sul client scaricare il ruolo ansible: 389-rocky8:

cd ~/.ansible/roles
git clone https://baltig.infn.it/infn-aai/389-rocky8.git

(Il link a baltig con le note di installazione e configurazione del playbook ansible è: https://baltig.infn.it/infn-aai/389-rocky8)

* Sul client creare una directory di lavoro che dovrà contenere i seguenti file:

* host.pem: <certificato pubblico del server da configurare> 
* host.key: <chiave privata del certificato> 
* host.keytab: <kerberos keytab del server da configurare>
* playbook.yml: <playbpok in formato yaml da passare ad ansible per la configurazione del server>
* inventory: <file di inventory ansible in cui specificare l'indirizzo dell'host da configurare>

Esempio del file playbook.yml:

- name: Configure 389 DS on xxx
  hosts: xxx
  roles:
    - role: 389-rocky8
      dirsrv_rootdn_password: <password-del-389ds-da-configurare>
      dirsrv_tls_cert_file: host.pem
      dirsrv_tls_key_file: host.key
      dirsrv_keytab_file: host.keytab
  • Esempio del file inventory:
[xxx]
xxx.<sede>.infn.it
  • Eseguire il playbook ansible:

E' consigliabile configurare preventivamente lo scambio di chiavi tra la macchina che lancia il playbook e la macchina da configurare. Posizionarsi nella directory di lavoro contenente il playbook, l'inventory e gli altri file citati in precedenza e lanciare il playbook:

ansible-playbook -u root -i inventory playbook.yml

Accesso a 389ds

Collegarsi sulla macchina tramite cockpit sulla porta 9090 con l'utente root

http://nomemacchina.dominio:9090

e selezionare

389Directory Server

Comunicare il nuovo DS al gruppo AAI

Affinchè l'LDAP appena installato venga popolato con i dati di AAI è necessario inviare un mail a:

aai-support@infn.it

Il mail dovrà contenere:

  1. il nome del nuovo server
  2. il ramo locale o i rami locali che volete vengano copiati e sincronizzati sul vostro server
  3. la password del Directory Manager (ovviamente dopo la sicronizzazione dovrete cambiarla)

Reset password Directory Manager

E' necessario determinare il nome dell'istanza del DS389

Eseguire:

# ls -F /etc/dirsrv/ | grep slapd

Esempio

# ls -F /etc/dirsrv/ | grep slapd
  slapd-ds2

L'istanza è:

slapd-ds2

Per effettuare il reset della password del Directory Manager eseguire:

dsconf "istanza" directory_manager password_change

"BRASARE" 389-ds

Se durante l'installazione/configurazione del 389ds qualcosa dovesse andar storto e si vuole ricominciare da zero si può utilizzare la seguente procedura per ripulire il sistema da tutti i residui dell'installazione precedente, prima di rilanciare il playbook:

cd ~
systemctl stop dirsrv@"nomemacchina".service
systemctl disable dirsrv@"nomemacchina".service
systemctl daemon-reload
dnf -y remove "389*" epel-release
rm -rf /etc/dirsrv /var/lib/dirsrv /var/log/dirsrv /usr/lib64/dirsrv /usr/share/dirsrv /var/lock/dirsrv /etc/sysconfig/dirsrv* /etc/tmpfiles.d/dirsrv* /etc/systemd/system/dirsrv* /etc/systemd/system/multi-user.target.wants/dirsrv* 
cn/ccr/aai/howto/how_to/rockylinux8-ansible-ds389.txt · Last modified: 2022/12/15 12:45 by resposit@infn.it