**Ceci est une ancienne révision du document !**
Mon environnement logiciel - Serveur
Cette page sert à référencer les logiciels que j'utilise (ou ai utilisé par le passé) sur les serveurs que j'administre.
Pour chaque logiciel je donne son nom, quand je l'ai utilisé (entre parenthèses), le cas d'usage, mon avis, ce que j'aime ou pas dedans, la page vers ce wiki qui en parle si elle existe, etc.
Serveur web
- Apache HTTP Server (2012 - 2015)
J'étais jeune et c'était l'exemple donné partout par défaut mais j'avais pas vraiment de bonnes ou mauvaises raisons de l'utiliser. Puis j'ai testé Nginx et l'ai abandonné.
- Nginx (2015 - aujourd'hui)
C'est le serveur web le plus utilisé dans le monde et même si je n'en connais pas toutes les subtilités il m'a toujours permis de faire très exactement ce que je voulais, y compris à travers ses modules.
Statistiques web
- GoAccess (2021 - aujourd'hui)
Un petit programme pour générer des pages web de statistiques de fréquentation de sites web. Simple et efficace. J'ai développé un script qui automatise son utilisation.
Serveur mail
Mail Transfert Agent
- Postfix (2017 - aujourd'hui)
Le MTA par excellence pour lequel on trouve tous les exemples utiles en ligne. J'adore le fait que tous ses paramètres soient clairement documentés. Beaucoup de gens l'utilise derrière un wrapper comme MailCow ou autres trucs Docker mais personnellement je préfère toujours utiliser directement le logiciel pour le configurer aux petits oignons. Il ne m'a jamais posé le moindre soucis et me demande extrêmement peu de maintenance (maximum une fois par an je dirai). Je l'utilise autant pour mes petits serveurs perso que pour de plus gros besoins avec plusieurs dizaines de comptes.
Mail Delivery Agent
- Dovecot (2017 - aujourd'hui)
Comme pour Postfix, c'est le MDA le plus connu et utilisé. J'ai mis du temps à bien l'utiliser, surtout au début quand je connaissais mal le mail. Mais une fois que j'ai compris la structure de ses fichiers de configurations qui sont super pratiques, plus de soucis. Je l'utilise partout avec Postfix.
Gestionnaire de liste mail
- Sympa (durant quelques mois)
Sympa était… sympa ! Mais sa version sur Debian au moment où je l'utilisais souffrait de trop nombreux bug et j'ai donc du l'abandonner rapidement.
- Mailman (2021 - aujourd'hui)
Le meilleur que j'ai trouvé jusqu'à présent. C'est un des plus connus utilisé et même si croisé sa version 2 est courant c'est sa version 3 que j'ai surtout mise en place avec une nouvelle et belle interface web. Simple à configurer, utiliser et maintenir.
Antispam
- Rspamd (2019 - aujourd'hui)
Un antispam sympa qui m'a permis de faire ce que je n'arrivais pas à faire avec SpamAssassin car j'avais la flemme de piger la doc. Il est pratique et modulable avec une très bonne configuration par défaut en dehors de l'utilisation de certaines Blocklists que j'ai désactivé. Il a une interface web très jolie et plutôt bien faite.
Forge Git
- Gitea (2017 - 2024)
Je l'ai utilisé comme forge personnelle longtemps. Depuis 2024 j'utilise son fork Forgejo.
- Forgejo (2024 - aujourd'hui)
Un fork de Gitea suite à la création d'une entreprise par ces derniers. J'ai un temps hésité à migrer dessus mais il semble avancer plus vite, surtout côté CI/CD. Sinon pour le reste comme avec Gitea il est léger tout en proposant tout ce que j'attend d'une forge Git : une interface sympa, issues, pull requests, CI/CD suffisante, etc.
- Gitlab (2018 - 2024)
Le mastodonte des forge Git. Je l'ai surtout utilisé en entreprise où il fait ce qu'il faut, c'est à dire tout ce qui est possible et imaginable. Je l'ai ensuite déployé sur un serveur perso mais… ça pompe trop quoi : même en le limitant un peu il consomme toujours en moyenne 3 GB de RAM et c'est trop pour ce que je lui demande, donc normalement je m'en débarasse cette année.
Serveur DNS
Résolveur
- Bind (ponctuellement)
Bind c'est l'implémentation par défaut en terme de DNS, il fait à la fois résolveur et serveur faisant autorité mais moi j'aime pas trop. Déjà car je préfère des serveurs qui ne font qu'une seule chose mais la font bien. Pour moi entendre quelqu'un dire « J'utilise Bind » fait donner une alerte dans ma tête : « Soit c'est un pro avec de bonnes raisons, soit c'est un mec qui a juste suivis un tuto ou un cours fait par un prof qui n'y connais rien ».
- Unbound (2015 - aujourd'hui)
Mon résolveur préfèré. Il est assez flexible. Je l'utilise avec une petite config chez moi ou sur des serveurs perso. Mais je l'ai aussi configuré en entreprise pour gérer plusieurs milliers de requêtes par seconde.
- Systemd-Resolved (jamais)
Faisant autorité
- Bind (ponctuellement)
Je ne l'ai jamais utilisé pour faire autorité même si je l'ai déjà administré pour ça sur le serveur d'un copain. Voir la partie résolveur.
- Knot (2020 - 2022)
Même si je ne l'ai utilisé que durant 3 ans je trouve que c'est un excellent serveur. Il est performant, permet plein de trucs précis avec des modules comme le geoIP. Je l'ai configuré en entreprise. Il a aussi l'avantage d'embarquer la gestion de DNSSEC pour signer ses zones.
- NSD (2019 - aujourd'hui)
Un serveur simple mais puissant. je l'utilise pour mes domaines perso et associatifs. Sa configuration est très facile. Par contre il ne gère pas DNSSEC tout seul.
Sauvegardes
- Borg (2017 - aujourd'hui)
Pour mes serveurs comme pour mes ordi perso. Il fait tout ce que j'attend de lui : incrémental, déduplication, compression, chiffrement, purge, vérifications simple ou poussés, montage, restauration. Il permet de faire des sauvegardes en SSH. Couplé avec Borgmatic c'est mon combo parfait pour les petits et gros serveurs (mon max avec jusqu'à présent à été 6 ans de backup sans suppression, sur un dépôt cumulant plusieurs TB).
- ArchiveBox (2022 - aujourd'hui)
Face à la disparition progressive du web et de toutes ces pages que je veux garder. Je l'ai mis en place car il a une interface web simple mais efficace et une chouette extension dans le navigateur qui permet de sauvegarder une page en 2 clics.
Calendrier et contact
- Radicale (2022 - aujourd'hui)
Pour synchroniser mes calendriers et contacts donc. L'interface web est simple, ça se configure en 5 minutes, ça demande moins de maintenance qu'un serveur web.
Fédiverse
- Pleroma (2022 - aujourd'hui)
Un serveur de micro-blogging assez léger et qui permet de faire tout ce que fait Mastodon (mais sans être fait par et pour des riches comme ce dernier). Il est bien maintenu, ajoute souvent de nouvelles fonctionnalités réellement utiles et ne souffre pas des gros défauts que j'ai pu voir sur Mastodon donc.
IRC
Serveur
- Unrealircd (2022 - aujourd'hui)
J'avais tenté temporairement d'autres serveurs mais celui-ci est celui qui me semble être le plus maintenu et le plus à jour sur les standards d'IRCv3. Il est simple à déployer, sa configuration est clair et son wiki pratique. Vraiment simple de déployer un réseau IRC complet avec.
Bouncer
- ZNC (2016 - aujourd'hui)
Le bouncer le plus connu. Il juste marche. J'utilise le module ClientBuffer pour gérer les multiples appareils. Il tourne sans soucis depuis plus de 8 ans.
Pont
- Go-Discord-IRC (2022 - aujourd'hui)
Il ne semble pas trop maintenu. Mais il marche toujours bien et permet de faire un pont bidirectionnel entre Discord et IRC. Je l'utilise dans un objectif de migration pour faire quitter une communauté de Discord. J'ai un peu contribué dessus.
Monitoring
- Munin (2017 - aujourd'hui)
Ok je triche, c'est plutôt un grapheur. Mais il a des fonctionnalités d'alerte qui sont suffisante pour de petites infra. Et surtout : il consomme peu de ressources et créer un plugin dans le langage de son choix est hyper facile. La communauté est acceuillante et je participe régulièrement à la correction de bug ou à l'ajout de nouveaux plugins “contrib”. Il a une interface web un peu moche par défaut mais facilement remplaçable (on peut même lui brancher un Graphana si on veut).
- Zabbix (2017-2022)
Utilisé surtout en entreprise. Il est sympa et c'est un peu le gros truc connu. Par contre j'ai souffert de ses alertes parfois inutiles quand il n'arrive pas à joindre un satellite et de sa maintenance très longue et lourde quand il y a un seul serveur central qui doit gérer une grosse infra de plusieurs centaines de serveurs. Son interface était pas terrible mais les versions récentes sont bien mieux. Y a des chances que certains de mes soucis soient liés à l'environnement spécifique dans lequel je l'ai expérimenté.
- Icinga (2016 - 2019)
Je l'ai utilisé pour monitorer des serveurs durant mes études et même si je le trouvais léger et sympa au début j'ai rapidement détesté son interface un peu flou (pas trop mais juste assez pour me gonfler) et sa configuration qui fait croire qu'on l'a compris mais en fait non. Je l'ai vite abandonné car je n'arrivais pas à faire ce que je voulais avec.
- Ripe Atlas Probe (2021 - aujourd'hui)
Un beau projet de mesure de l'internet lancé par le RIPE. En hébergeant une sonde on permet la récolte de données sur la santé de l'internet depuis plusieurs points dans le monde et en échange on gagne des crédits utilisables pour lancer des requêtes sur ces sondes Atlas.
- SMS-API (2022 - aujourd'hui)
Bon ok je triche, celui-ci c'est moi qui l'ai codé. Mais c'est un petit programme qui me permet d'envoyer mes SMS de monitoring via l'API de Free Mobile.
Streaming audio/vidéo
- Icecast 2 (2016 - aujourd'hui)
La référence du serveur de streaming audio. Il fait ce que je lui demande, tient la charge et n'a jamais eu un seul soucis en plus de 8 ans d'usage 24h/24. Il permet de basculer sur un flux de secours sans interruption puis de revenir sur le flux principal (parfait pour de la maintenance).
- Liquidsoap (2022 - aujourd'hui)
Le couteau-suisse de la manipulation de flux audio. Hyper pratique, documenté même si parfois complexe à prendre en main. Même s'il est terrible à compiler pour moi avec ses dépendances (c'est de l'Ocaml) il fait parfaitement le boulot via des scripts en programmation fonctionnelle. Il a une communauté sympa qui s'entraide et est bien maintenu avec de nouvelles versions régulières.
- Beets (2022 - aujourd'hui)
Parfait pour gérer une bibliothèque audio, un peu complexe à configurer au début en fonction des cas (pour moi : une webradio). Mais il marche bien et son plugin API permet de construire facilement une interface web sympa autour.
Sécurité
- IPTables / NFTables (toujours)
Bon j'ai rien à dire ici, c'est la base. Ne faites pas comme moi ou comme certains adminsys : apprennez son fonctionnement le plus tôt possible.
- UFW (2017 - aujourd'hui)
Un des trucs bien fait chez Canonical … C'est un wrapper par-dessus IPTables pour simplifier un peu les choses. Je l'utilise dans mes recettes Ansible.
- Fail2ban (2013 - aujourd'hui)
Encore une référence. Simple à déployer, utiliser et monitorer. Créer de nouveaux filtres et règles est très simple du moment qu'on sais faire un minimum de regex. Il me permet d'avoir des milliers d'adresses IP bannies de mes serveurs. Un must-have pour les petits serveurs.
VoIP
- Teamspeak 3 (2015 - aujourd'hui)
Une référence de la VoIP. J'en administre un pour des ami·es. Sa licence et le fait que ça soit un logiciel propriétaire est relou mais ça le fait. Récemment il a tendance à se crasher de manière aléatoire. Il reçoit peu de mises à jours depuis 2021 et va surement mourir quand la version suivante horrible avec Electron sortira.
- Mumble (2015 - aujourd'hui)
La référence mais libre cette fois-ci. Hyper léger et se configure facilement. Il ne permet pas autant de choses en termes de rôles et visuels que Teamspeak mais il fait le boulot. Sa gestion des identités et certificats est un peu spéciale à appréhender pour les novices mais ensuite il est top et tourne tout seul sans y toucher.
VPN
- OpenVPN (2015 - 2019)
La référence pour les VPN (TCP) même si en fonction des cas WireGuard est préférable. Je l'ai mis en place à une époque et ça marchait bien. Depuis je suis passé à WireGuard.
- WireGuard (2020 - aujourd'hui)
La nouvelle référence en terme de VPN (UDP cette fois). Bien plus simple à mettre en place et maintenir qu'OpenVPN. Son intégration dans le noyau Linux à beaucoup aidé. Pour moi c'est la référence à présent pour faire du VPN de point à point.