Coucou,
J’auto-héberge un petit serveur sous OpenBSD. Il fait tourner du mail (OpenSmtpd+Dovecot) et du web (Nginx, à migrer bientôt sous OpenHttpd) qui ne sert pour l’instant que du contenu statique.
Tout fonctionne bien, mais le dossier /etc est un peu… bordélique. J’aimerais avoir tous les fichiers de configuration qui m’intéressent rangés dans un dossier à part, duquel je peux faire des sauvegardes facilement, et idéalement travailler dessus depuis mon ordi portable. Ansible semble répondre à mon besoin, mais il ressemble à une usine à gaz… existe t-il des choses similaires, mais bien plus légères, pour effectuer ce genre de tâches ? En ce moment j’ai un dossier /home/config, et /etc contient des liens symboliques qui pointent vers des éléments de /home/config, mais ça me semble affreusement crade.
En outre, je vais bientôt avoir accès à plusieurs autres serveurs, hébergés chez des amis. Nous aimerons autant que possible fournir un seul service, géré en parallèle par tous les serveurs. Pour le mail, ce n’est pas très difficile : l’un des serveurs est MX primaire, les autres sont MX secondaires. Nous avons l’idée suivante :
- le MX primaire fait tourner un démon Smtp et un démon Imap normalement ;
- les MX secondaires font tourner des serveurs Smtp qui accumulent les mails entrants et les redirigent vers le MX primaire ;
- en outre, le MX primaire fait des copies de sauvegarde régulières de toutes les boîtes mail vers les MX secondaires ;
- les MX secondaires font tourner des démons Imap qui permettent d’accéder aux boîtes mails en lecture seule.
De cette façon, les mails sont quand même accessibles en lecture seule en cas de panne du MX primaire, et il est facile de promouvoir un MX secondaire en MX primaire.
Cette configuration vous semble t-elle raisonnable ?
Ici, il y a beaucoup de configuration à gérer sur plusieurs machines, un ansible-like semble donc d’autant plus important.
Question subsidiaire : comment partager la liste des utilisateurs entre toutes les machines ? LDAP semble très lourd à mettre en place, et en outre nous aimerons quelque chose qui résiste à la panne d’un serveur. (Il peut y avoir un serveur maître avec lequel tout le monde se synchronise, mais si le serveur maître est occasionnellement en panne, ça ne doit pas empêcher les autres serveurs de tourner avec la dernière liste d’utilisateurs connue.)
Enfin, nous aimerions procéder un peu de la même façon pour les pages Web : avoir un serveur maître, mais s’il tombe en panne, les autres serveurs peuvent prendre le relais et continuer à servir les pages. Pour des fichiers statiques, cela ne pose pas trop de problèmes : on peut faire des copies avec Rsync, et du load-balancing au niveau des DNS. Mais si nous souhaitons héberger des applis Web (par exemple un etherpad), cette solution ne semble pas idéale…
Des idées sur tout ça ? Je suis en quête d’inspiration, donc n’hésitez pas à lancer vos idées, même si elles ne répondent pas exactement à mes questions.
Merci !