user-ansible@node-manager:~$ cat roles/mediawiki/confapache/tasks/main.yml
# ~/roles/mediawiki/confapache/tasks/main.yml
---
#1. Création du répertoire pour l'installation des fichiers Mediawiki
- name: "mediawiki directory"
file:
path: "{{mediawiki_directory}}" # => /var/www/html/mediawiki
owner: "apache"
group: "apache"
state: directory
#2. Décompresse le fichier source archive Mediawiki et le formate sans extension
- name: "uncompress mediawiki archive"
unarchive:
src: "{{mediawiki_archive_url}}" # => https://releases… …/mediawiki/1.31/mediawiki-1.31.1.tar.gz
dest: "{{mediawiki_directory}}" # => /var/www/html/mediawiki
owner: "apache"
group: "apache"
remote_src: yes
# supprime mediawiki-1.xx.x/ du chemin
extra_opts: --transform=s/mediawiki-[0-9\.]*\///
#3. Exécute le tâche avec l'utilisateur apache, se place dans le répertoire de maintenance et exécute la commande de configuration si le fichier localsetting.php n'existe pas
- name: "mediawiki configuration"
become: yes
become_user: "apache"
args:
creates: "{{mediawiki_directory}}/LocalSettings.php" # => /var/www/html/mediawiki/LocalSettings.php
chdir: "{{mediawiki_maintenance_directory}}" # => /var/www/html/mediawiki/maintenance (contient install.php !!)
command:
php install.php --scriptpath /{{mediawiki_name}} --dbname mediawiki --lang fr --dbuser {{mediawiki_db_user}} --dbpass {{mediawiki_db_password}} --pass {{mediawiki_admin_password}} --dbserver {{mediawiki_db_host}} {{mediawiki_title}} {{mediawiki_admin_user}}
run_once: yes
delegate_to: "{{item}}"
with_items: "{{groups.apache}}"
#4. Exécute la tâche avec l'utilisatteur apache, se place dans le répertoire de maintenance et exćute la commande de mise à jour de la base une seule fois
- name: "mediawiki db update"
become: yes
become_user: "apache"
command: php update.php --quick
args:
chdir: "{{mediawiki_maintenance_directory}}" # => /var/www/html/mediawiki/maintenance (contient install.php !!)
run_once: yes
register: resultat
changed_when: "' ...done.' in resultat.stdout"
Mes variables globales: roles/mediawiki/commun/defaults/main.yml
user-ansible@node-manager:~$ cat roles/mediawiki/commun/defaults/main.yml
# ~/roles/mediawiki/commun/defaults/main.yml
---
# nom de la base de données
mediawiki_db_name: "mediawiki"
# nom de l'utilisateur de la base de données et son mot de passe
mediawiki_db_user: "mediawiki"
mediawiki_db_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
66356330613535306333666239643764663932353033333662643337386337656662356438376630
3864323234376537626464363539633861353632613539630a383462623937363638633833653165
64613564386532663437303438356330306131613339376532396339623264383264383033643362
6531663330323964650a373038323332626461363463396339363635646432316530346361353061
6662
# nom et mot de passe de l'administrateur Mediawiki
mediawiki_admin_user: "admin"
mediawiki_admin_password: !vault |
$ANSIBLE_VAULT;1.1;AES256
66356330613535306333666239643764663932353033333662643337386337656662356438376630
3864323234376537626464363539633861353632613539630a383462623937363638633833653165
64613564386532663437303438356330306131613339376532396339623264383264383033643362
6531663330323964650a373038323332626461363463396339363635646432316530346361353061
6662
# nom du Mediawiki et son titre
mediawiki_name: "mediawiki"
mediawiki_title: "ELS"
# l'emplacement du répertoire d'installation de Mediawiki
# => Mediawiki est un site internet…
mediawiki_directory: "/var/www/html/{{mediawiki_name}}"
# répertoire de maintenance de mediawiki
mediawiki_maintenance_directory: "{{mediawiki_directory}}/maintenance"
# Definie le premier node du groupe mariadb
mediawiki_db_host: "{{groups.db.0}}"
# l'url des sources mediawiki
mediawiki_archive_url: "https://releases.wikimedia.org/mediawiki/1.31/mediawiki-1.31.1.tar.gz"
je ne sais pas trop ce qui cafouille, si ce n'est la résolution du nom http2… Peut-être que cela a voir avec la précédence, une configuration à adapter dans un environnement virtuel python, l'inventaire, le fichier hosts (d'ansible, pas le /etc/hosts) ?
Par contre, j'ai testé en installant ansible sur une Ubuntu 20.04 avec apt et en adaptant tout le début du cours pour faire jouer à cette Ubuntu le rôle de node-master, dans les grandes lignes comme ceci:
=> installation ansible, sshpass
=> création de l'utilisateur user-ansible, se loguer avec lui ; configurer la résolution de http2 et bdd2 dans /etc/hosts
=> création de paire de clés ssj-keygen -t ecdsa ; exportation de la clé publique…
=> importation des dossiers/fichiers déjà saisis dans le premier node-master (celui du début du post) avec scp…
=> configuration de l'inventaire: dans /etc/ansible/hosts ; !!! donc je n'ai plus utilisé -i inventaire.ini dans les lignes de commandes (ad-hoc)
J'ai lancé (joué) le playbook install-mediawiki, c'est passé comme une lettre à la poste.
(ansible2.7.10) user-ansible@node-manager:~$ curl http://http2/mediawiki
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>301 Moved Permanently</title>
</head><body>
<h1>Moved Permanently</h1>
<p>The document has moved <a href="http://http2/mediawiki/">here</a>.</p>
</body></html>
-L, --location
(HTTP) If the server reports that the requested page has moved to a different location (indicated with a Location: header and a 3XX response code), this option will make curl
redo the request on the new place.
Je mets résolu.
- Edité par DenebeDenebe 8 mars 2022 à 12:26:01
Ansible - Failed to connect to the host via ssh
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.