Ansible: plusieurs éléments intéressants
This commit is contained in:
parent
055e23acf0
commit
282871f0da
@ -54,7 +54,7 @@
|
||||
# 5. Configurer le hostname
|
||||
- name: Configurer le hostname
|
||||
hostname:
|
||||
name: "Gitea"
|
||||
name: "{{ ansible_hostname }}"
|
||||
become: yes
|
||||
|
||||
# 6. Changer le mot de passe root
|
||||
@ -80,17 +80,22 @@
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
# 8. Ajouter le dépôt Sury pour PHP 8.3
|
||||
#- name: Ajouter le dépôt Sury pour PHP 8.3
|
||||
#shell: echo "deb https://packages.sury.org/php/ bookworm main" | tee /etc/apt/sources.list.d/sury-php.list
|
||||
#become: yes
|
||||
- name: Installer les dépendances requises pour ajouter un dépôt
|
||||
apt:
|
||||
name: ["apt-transport-https", "ca-certificates", "lsb-release", "curl"]
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
|
||||
# 8. Ajouter le dépôt Sury pour PHP 8.3
|
||||
- name: Ajouter le dépôt Sury pour PHP 8.3
|
||||
shell: echo "deb https://packages.sury.org/php/ bookworm main" | tee /etc/apt/sources.list.d/sury-php.list
|
||||
become: yes
|
||||
|
||||
- name: Ajouter la clé GPG du dépôt Sury
|
||||
shell: curl -fsSL https://packages.sury.org/php/apt.gpg | tee /etc/apt/trusted.gpg.d/sury-php.gpg > /dev/null
|
||||
become: yes
|
||||
|
||||
# 9. Ajouter la clé GPG du dépôt Sury
|
||||
#- name: Ajouter la clé GPG du dépôt Sury via apt_key
|
||||
# apt_key:
|
||||
#url: https://packages.sury.org/php/apt.gpg
|
||||
#state: present
|
||||
#become: yes
|
||||
|
||||
- name: Mettre à jour et upgrader le système
|
||||
apt:
|
||||
@ -146,4 +151,11 @@
|
||||
msg: "Redémarrage après configuration."
|
||||
pre_reboot_delay: 5
|
||||
become: yes
|
||||
|
||||
- name: Remplacer "clean" par le hostname dans /etc/hosts
|
||||
replace:
|
||||
path: /etc/hosts
|
||||
regexp: '\bclean\b'
|
||||
replace: "{{ ansible_hostname }}"
|
||||
become: yes
|
||||
|
||||
|
||||
22
11-Ansible/Old/install_fullserver_web.sh
Executable file
22
11-Ansible/Old/install_fullserver_web.sh
Executable file
@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Demande à l'utilisateur l'adresse IP et le hostname
|
||||
read -p "Entrez l'adresse IP de la machine cible : " target_ip
|
||||
read -p "Entrez le nouveau hostname : " ansible_hostname
|
||||
|
||||
# Vérification que l'IP et le hostname ne sont pas vides
|
||||
if [[ -z "$target_ip" || -z "$ansible_hostname" ]]; then
|
||||
echo "Erreur : L'adresse IP et le hostname ne peuvent pas être vides."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Créer un fichier d'inventaire dynamique
|
||||
inventory_file="dynamic_inventory.ini"
|
||||
echo "[server_web]" > $inventory_file
|
||||
echo "$target_ip ansible_user=root ansible_ssh_pass=testtest" >> $inventory_file
|
||||
|
||||
# Exécution du playbook avec les variables dynamiques
|
||||
ansible-playbook -i "$inventory_file" -u root --ask-become-pass playbooks/debian_fullserver_web.yml -e "ansible_hostname=$ansible_hostname"
|
||||
|
||||
# Supprimer le fichier d'inventaire dynamique après utilisation
|
||||
rm -f $inventory_file
|
||||
@ -68,26 +68,27 @@
|
||||
- name: Configurer l'utilisateur smauro
|
||||
user:
|
||||
name: "{{ user }}"
|
||||
password: "{{ root_password | password_hash('sha512') }}"
|
||||
password: "{{ user_password | password_hash('sha512') }}" # Utilisation de la variable dynamique
|
||||
shell: /bin/bash
|
||||
groups: sudo
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
# 8. Installer les paquets nécessaires
|
||||
- name: Installer les paquets nécessaires
|
||||
apt:
|
||||
name: ["sudo", "vim", "curl", "git", "htop", "gnupg", "apache2"]
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
# 9. Installer les dépendances requises pour ajouter un dépôt
|
||||
- name: Installer les dépendances requises pour ajouter un dépôt
|
||||
apt:
|
||||
name: ["apt-transport-https", "ca-certificates", "lsb-release", "curl"]
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
|
||||
# 8. Ajouter le dépôt Sury pour PHP 8.3
|
||||
# 10. Ajouter le dépôt Sury pour PHP 8.3
|
||||
- name: Ajouter le dépôt Sury pour PHP 8.3
|
||||
shell: echo "deb https://packages.sury.org/php/ bookworm main" | tee /etc/apt/sources.list.d/sury-php.list
|
||||
become: yes
|
||||
@ -96,14 +97,14 @@
|
||||
shell: curl -fsSL https://packages.sury.org/php/apt.gpg | tee /etc/apt/trusted.gpg.d/sury-php.gpg > /dev/null
|
||||
become: yes
|
||||
|
||||
|
||||
# 11. Mettre à jour et upgrader le système
|
||||
- name: Mettre à jour et upgrader le système
|
||||
apt:
|
||||
update_cache: yes
|
||||
upgrade: dist
|
||||
become: yes
|
||||
|
||||
# 10. Installer PHP 8.3 et ses extensions
|
||||
# 12. Installer PHP 8.3 et modules requis
|
||||
- name: Installer PHP 8.3 et modules requis
|
||||
apt:
|
||||
name:
|
||||
@ -125,33 +126,26 @@
|
||||
state: restarted
|
||||
become: yes
|
||||
|
||||
# 11. Configurer Apache avec PHP 8.3
|
||||
#- name: Activer PHP 8.3 dans Apache
|
||||
#command: a2enmod php8.3
|
||||
#become: yes
|
||||
|
||||
# 13. Redémarrer Apache
|
||||
- name: Redémarrer Apache
|
||||
systemd:
|
||||
name: apache2
|
||||
state: restarted
|
||||
become: yes
|
||||
|
||||
# 14. Activer les modules rewrite et expires dans Apache
|
||||
- name: Activer les modules rewrite et expires dans Apache
|
||||
command: a2enmod rewrite expires
|
||||
become: yes
|
||||
|
||||
# 15. Redémarrer Apache après activation des modules
|
||||
- name: Redémarrer Apache après activation des modules
|
||||
systemd:
|
||||
name: apache2
|
||||
state: restarted
|
||||
become: yes
|
||||
|
||||
- name: Redémarrer la machine
|
||||
reboot:
|
||||
msg: "Redémarrage après configuration."
|
||||
pre_reboot_delay: 5
|
||||
become: yes
|
||||
|
||||
# 16. Remplacer "clean" par le hostname dans /etc/hosts
|
||||
- name: Remplacer "clean" par le hostname dans /etc/hosts
|
||||
replace:
|
||||
path: /etc/hosts
|
||||
@ -159,3 +153,18 @@
|
||||
replace: "{{ ansible_hostname }}"
|
||||
become: yes
|
||||
|
||||
# 17. Retirer 'PermitRootLogin yes' dans /etc/ssh/sshd_config
|
||||
- name: Retirer ou modifier 'PermitRootLogin yes' dans /etc/ssh/sshd_config
|
||||
lineinfile:
|
||||
path: /etc/ssh/sshd_config
|
||||
regexp: '^PermitRootLogin\s+yes'
|
||||
line: 'PermitRootLogin no'
|
||||
state: present
|
||||
become: yes
|
||||
|
||||
# 18. Redémarrer la machine
|
||||
- name: Redémarrer la machine
|
||||
reboot:
|
||||
msg: "Redémarrage après configuration."
|
||||
pre_reboot_delay: 5
|
||||
become: yes
|
||||
|
||||
@ -1,12 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Demande à l'utilisateur l'adresse IP et le hostname
|
||||
# Demande à l'utilisateur l'adresse IP, le hostname et le mot de passe pour l'utilisateur "smauro"
|
||||
read -p "Entrez l'adresse IP de la machine cible : " target_ip
|
||||
read -p "Entrez le nouveau hostname : " ansible_hostname
|
||||
read -p "Entrez le mot de passe pour l'utilisateur smauro : " smauro_password
|
||||
|
||||
# Vérification que l'IP et le hostname ne sont pas vides
|
||||
if [[ -z "$target_ip" || -z "$ansible_hostname" ]]; then
|
||||
echo "Erreur : L'adresse IP et le hostname ne peuvent pas être vides."
|
||||
# Vérification que l'IP, le hostname et le mot de passe ne sont pas vides
|
||||
if [[ -z "$target_ip" || -z "$ansible_hostname" || -z "$smauro_password" ]]; then
|
||||
echo "Erreur : L'adresse IP, le hostname et le mot de passe ne peuvent pas être vides."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
@ -16,7 +17,8 @@ echo "[server_web]" > $inventory_file
|
||||
echo "$target_ip ansible_user=root ansible_ssh_pass=testtest" >> $inventory_file
|
||||
|
||||
# Exécution du playbook avec les variables dynamiques
|
||||
ansible-playbook -i "$inventory_file" -u root --ask-become-pass playbooks/debian_fullserver_web.yml -e "ansible_hostname=$ansible_hostname"
|
||||
ansible-playbook -i "$inventory_file" -u root --ask-become-pass playbooks/debian_fullserver_web.yml -e "ansible_hostname=\"$ansible_hostname\" user_password=\"$smauro_password\""
|
||||
|
||||
# Supprimer le fichier d'inventaire dynamique après utilisation
|
||||
rm -f $inventory_file
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user