dnf -y install ansible-core
dnf -y install git
ansible-galaxy collection install community.general
ansible-galaxy collection install ansible.posix
<del>ansible-galaxy install lvps.389ds_server</del>
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:
cd ~/.ansible/roles git clone https://github.com/lvps/389ds-server.git lvps.389ds_server
cd ~/.ansible/roles git clone https://baltig.infn.it/infn-aai/389-ds-setup.git
(Il link a baltig con le note di installazione e configurazione del playbook ansible è: https://baltig.infn.it/infn-aai/389-ds-setup)
* 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-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
[xxx] xxx.<sede>.infn.it
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
Collegarsi sulla macchina tramite cockpit sulla porta 9090 con l'utente root
http://nomemacchina.dominio:9090
e selezionare
389Directory Server
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:
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
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*