first revision
commit
6bc41e657b
@ -0,0 +1 @@
|
||||
.venv
|
||||
@ -0,0 +1,37 @@
|
||||
# Projet Ansible - Installation Nginx sur VPS
|
||||
|
||||
## Configuration
|
||||
|
||||
1. **Modifier l'inventory** : Éditez `inventory.yml` et remplacez `YOUR_VPS_IP_ADDRESS` par l'adresse IP de votre VPS
|
||||
|
||||
2. **Configurer l'accès SSH** :
|
||||
- Assurez-vous d'avoir accès SSH à votre VPS
|
||||
- Si vous utilisez une clé SSH, décommentez et configurez `ansible_ssh_private_key_file`
|
||||
|
||||
## Utilisation
|
||||
|
||||
### Tester la connexion
|
||||
```bash
|
||||
ansible all -m ping
|
||||
```
|
||||
|
||||
### Exécuter le playbook
|
||||
```bash
|
||||
ansible-playbook playbook.yml
|
||||
```
|
||||
|
||||
### Exécuter en mode vérification (dry-run)
|
||||
```bash
|
||||
ansible-playbook playbook.yml --check
|
||||
```
|
||||
|
||||
### Exécuter avec verbosité
|
||||
```bash
|
||||
ansible-playbook playbook.yml -v
|
||||
```
|
||||
|
||||
## Structure du projet
|
||||
|
||||
- `ansible.cfg` : Configuration Ansible
|
||||
- `inventory.yml` : Inventaire des serveurs au format YAML
|
||||
- `playbook.yml` : Playbook d'installation de Nginx
|
||||
@ -0,0 +1,11 @@
|
||||
[defaults]
|
||||
inventory = inventory.yml
|
||||
host_key_checking = False
|
||||
remote_user = root
|
||||
retry_files_enabled = False
|
||||
|
||||
[privilege_escalation]
|
||||
become = True
|
||||
become_method = sudo
|
||||
become_user = root
|
||||
become_ask_pass = False
|
||||
@ -0,0 +1,8 @@
|
||||
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
|
||||
QyNTUxOQAAACD8oPnRrBM3l7Iryjr2JjOl5ansc6isAPqIdrqM78X38gAAAKjKcKjqynCo
|
||||
6gAAAAtzc2gtZWQyNTUxOQAAACD8oPnRrBM3l7Iryjr2JjOl5ansc6isAPqIdrqM78X38g
|
||||
AAAEAxOMEMLKQ09q1641Hua7WSzgF8vRvx89EDEA3zKIiyjvyg+dGsEzeXsivKOvYmM6Xl
|
||||
qexzqKwA+oh2uozvxffyAAAAJG1hY2Jvb2tATEFQVE9QLTNIQlVNSUpLLk5leHRHZW4uQ2
|
||||
VzaQE=
|
||||
-----END OPENSSH PRIVATE KEY-----
|
||||
@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPyg+dGsEzeXsivKOvYmM6XlqexzqKwA+oh2uozvxffy macbook@LAPTOP-3HBUMIJK.NextGen.Cesi
|
||||
@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Script d'installation du projet Ansible
|
||||
|
||||
set -e
|
||||
|
||||
echo "================================================"
|
||||
echo "Installation du projet Ansible - Nginx sur VPS"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
|
||||
# Vérifier si Python3 est installé
|
||||
if ! command -v python3 &> /dev/null; then
|
||||
echo "❌ Python3 n'est pas installé. Veuillez l'installer d'abord."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "✅ Python3 est installé"
|
||||
|
||||
# Créer un environnement virtuel s'il n'existe pas
|
||||
if [ ! -d ".venv" ]; then
|
||||
echo "📦 Création de l'environnement virtuel..."
|
||||
python3 -m venv .venv
|
||||
echo "✅ Environnement virtuel créé"
|
||||
else
|
||||
echo "✅ Environnement virtuel existe déjà"
|
||||
fi
|
||||
|
||||
# Activer l'environnement virtuel
|
||||
echo "🔧 Activation de l'environnement virtuel..."
|
||||
source .venv/bin/activate
|
||||
|
||||
# Mettre à jour pip
|
||||
echo "⬆️ Mise à jour de pip..."
|
||||
pip install --upgrade pip > /dev/null 2>&1
|
||||
|
||||
# Installer les dépendances
|
||||
echo "📥 Installation d'Ansible et des dépendances..."
|
||||
pip install -r requirements.txt
|
||||
|
||||
echo ""
|
||||
echo "✅ Installation terminée avec succès!"
|
||||
echo ""
|
||||
echo "================================================"
|
||||
echo "Prochaines étapes:"
|
||||
echo "================================================"
|
||||
echo "1. Éditez 'inventory.yml' et configurez l'IP de votre VPS"
|
||||
echo "2. Activez l'environnement virtuel : source .venv/bin/activate"
|
||||
echo "3. Testez la connexion : ansible all -m ping"
|
||||
echo "4. Lancez le script : ./run.sh"
|
||||
echo ""
|
||||
@ -0,0 +1,11 @@
|
||||
---
|
||||
all:
|
||||
children:
|
||||
webservers:
|
||||
hosts:
|
||||
vps1:
|
||||
ansible_host: defder.fr
|
||||
ansible_user: root
|
||||
ansible_port: 22
|
||||
ansible_ssh_private_key_file: ./defderkey
|
||||
|
||||
@ -0,0 +1,67 @@
|
||||
---
|
||||
- name: Installer et configurer Nginx sur VPS Ubuntu
|
||||
hosts: webservers
|
||||
become: yes
|
||||
|
||||
tasks:
|
||||
- name: Mettre à jour le cache apt
|
||||
apt:
|
||||
update_cache: yes
|
||||
cache_valid_time: 3600
|
||||
|
||||
- name: Installer Nginx
|
||||
apt:
|
||||
name: nginx
|
||||
state: present
|
||||
|
||||
- name: S'assurer qu'UFW est installé
|
||||
apt:
|
||||
name: ufw
|
||||
state: present
|
||||
|
||||
- name: Autoriser le trafic SSH dans le firewall (UFW)
|
||||
ufw:
|
||||
rule: allow
|
||||
port: '22'
|
||||
proto: tcp
|
||||
|
||||
- name: Autoriser le trafic HTTP dans le firewall (UFW)
|
||||
ufw:
|
||||
rule: allow
|
||||
port: '80'
|
||||
proto: tcp
|
||||
|
||||
- name: Autoriser le trafic HTTPS dans le firewall (UFW)
|
||||
ufw:
|
||||
rule: allow
|
||||
port: '443'
|
||||
proto: tcp
|
||||
|
||||
- name: Activer UFW(uncomplicated firewall)
|
||||
ufw:
|
||||
state: enabled
|
||||
|
||||
- name: Démarrer et activer Nginx
|
||||
systemd:
|
||||
name: nginx
|
||||
state: started
|
||||
enabled: yes
|
||||
|
||||
- name: Vérifier que Nginx est en cours d'exécution
|
||||
service:
|
||||
name: nginx
|
||||
state: started
|
||||
register: nginx_status
|
||||
|
||||
- name: Afficher le statut de Nginx
|
||||
debug:
|
||||
msg: "Nginx est installé et en cours d'exécution"
|
||||
|
||||
- name: Récupérer l'IP du serveur
|
||||
command: hostname -I
|
||||
register: server_ip
|
||||
changed_when: false
|
||||
|
||||
- name: Afficher l'URL d'accès
|
||||
debug:
|
||||
msg: "Nginx est accessible à l'adresse : http://{{ server_ip.stdout.split()[0] }}"
|
||||
@ -0,0 +1 @@
|
||||
ansible>=2.9
|
||||
Loading…
Reference in New Issue