- 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>
7.3 KiB
7.3 KiB
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 pour le configurer et sécuriser
Vous débutez sur Linux ?
👉 Commencez par linux-essentials/architecture-filesystem.md
Votre disque est plein ?
👉 Suivez linux-essentials/diagnostic-espace-disque.md
Problème avec Forgejo ?
👉 Consultez forgejo/QUICK-START.md
📚 Tous les guides
Configuration VPS
| Guide | Description | Niveau | Temps |
|---|---|---|---|
| vps-setup-rapide.md | Setup VPS rapide et sécurisé (SSH, UFW, Fail2ban, Apache, SSL) | Débutant | 30-50 min |
| vps-setup-complet.md | Guide détaillé avec explications approfondies | Débutant | 1-2h |
| 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 | CI/CD pour Kirby (GitLab CI, Forgejo Actions, Docker) | Avancé | 1-2h setup |
linux-essentials/ - Bases Linux
| Guide | Description | Niveau | Temps |
|---|---|---|---|
| vim-guide-essentiel.md | Maîtriser Vim pour éditer les fichiers de configuration | Débutant | 15-30 min |
| architecture-filesystem.md | Comprendre /etc, /var, /lib et l'organisation Linux | Débutant | 30-45 min |
| diagnostic-espace-disque.md | Identifier et résoudre les problèmes d'espace disque | Débutant | 15-30 min |
| analyse-logs-detection-bots.md | Analyser les logs, détecter et bloquer les bots | Intermédiaire | 20-40 min |
| comprendre-commandes-find-du.md | Maîtriser find, du, pipes et grep (pédagogique) | Débutant | 1h |
forgejo/ - Forge Git
| Guide | Description | Niveau | Temps |
|---|---|---|---|
| QUICK-START.md | Sécuriser Forgejo contre les bots en 15 min | Intermédiaire | 15 min |
| 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) :
- Setup de base → vps-setup-rapide.md
- Déployer Kirby → kirby-vps-deploy.md
Parcours détaillé (2-3h) :
- Setup complet → vps-setup-complet.md
- Déployer Kirby → kirby-vps-deploy.md
Disque saturé (100%)
Diagnostic :
- Identifier le coupable → diagnostic-espace-disque.md
- Si c'est
repo-archive(Forgejo) → forgejo/bloquer-telechargements-abusifs.md
Bots qui attaquent
Actions :
- Analyser les logs → analyse-logs-detection-bots.md
- Bloquer avec Fail2ban → forgejo/bloquer-telechargements-abusifs.md
Apprendre Linux
Parcours :
- Éditeur Vim → vim-guide-essentiel.md ⭐ Essentiel
- Architecture système → architecture-filesystem.md
- Commandes essentielles → comprendre-commandes-find-du.md
- Pratique → diagnostic-espace-disque.md
🔧 Commandes les plus utiles
Configuration VPS
# 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
# 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
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
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
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
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
🆘 Aide rapide
Mon disque est plein
df -h # Identifier le disque
sudo du -sh /* | sort -h | tail -10 # Trouver le gros dossier
→ Puis consulter diagnostic-espace-disque.md
Je ne trouve pas un fichier de config
find /etc -name "*mot-clé*" # Chercher dans /etc
→ Voir architecture-filesystem.md
Fail2ban ne fonctionne pas
sudo fail2ban-client status # Vérifier les jails actives
sudo journalctl -u fail2ban -n 50 # Voir les logs
→ Consulter 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