25.3. Assurer la présence d'un service HTTP sur un client IdM sans DNS à l'aide d'un playbook Ansible
Cette section décrit comment assurer la présence d'un serveur HTTP fonctionnant sur un client IdM qui n'a pas d'entrée DNS à l'aide d'un playbook Ansible. Le scénario sous-entendu est que l'hôte IdM n'a pas d'entrée DNS A disponible - ou pas d'entrée DNS AAAA si IPv6 est utilisé à la place d'IPv4.
Conditions préalables
- Le système qui héberge le service HTTP est inscrit dans l'IdM.
- L'enregistrement DNS A ou DNS AAAA pour l'hôte peut ne pas exister. Sinon, si l'enregistrement DNS de l'hôte existe, suivez la procédure décrite dans la section Assurer la présence d'un service HTTP dans IdM à l'aide d'un livre de jeu Ansible.
- Vous avez le mot de passe de l'administrateur IdM.
Procédure
Créer un fichier d'inventaire, par exemple
inventory.file
:$ touch inventory.file
Ouvrez le site
inventory.file
et définissez le serveur IdM que vous souhaitez configurer dans la section[ipaserver]
. Par exemple, pour demander à Ansible de configurer server.idm.example.com, entrez :[ipaserver] server.idm.example.com
Faites une copie du fichier
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-with-host-force.yml
Ansible playbook. Par exemple :$ cp /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-with-host-force.yml /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-with-host-force-copy.yml
Ouvrez le fichier copié,
/usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-with-host-force-copy.yml
, pour l'éditer. Localisez les variablesipaadmin_password
etname
dans la tâcheipaservice
:--- - name: Playbook to manage IPA service. hosts: ipaserver gather_facts: false vars_files: - /home/user_name/MyPlaybooks/secret.yml tasks: # Ensure service is present - ipaservice: ipaadmin_password: "{{ ipaadmin_password }}" name: HTTP/ihavenodns.info force: yes
Adapter le dossier :
-
Définissez la variable
ipaadmin_password
avec votre mot de passe d'administrateur IdM. -
Définissez la variable
name
avec le nom de l'hôte sur lequel le service HTTP est exécuté.
-
Définissez la variable
- Save and exit the file.
Exécutez le playbook Ansible. Spécifiez le fichier du livre de jeu, le fichier contenant le mot de passe protégeant le fichier secret.yml et le fichier d'inventaire :
$ ansible-playbook --vault-password-file=password_file -v -i path_to_inventory_directory/inventory.file /usr/share/doc/ansible-freeipa/playbooks/service/service-is-present-with-host-force-copy.yml
Verification steps
- Se connecter à l'interface Web IdM en tant qu'administrateur IdM.
-
Naviguez jusqu'à
Identity
Services
.
Vous pouvez maintenant voir HTTP/client.idm.example.com@IDM.EXAMPLE.COM dans la liste Services.
Ressources supplémentaires
- Pour sécuriser la communication, voir l'ajout du cryptage TLS à un serveur HTTP Apache.