- 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>
212 lines
7.3 KiB
Markdown
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
|