Files
SDIS29/partie2/README.md

200 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 📘 Automatisation & Déploiement — Serveurs ap31 (Prod / Test / Moniteur)
Ce projet regroupe plusieurs missions réalisées dans le cadre du BTS SIO SISR.
Lobjectif général est **dautomatiser linstallation, la configuration et la supervision** des serveurs ap31 grâce à *Ansible*, *Docker*, *Payara*, *MariaDB*, *WireGuard*, *GLPI*, et *Caddy*.
---
# 📑 Sommaire
1. [Contexte du projet](#-contexte-du-projet)
2. [Environnement technique](#-environnement-technique)
3. [Mission I6 — Automatisation Ansible (Docker / Payara / MariaDB)](#-mission-i6--automatisation-ansible)
4. [Mission I7 — Mise en place dun VPN WireGuard](#-mission-i7--mise-en-place-dun-vpn-wireguard)
5. [Mission I9 — Serveur GLPI + Proxy Inverse Caddy + HTTPS](#-mission-i9--serveur-glpi--proxy-inverse-caddy--https)
6. [Ports ouverts & Firewall](#-ports-ouverts--firewall)
7. [Définitions & technologies utilisées](#-définitions--technologies-utilisées)
8. [Liens vers les playbooks & fichiers](#-liens-vers-les-playbooks--fichiers)
---
# 📂 Contexte du projet
Les serveurs concernés :
| Serveur | Rôle |
|----------------|--------------------------------|
| **ap31-prod** | Serveur de production |
| **ap31-test** | Serveur de test |
| **ap31-mon** | Serveur de supervision / logs |
| **ap31-pt** | Serveur hébergeant GLPI + Caddy |
---
# 🛠️ Environnement technique
| Outil / Technologie | Usage |
|---------------------|--------|
| **Ansible** | Automatisation de linstallation et configuration |
| **Docker / Docker Compose** | Conteneurisation (Payara, GLPI, MariaDB) |
| **Payara Server** | Serveur d'applications Java (remplaçant moderne de Tomcat) |
| **MariaDB / MySQL** | Base de données pour Payara et GLPI |
| **WireGuard** | VPN entre les serveurs prod / test / mon |
| **Caddy** | Proxy inverse + HTTPS auto-signé |
| **GLPI 11** | Gestion du parc informatique |
---
# 🧩 Mission I6 — Automatisation Ansible
## 🎯 Objectifs
- Installer automatiquement **Docker**, **Payara**, et les conteneurs associés
- Installer **MariaDB**, créer la base et les comptes
- Injecter un **dump SQL local**
- Télécharger un dump compressé depuis la base distante
## 📌 Structure des playbooks
### **1. Installation Docker + Payara**
Playbook : `payara.yml`
➡️ installe Docker via `get-docker.sh`, configure Payara, lance les conteneurs.
### **2. VPN Wireguard**
Playbook : `wg.yml`
➡️ création DB, création utilisateurs, import du dump.
### **3. Récupération dun dump distant**
Playbook : `install-glpi.yml`
➡️ téléchargement du dump compressé sur la machine locale.
---
# 🔐 Mission I7 — Mise en place dun VPN WireGuard
## 🎯 Objectifs
- Relier **ap31-prod**, **ap31-test**, **ap31-mon** via un VPN chiffré
- Transférer les logs des serveurs prod/test vers ap3x-mon via VPN
- Faciliter la supervision (étape facultative)
## 📌 Playbook utilisé : `wg.yml`
Ce playbook :
- Installe WireGuard sur les 3 machines
- Génère les fichiers de configuration (`wg0-*.conf`) sur ap31-mon
- Déploie la configuration adaptée sur chaque serveur
- Active le service WireGuard
---
# 🖥️ Mission I9 — Déploiement GLPI + Proxy inverse Caddy
## 🎯 Objectifs
- Héberger **GLPI 11** via Docker (GLPI + MariaDB)
- Tester la remontée dinventaire depuis **glpi-agent** sous Linux
- Écrire un playbook Ansible dinstallation
- Mettre en place un **proxy inverse Caddy** avec **HTTPS interne**
---
## 📌 docker-compose.yml (GLPI)
Disponible ici :
🔗 **docker-compose.yml**
https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/files/docker-compose.yml
🔗 **compose.yml (Payara)**
https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/files/compose.yml
---
## 📌 Caddyfile (reverse proxy + HTTPS interne)
```conf
ap31-pt.sio.lan {
tls internal # certificat auto-signé par Caddy
reverse_proxy localhost:4000 # Proxy vers GLPI
}
ap31-pt {
tls internal
reverse_proxy localhost:4000
}
```
---
## 📌 Test de remontée dinventaire (glpi-agent)
```sh
vagrant@glpi-agent:~$ sudo glpi-agent --no-ssl-check --server https://ap31-pt.sio.lan
[info] target server0: server https://ap31-pt.sio.lan
[info] sending contact request to server0
[info] [http client] SSL Client info: Cert-Issuer: '/CN=Caddy Local Authority - ECC Intermediate'
[info] running task Inventory
[info] New inventory from glpi-agent-2025-12-05-09-30-21 for server0
[info] [http client] SSL Client warning: Peer certificate not verified
```
---
## 🔥 Ports ouverts & Firewall
```sh
debian@ap31-pt:~$ sudo ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
New profiles: skip
To Action From
-- ------ ----
80/tcp ALLOW IN Anywhere
443/tcp ALLOW IN Anywhere
8080/tcp ALLOW IN Anywhere
22/tcp ALLOW IN Anywhere
```
---
## 📚 Définitions & technologies utilisées
Payara:
Serveur dapplications Java moderne, dérivé de GlassFish.
Permet dhéberger des applications web Java EE / Jakarta EE.
GLPI:
Outil de gestion de parc informatique :
- inventaire des machines
- gestion des tickets
- périphériques
- contrats, licences, garanties
WireGuard:
VPN moderne, très rapide, extrêmement simple à configurer.
Caddy
Serveur web + reverse proxy capable démettre automatiquement des certificats HTTPS.
---
| Fichier |Lien |
| ---------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **payara.yml** | [https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/payara.yml](https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/payara.yml) |
| **install-glpi.yml** | [https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/install-glpi.yml](https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/install-glpi.yml) |
| **docker-compose.yml** | [https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/files/docker-compose.yml](https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/files/docker-compose.yml) |
| **compose.yml** | [https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/files/compose.yml](https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/files/compose.yml) |
| **wg.yml** | [https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/files/compose.yml](https://gitea.lyc-lecastel.fr/uap31-2026-r/SDIS29/src/branch/main/partie2/ansible/files/wg.yml) |