I. L'idée

J'ai commencé à penser à l'auto-hébergement début 2009. L'article de rom a été une petite révélation. À cette époque, j'étais en licence pro ASRALL. J'avais donc déjà des bonnes notions d'administration système.
L'envie de mettre mes compétences en pratique a fait que je me suis très vite intéressé et renseigné sur l'auto-hébergement. Mes recherches m'ont permis de découvrir la fameuse conférence de Benjamin Bayart "Internet libre, ou Minitel 2.0".

Suite à cette conférence, j'ai voulu auto-héberger ce blog. Là sont apparues quelques interrogations :

  • Quelle sera la "qualité de service" et la disponibilité de ce blog ?

J'étais alors hébergé chez tuxfamily et n'avais pas à me soucier de la bande passante ou de la disponibilité. À l'époque, ce blog recevait environ 2000 visites par jour, je voulais donc assurer une certaine qualité de service.
Concernant la bande passante, je ne me faisais pas trop de soucis car j'étais chez Numéricable et avais un débit en upload de plus d'un Mbps. Le problème chez Numéricable, c'est que je n'avais jamais une semaine sans une coupure d'au moins une heure. Ce point me posait un peu plus de problèmes.

Sachant que j'allais bientôt déménager (et donc changer de FAI), je me suis décidé à reporter l'auto-hébergement de ce blog et j'ai eu l'idée de commencer par héberger des petits services (perso) tels qu'un agrégateur de flux RSS, Tiny Tiny RSS.

  • Quelle machine utiliser pour m'auto-héberger ?

À cette époque, j'étais étudiant, et je n'avais pas de job à côté, donc une fois le loyer, les charges, l'essence et la bouffe payés, il ne restait plus grand chose à la fin du mois. Je ne pouvais donc pas me payer un petit serveur et devais faire avec les moyens du bord.

J'avais alors 3 machines : mon PC de bureau, sous Ubuntu, assez bruyant, un gros serveur Dell qu'on m'avait donné, lui aussi très bruyant, et un EeePC 900 sous CrunchEee.

Habitant dans un petit 2 pièces, il me fallait évidemment quelque chose de silencieux (et qui ne consomme pas trop). C'est donc assez naturellement que j'ai décidé d'utiliser mon EeePC pour faire office de serveur.

II. Premier essai, mon serveur EeePC

C'était donc parti, au mois d'avril 2009, pour la transformation de mon EeePC en serveur sous Debian Lenny. Mes interrogations, questions et réponses se trouvent sur l'article que j'avais fait à l'époque.

eeepc_deb.jpg

Tout s'est bien passé pendant quelques semaines. Depuis le début, c'est le disque SSD de l'EeePC qui me faisait peur. Les disques SSD ne supportent pas très bien le fait de rester allumé 24h/24. Qui plus est, les disques SSD de l'EeePC ne sont pas d'une excellente qualité (à ce prix, faut pas rêver).

Mes craintes se sont confirmées. Au bout de 2 ou 3 semaines d'utilisation H24, le disque SSD a grillé. HS, plus rien quoi. Heureusement que j'avais conservé le ticket de caisse, je l'ai renvoyé en SAV et on m'a remplacé ce disque SSD.

Suite à cela, je n'ai pas voulu réitérer l'expérience. J'ai décidé d'attendre d'avoir une vraie machine dédiée à cela...

III. Deuxième essai

Fin 2010, je me décide enfin à acheter une machine dédiée. Après avoir fait de looooongues recherches, j'ai fini par choisir un serveur composé de la sorte : carte mère Asus AT5NM10-I, boitier Antec ISK300-65, disque dur 2.5" Western Digital Scorpio - 160 Go et 1 Go de RAM. J'explique les raisons de ces choix sur cet article.

Depuis cet article, j'ai acheté un autre disque dur 2.5 que j'ai ajouté dans l'emplacement prévu à cet effet. Ainsi, je peux faire mes sauvegardes sur ce deuxième disque. Je n'ai pas choisi de faire du RAID, je fais simplement un rsync des principaux répertoires de mon disque "principal" vers le "secondaire".

Une fois ce serveur reçu et assemblé, j'y ai installé une Debian Lenny (netinstall après boot sur une clé USB). Par la suite, je l'ai réinstallé avec une Debian Squeeze.

Globalement, je suis extrêmement satisfait par ce serveur. Le processeur atom dual core fait très bien son travail et chauffe peu. Je peux régler la vitesse du ventilateur. Il y en a 3. En première vitesse, on entend absolument rien à 2 mètres du serveur. À cette vitesse, la température du processeur et du disque dur varient entre 25 et 35 °C. Dans mon salon, le serveur étant en bas d'une fenêtre, les températures varient légèrement en fonction de la température extérieure. Pour preuve, voici, dans l'ordre, les graphs hebdomadaires de la température extérieure, de celle du processeur et celle des disques dur :

temperatures_v1-week.png

sensors_temp-week.png

hddtemp_smartctl-week.png

Conclusion, cette machine est un excellent rapport qualité/prix et ventilation/bruit/température :)

IV. Les applications que j'héberge

Après avoir vu le côté matériel, je vais faire un petit compte-rendu de l'utilisation actuelle de mon serveur.

Côté web :

  • Mon profil : Un site statique avec 2, 3 pages
  • Mon blog perso : Un blog dotclear avec un thème que j'ai fait ressembler à celui de mon profil
  • Mes feeds RSS : Avec le célèbre Tiny Tiny RSS
  • Mes musiques : Utilisant Subsonic, je peux écouter mes musiques au travail, à la maison, partout !
  • Mes téléchargements : J'utilise pour cela torrentflux-b4rt
  • GaCoMa : Avec un blog dotclear et un wiki dokuwiki
  • Mon identité OpenID : Avec SimpleID, j'ai mon identité chez moi :)
  • Une galerie photos : Avec l'application iGalerie
  • Un wiki perso : Utilisant dokuwiki
  • Génération Linux : Ce blog, propulsé par dotclear
  • Un dépôt de fichiers public, utilisant l'application KOLoad
Côté système :
  • Serveur mail : postfix, dovecot (en cours)
  • Monitoring : Munin
  • fail2ban avec quelques jails perso en plus

V. Les difficultés

Voici les principales difficultés auxquelles j'ai été confrontées et comment je les ai résolues :

  • La bande passante

Ce sont les histoires de bande passante qui m'ont le plus dérangé. Comme je l'ai évoqué ci-dessus, quand j'étais chez Numéricable, je ne me posais pas trop la question de la bande passante car j'avais 1 Mbps en upload. En revanche, depuis que je suis chez Free, je suis tombé à 100 kbps... Autrement dit, la douche froide... Quand je ne mettais que des petits services pour moi sur ce serveur, je ne me posais pas trop de question. Mes musiques passaient bien en upload (via subsonic) et c'était tout ce qui m'importait.

Je me suis posé bien plus de questions quand j'ai voulu migrer ce blog (alors chez tuxfamily) sur mon serveur. OK, je n'ai pas 10 000 visites par jour, mais quand même suffisamment pour que cela m'inquiète. Après, c'était une question de choix. Est-ce que je laisse mon blog ailleurs que chez moi mais avec une bande passante irréprochable ou bien est-ce que je "ramène" mon blog chez moi, au détriment de la vitesse. Le choix de faire du vrai Internet a été dominant, j'ai donc migré mon blog sur ma machine.

La différence est quand même de taille. J'ai presque doublé le temps d'accès. J'avais faits des tests, chez tuxfamily, ma page d'accueil se chargeait en 3 secondes, chez moi, elle se charge en un peu moins de 6 secondes.

Comment j'ai "résolu" ce problème ? Avec une astuce toute simple : activer le module deflate d'apache. Il permet de compresser le flux HTTP envoyé par le serveur. Ce flux est ensuite décompressé chez le client. Ainsi, j'ai diminué assez significativement la masse d'envoi de flux HTTP.
Actuellement, j'ai activé ce module uniquement pour mon blog. Voici une capture d'écran de Munin vous illustrant le changement. Je pense que je n'ai pas besoin de vous dire à quel moment j'ai activé le module ;)

if_eth0-day.png

  • La disponibilité

Ma deuxième inquiétude a été la disponibilité de mon blog. Là encore, je n'avais jamais eu à me soucier de cela avec tuxfamily. Par contre, une fois mon blog chez moi, je n'aurai pas une disponibilité aussi importante. Là encore, la même réflexion : "Disponibilité parfaite mais pas chez moi ou disponibilité imparfaite mais chez moi". J'ai tranché, à nouveau, pour faire du vrai Internet.

Ici, je ne peux pas faire grand chose. Heureusement, je n'ai jamais eu de coupure chez Free, donc la disponibilité est correcte. Je redémarre de temps en temps mon serveur, c'est juste là que peut intervenir l'indisponibilité temporaire.

Voila les 2 grandes questions que je me suis posé avant de me lancer dans l'auto-hébergement. Je pense que ce sont 2 questions récurrentes.

VI. Conclusion

Pour conclure cet article, je peux dire que s'auto-héberger est une chose formidable pour de nombreuses raisons :

  • Cela nous fait acquérir de nombreuses compétences en tout genre (sécurité, administration, optimisation, etc.)
  • Cela nous permet d'avoir une machine à disposition 24h/24 et accessible depuis n'importe où.
  • On n'a plus à se casser la tête pour trouver un hébergeur pour un service.
  • Garder le contrôle sur ses données et avoir la possibilité de couper sa machine du réseau à tout moment.
  • Et une certaine fierté de dire "c'est moi qui héberge mon blog et mes services" :)