User Tools

Site Tools


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

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
cn:ccr:aai:howto:how_to:rockylinux8-ansible-ds389 [2024/01/12 13:10] – [Sul nodo da cui si intende eseguire il playbook ansible (nodo di controllo)] anzel@infn.itcn:ccr:aai:howto:how_to:rockylinux8-ansible-ds389 [2024/03/27 09:54] (current) enrico@infn.it
Line 1: Line 1:
 +====== Creare un 389ds tramite Ansible - Rocky/Alma Linux 8.x o 9.x ======
 +
 +\\
 +
 +===== Sulla macchina su cui verrà installato 389ds (nodo gestito) =====
 +
 +  * Installare una distribuzione a scelta tra RockyLinux e AlmaLinux 8 o 9 (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**
 +
 +\\
 +===== Sul nodo da cui si intende eseguire il playbook ansible (nodo di controllo) =====
 +
 +  * Installare ansible. La versione minima di ansible installata deve essere **2.10**.
 +
 +<code>dnf -y install ansible-core</code>
 +
 +  * Installare git
 +
 +<code>dnf -y install git</code>
 +
 +  * Installare la collection: **community.general**:
 +<code>
 +ansible-galaxy collection install community.general
 +</code>
 +
 +  * Installare la collection: **ansible.posix**:
 +<code>
 +ansible-galaxy collection install ansible.posix
 +</code>
 +
 +  * Installare il ruolo ansible: **lvps.389ds_server**:
 +<code>
 +<del>ansible-galaxy install lvps.389ds_server</del>
 +</code>
 +
 +**ATTENZIONE**: il ruolo esterno (lvps.389ds_server) aveva un bug che gli sviluppatori hanno corretto su github ma, **alla data del 10 gennaio 2024**, non ancora su ansible galaxy.
 +Fino a che il repository non sara' stato aggiornato, pertanto, NON si deve installare la versione disponibile nel repository standard, ma e' necessario scaricare il ruolo direttamente da github:
 +
 +<code>  
 +cd ~/.ansible/roles
 +git clone https://github.com/lvps/389ds-server.git lvps.389ds_server
 +
 +</code>
 +
 +  * Scaricare il ruolo ansible: **389-ds-setup**:
 +<code>
 +cd ~/.ansible/roles
 +git clone https://baltig.infn.it/infn-aai/389-ds-setup.git
 +</code>
 +
 +(Il link a baltig con le note di installazione e configurazione del playbook ansible è: https://baltig.infn.it/infn-aai/389-ds-setup)
 +
 +
 +  * Creare una directory di lavoro che dovrà contenere i seguenti file:
 +
 +<code>
 +* 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>
 +</code>
 +
 +
 +Esempio del file **playbook.yml**:
 +
 +<code>
 +- name: Configure 389 DS on xxx
 +  hosts: xxx
 +  roles:
 +    - role: 389-ds-setup
 +      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
 +</code>
 +
 +  * Esempio del file **inventory**:
 +
 +<code>
 +[xxx]
 +xxx.<sede>.infn.it
 +</code>
 +
 +  * 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:
 +<code>
 +ansible-playbook -u root -i inventory playbook.yml
 +</code>
 +
 +\\
 +
 +
 +===== 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:
 +  - il nome del nuovo server
 +  - il ramo locale o i rami locali che volete vengano copiati e sincronizzati sul vostro server
 +  - 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@${DSUID}.service
 +  systemctl disable dirsrv@${DSUID}.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* /usr/src/389ds-krb5-plugin /etc/tmpfiles.d/dirsrv* /etc/systemd/system/dirsrv* /etc/systemd/system/multi-user.target.wants/dirsrv* 
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki