guides/serveur/README.md
isUnknown d0a243509d Refonte complète des guides VPS et ajout guides Kirby/CI-CD
- Restructuration VPS : guides rapide et complet séparés
- Nouveau guide Vim essentiel pour administration serveur
- Guide déploiement Kirby (VirtualHost, multi-sites, permissions)
- Guide CI/CD Kirby (GitLab CI, Forgejo Actions, Docker)
- Anonymisation complète (sécurité pour publication publique)
- Priorité aux solutions libres (Forgejo, GitLab)
- README général et navigation améliorée

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-13 14:58:13 +01:00

212 lines
7.3 KiB
Markdown

# Guides d'administration serveur
Collection de guides pratiques pour administrer des serveurs Linux et services auto-hébergés.
## 📁 Structure
```
serveur/
├── vps-setup.md Configuration complète d'un VPS depuis zéro
├── linux-essentials/ Guides généralistes Linux
└── forgejo/ Guides spécifiques Forgejo
```
---
## 🚀 Démarrage rapide
### Vous avez un nouveau VPS ?
👉 Suivez [vps-setup.md](vps-setup.md) pour le configurer et sécuriser
### Vous débutez sur Linux ?
👉 Commencez par [linux-essentials/architecture-filesystem.md](linux-essentials/architecture-filesystem.md)
### Votre disque est plein ?
👉 Suivez [linux-essentials/diagnostic-espace-disque.md](linux-essentials/diagnostic-espace-disque.md)
### Problème avec Forgejo ?
👉 Consultez [forgejo/QUICK-START.md](forgejo/QUICK-START.md)
---
## 📚 Tous les guides
### Configuration VPS
| Guide | Description | Niveau | Temps |
|-------|-------------|--------|-------|
| **[vps-setup-rapide.md](vps-setup-rapide.md)** | Setup VPS rapide et sécurisé (SSH, UFW, Fail2ban, Apache, SSL) | Débutant | 30-50 min |
| **[vps-setup-complet.md](vps-setup-complet.md)** | Guide détaillé avec explications approfondies | Débutant | 1-2h |
| **[kirby-vps-deploy.md](kirby-vps-deploy.md)** | Déployer Kirby CMS sur VPS (VirtualHost, multi-sites, déploiement) | Intermédiaire | 20-30 min |
| **[kirby-ci-cd-deploy.md](kirby-ci-cd-deploy.md)** | CI/CD pour Kirby (GitLab CI, Forgejo Actions, Docker) | Avancé | 1-2h setup |
### [linux-essentials/](linux-essentials/) - Bases Linux
| Guide | Description | Niveau | Temps |
|-------|-------------|--------|-------|
| **[vim-guide-essentiel.md](linux-essentials/vim-guide-essentiel.md)** | Maîtriser Vim pour éditer les fichiers de configuration | Débutant | 15-30 min |
| **[architecture-filesystem.md](linux-essentials/architecture-filesystem.md)** | Comprendre /etc, /var, /lib et l'organisation Linux | Débutant | 30-45 min |
| **[diagnostic-espace-disque.md](linux-essentials/diagnostic-espace-disque.md)** | Identifier et résoudre les problèmes d'espace disque | Débutant | 15-30 min |
| **[analyse-logs-detection-bots.md](linux-essentials/analyse-logs-detection-bots.md)** | Analyser les logs, détecter et bloquer les bots | Intermédiaire | 20-40 min |
| **[comprendre-commandes-find-du.md](linux-essentials/comprendre-commandes-find-du.md)** | Maîtriser find, du, pipes et grep (pédagogique) | Débutant | 1h |
### [forgejo/](forgejo/) - Forge Git
| Guide | Description | Niveau | Temps |
|-------|-------------|--------|-------|
| **[QUICK-START.md](forgejo/QUICK-START.md)** | Sécuriser Forgejo contre les bots en 15 min | Intermédiaire | 15 min |
| **[bloquer-telechargements-abusifs.md](forgejo/bloquer-telechargements-abusifs.md)** | Guide complet : Fail2ban, rate limiting, monitoring | Intermédiaire | 30-60 min |
---
## 🎯 Par problème
### Nouveau VPS à configurer
**Parcours rapide (30-50 min) :**
1. Setup de base → [vps-setup-rapide.md](vps-setup-rapide.md)
2. Déployer Kirby → [kirby-vps-deploy.md](kirby-vps-deploy.md)
**Parcours détaillé (2-3h) :**
1. Setup complet → [vps-setup-complet.md](vps-setup-complet.md)
2. Déployer Kirby → [kirby-vps-deploy.md](kirby-vps-deploy.md)
### Disque saturé (100%)
**Diagnostic :**
1. Identifier le coupable → [diagnostic-espace-disque.md](linux-essentials/diagnostic-espace-disque.md)
2. Si c'est `repo-archive` (Forgejo) → [forgejo/bloquer-telechargements-abusifs.md](forgejo/bloquer-telechargements-abusifs.md)
### Bots qui attaquent
**Actions :**
1. Analyser les logs → [analyse-logs-detection-bots.md](linux-essentials/analyse-logs-detection-bots.md)
2. Bloquer avec Fail2ban → [forgejo/bloquer-telechargements-abusifs.md](forgejo/bloquer-telechargements-abusifs.md)
### Apprendre Linux
**Parcours :**
1. Éditeur Vim → [vim-guide-essentiel.md](linux-essentials/vim-guide-essentiel.md) ⭐ Essentiel
2. Architecture système → [architecture-filesystem.md](linux-essentials/architecture-filesystem.md)
3. Commandes essentielles → [comprendre-commandes-find-du.md](linux-essentials/comprendre-commandes-find-du.md)
4. Pratique → [diagnostic-espace-disque.md](linux-essentials/diagnostic-espace-disque.md)
---
## 🔧 Commandes les plus utiles
### Configuration VPS
```bash
# Première connexion
ssh root@IP_DU_VPS
# Créer un utilisateur
adduser monuser && usermod -aG sudo monuser
# Configurer le pare-feu
ufw allow 22/tcp && ufw allow 80/tcp && ufw allow 443/tcp
ufw enable
# Vérifier les services
systemctl status apache2
systemctl status fail2ban
fail2ban-client status sshd
```
### Déploiement
```bash
# Avec rsync
rsync -avhP ./dist/ user@IP:/var/www/site/
# Recharger Apache après déploiement
ssh user@IP 'sudo systemctl reload apache2'
# Obtenir un certificat SSL
sudo certbot --apache -d example.com
```
### Espace disque
```bash
df -h # Vue globale
sudo du -sh /* | sort -h | tail -10 # Top 10 racine
sudo du -sh /var/* | sort -h | tail -10 # Top 10 dans /var
```
### Fichiers
```bash
find /path -type f -size +100M # Gros fichiers
find /path -type f -mmin +360 # Fichiers de +6h
find /path -type f -mmin +360 -delete # Supprimer fichiers de +6h
```
### Logs
```bash
sudo journalctl -u service -n 50 # Logs d'un service
sudo tail -f /var/log/syslog # Logs système en temps réel
docker logs container --since 24h # Logs Docker 24h
```
### Système
```bash
ls -la /etc/ # Configurations
ls -la /var/log/ # Logs
du -sh /var/lib/docker # Données Docker
```
---
## 📖 Référence rapide
### Dossiers Linux essentiels
| Dossier | Rôle | Exemple typique |
|---------|------|-----------------|
| `/etc` | Configurations | `/etc/apache2/apache2.conf` |
| `/var/log` | Logs | `/var/log/syslog` |
| `/var/lib` | Données d'état | `/var/lib/docker/` |
| `/home` | Dossiers utilisateurs | `/home/debian/` |
| `/tmp` | Temporaire (vidé au reboot) | `/tmp/fichier` |
| `/usr/bin` | Commandes système | `/usr/bin/python3` |
| `/usr/local/bin` | Commandes manuelles | `/usr/local/bin/mon-script` |
Voir le guide complet : [architecture-filesystem.md](linux-essentials/architecture-filesystem.md)
---
## 🆘 Aide rapide
### Mon disque est plein
```bash
df -h # Identifier le disque
sudo du -sh /* | sort -h | tail -10 # Trouver le gros dossier
```
→ Puis consulter [diagnostic-espace-disque.md](linux-essentials/diagnostic-espace-disque.md)
### Je ne trouve pas un fichier de config
```bash
find /etc -name "*mot-clé*" # Chercher dans /etc
```
→ Voir [architecture-filesystem.md](linux-essentials/architecture-filesystem.md)
### Fail2ban ne fonctionne pas
```bash
sudo fail2ban-client status # Vérifier les jails actives
sudo journalctl -u fail2ban -n 50 # Voir les logs
```
→ Consulter [forgejo/bloquer-telechargements-abusifs.md](forgejo/bloquer-telechargements-abusifs.md)
---
## 🌱 Contribuer
Ces guides sont créés à partir de diagnostics réels sur des serveurs en production.
**Structure des guides :**
- Généralistes → `linux-essentials/`
- Spécifiques à un service → `nom-service/`
**Améliorations bienvenues :**
- Nouveaux guides
- Corrections
- Clarifications
- Scripts d'automatisation