Cela fait un peu plus de 3 ans que j'autohéberge mes mails et ma messagerie instantanée chez moi, principalement. J'avais envie de faire un retour des bonnes et des mauvaises idées. Si ça peut guider des gens…
Bon, j'dois avouer que l'expérience auto-hébergement s'est interrompue temporairement depuis juillet 2016 puisque les deux ordinateurs monocarte dans lesquels j'avais investi au départ sont HS : un des circuits de l'OLinuXino a cramé en pleine nuit. Le RPi a terminé en miettes après un bon gros coup de sang bien stupide. :S Je voudrais refaire un comparatif des cartes existantes mais je ne veux pas prendre le temps de faire ça maintenant, on verra plus tard.
Le choix dépend vraiment de votre profil.
En faveur des ordinateurs monocartes, on a les arguments suivants (liste non ordonnée) :
En faveur d'un ordinateur de bureau, on a les arguments suivants (liste non ordonnée) :
Le concept de la Brique Internet est génial et les efforts accomplis sont colossaux mais, pour en avoir debug 2-3 fin 2015, je pense que ce n'est pas encore utilisable par tout le monde et qu'il y a encore plein de bugs parfois bloquants à résoudre. Du coup, je ne la recommande pas encore à des novices. Si tu t'y connais et que t'as le temps de debug : juste go et contribue à l'améliorer. Si tu t'y connais mais que t'as pas le temps, installe ton propre serveur, t'iras plus vite.
Pensez à vérifier que les logiciels qui vous intéressent sont bien disponibles dans YunoHost (l'interface au-dessus de Debian pour administrer facilement la Brique). Dans le cas contraire, ce n'est pas bloquant, y'a moyen de les installer à la main mais ça perd de son charme "plug and forget".
Un VPN avec une IP publique statique et aucun port bloqué, genre ceux fournis par les membres de la FFDN, dédié à votre serveur, c'est juste royal pour l'autohébergement (liste non ordonnée) :
Bref, je n'envisage pas l'auto-hébergement sans VPN tellement ça simplifie la vie.
Quand on débute, on se dit qu'on doit avoir une autre machine quelque part, qui tourne en permanence et qui agit en secondaire de notre serveur. Pour quand on a plus d'Internet. Pour quand on n'a plus d'électricité. Pour les orages qui nous obligent à débrancher le matos.
La redondance a un coût : il faut synchroniser la base de données ou les fichiers statiques qui alimentent votre site web entre vos deux serveurs, il faut synchroniser votre roster Jabber, il faut synchroniser vos mails et tout ce qui va avec (états du logiciel de greylisting, états de l'antispam, etc.), etc. Tout cela entraîne de la maintenance humaine et créer de la conf pas forcément triviale à mettre en production et à entretenir dans le temps.
Tout ça pour quoi ? On a quand même de l'électricité 99,9999 % du temps et de l'Internet 95 % du temps. Il n'y a pas non plus un orage par jour. Bref, les interruptions de service se produisent beaucoup moins souvent que ce que l'on psychotise quand on débute. Vraiment. De plus, durant un orage ou une coupure de courant ou d'Internet, vous n'utiliserez pas votre serveur secondaire… Quel intérêt d'en avoir un ?
Sans compter que les serveurs de courrier électronique doivent garder les mails qui vous sont destinés. La durée standard est de 5 jours. Bien sûr, il y a des gens qui ne respectent pas l'esprit des normes (le mail n'est pas synchrone !) mais c'est quand même rare. C'est généralement des marchands genre agence de voyage & co avec qui vous ne communiquez pas en permanence donc la probabilité de perdre un mail est faible. Les personnes qui visitent votre site web perso et qui vous causent sur Jabber peuvent bien tolérer quelques heures d'indisponibilité, non ?
Bref, monter un MX secondaire, un NS secondaire, un HTTPd secondaire, etc. m'apparaît très clairement overkill. Je n'ai pas de temps à consacrer à cela par rapport aux faibles avantages que cela va m'apporter. Je préfère réagir en cas de panne et m'adapter plutôt que d'essayer de prévoir toutes les pannes qui, au final, n'arriveront pas et laisseront place à une panne imprévue.
En revanche, je m'assurais d'avoir du matos de rechange à la maison. Genre des supports de stockage neufs (carte SD pour ordi monocarte, disque dur / SSD pour ordinateur de bureau). Genre un ordinateur monocarte de secours (et encore… ça se commande & livre vite, ces bestioles) Genre un adaptateur secteur <-> USB de secours dans le cas d'un ordi monocarte (voir http://shaarli.guiguishow.info/?gEtikA ). Pas la peine d'avoir des pièces de rechange pour un ordi de bureau sauf si votre ville et alentours n'a pas un vendeur de matos informatique.
Stéphane Bortzmeyer a aussi écrit un article centré sur l'absence de besoin vital de redonder le mail.
Ça dépend. Si l'asso héberge toute son infra chez un gros hébergeur style OVH ou Online ou derrière une ligne xDSL style Completel ou Orange, boarf, on ne gagne pas grand'chose, on n'a pas acentré les usages d'Internet, le contenu est toujours centralisé chez de gros prestataires. Certes, ce n'est plus Google et Facebook mais still. Si l'asso locale dispose de sa propre infrastructure Internet ou dépend d'un FAI ou d'un hébergeur associatif, alors là, l'autohébergement peut être avantageusement remplacé par une machine virtuelle dans cette asso.
Il y a aussi une question de confiance que l'on accorde mais c'est bien pareil pour votre FAI.
L'asso du coin a quand même des avantages : une machine virtuelle louée évite d'avoir à s'occuper des problématiques de pannes matérielles. L'asso du coin peut parfois gérer toute la partie technique, vous laissant ainsi l'opportunité de vous former petit à petit.
Je me concentre sur le DNS car une fois que votre nom pointe sur votre serveur, tous les services fonctionnent d'eux-mêmes et il n'y a pas de délais auxquels il faut prêter attention.
Pour migrer votre serveur en panne : soit vous utilisez un VPN avec une IP statique et il n'y a rien à faire. Soit vous changez d'IP et il faut modifier cette information dans votre zone parente via votre bureau d'enregistrement et ça prend du temps (la garantie que la migration sera totalement effective, pour tout le monde vient du TTL de la zone parente). Soit vous avez la main sur votre serveur de noms secondaire (parce que vous l'hébergez ou parce qu'il est hébergé chez un-e ami-e) et vous pouvez le passer temporairement en master sur votre zone et ainsi modifier et diffuser un nouveau fichier de zone. Le délai avant que la migration soit totalement effective dépend du TTL de votre zone, je vais y revenir.
Pensez bien à configurer le délai d'expiration de votre zone DNS. En effet, en l'absence de contact avec le serveur primaire, le secondaire conservera votre zone uniquement durant un certain temps, celui défini dans le champ « expire » du SOA de votre zone. Adaptez ce délai à vos prévisions. Genre des vacances durent en moyenne 2-3 semaines. Un retour SAV d'un PC, c'est 2-4 semaines. Même chose pour une ouverture de ligne ADSL / câble. Si c'est cas vous concernent, prévoir un délai d'expiration d'un mois soit 2592000 secondes n'est pas idiot.
Pour les mails, si vous ne synchronisez pas vos mails (avec Dovecot, par exemple, voir http://jonathan.michalon.eu/shaarli/?76Smjg), mais que votre secondaire se contente simplement de les mettre en queue, pensez à augmenter la durée de rétention de votre secondaire. Voir https://wiki.arn-fai.net/technique:emails#configurer_un_serveur_de_mails_secondaire_simpliste
Mettez des TTL courts dans vos zones. Genre 30 minutes (1800 secondes) ou 1 heure (3600 secondes). Ainsi, les caches seront vidés automatiquement après cet intervalle, vous apportant de la flexibilité : ajouter une info de votre zone et en supprimer une se devient rapidement effectif pour tout le monde. Attention également à changer le TTL négatif aka le dernier champ du SOA. Ce TTL indique combien de temps un récursif gardera en mémoire le fait qu'une information n'existe pas dans votre zone avant de reposer la question. Des TTL courts ne sont clairement pas un problème sur les réseaux et machines d'aujourd'hui, surtout pour un domaine peu fréquenté ce qui est le cas de l'autohébergement, normalement.
Soyez quand même conscients que cela apporte de la flexibilité uniquement tant que vous restez dans votre zone. Exemple : si vous voulez changer l'IP de votre serveur de noms, vous dépendez forcément des TTL de votre zone parente pour changer les glue records genre 172800 secondes (2 jours) dans fr. Si pas de glue record parce que vos NS ont des noms d'une autre zone, vous dépendez bien entendu du TTL de cette autre zone.
Si vous utilisez DNSSEC, n'oubliez pas que les clés n'ont pas de durée de vie (donc on peut manquer une rotation sans problèmes) mais que les signatures ont une durée de vie. Autrement dit : choisissez bien la durée de vie de vos signatures car votre signeur devra être en état de marche avant l'expiration de vos signatures. Là encore, les vacs c'est 2-3 semaines, un retour SAV c'est 2-4 semaines, etc. donc partir sur une durée de vie d'un mois pour les signatures, c'est tout sauf idiot. :)