Quel OS pour un serveur auto-hébergé ?
======================================

Date: 2011-01-27 18:34
Author: jdn06
Category: Distributions
Tags: Archlinux, Debian, FreeBSD

Choisir une  distribution pour un  serveur auto-hébergé est  un sujet
très rebattu sur  le net. La conclusion la plus  fréquente à ce sujet
est de  dire qu’il faut opter  pour la distribution qu’on  connaît le
mieux, celle  avec laquelle on  se sent  à l’aise et  qu’on maîtrise.
Soit. La  chose est  irréfutable. Néanmoins, lorsque  la distribution
qu’on connaît le mieux est Archlinux,  comme c’est mon cas (Voilà une
déclaration  qui  me  classera  dans  les  prétentieux  pour  Cyrille
Borne…), alors  il faut y  réfléchir à deux  fois. En effet,  s’il me
semble  intéressant qu’un  serveur soit  à jour,  cela n’a  d’intérêt
qu’en termes de  sécurité et non pour profiter  de logiciels récents.
De  plus, l’impératif  me semble,  pour un  serveur, qu’il  plante le
moins possible  et demande  le moins d’interventions  possibles après
installation.  Aussi  intelligemment  conçue  que  soit  une  rolling
release,  elle  restera  toujours moins  stable  qu’une  distribution
stabilisée pour  plusieurs années.  Exit donc, de  mon point  de vue,
Archlinux. Comme  j’hésitais entre Debian  et FreeBSD et  que j’avais
deux  serveurs à  installer,  je  me suis  amusé  à  en installer  un
de  chaque.  Debian  s’installe  et s’entretient  avec  une  facilité
déconcertante.  Installer Apache, PHP, MySQL et phpMyAdmin  dessus se
fait à petits coups de

   sudo aptitude install apache2

et le  tour est joué. D’autant  qu’une boîte de dialogue  apparaît en
console pour configurer  facilement les programmes qui  ont besoin de
l’être (par exemple créer le compte root de mysql). Les modifications
à  faire à  la  main dans  les fichiers  de  configuration sont  donc
très  limitées  et l’ensemble  marche  « out  of the  box ».  FreeBSD
s’apprivoise  de  manière un  peu  plus  difficile. Je  l’avais  déjà
installé plusieurs fois sur des postes de travail, mais jamais sur un
serveur. L’installation est presque aussi facile que celle de Debian,
mais les choses se gâtent lorsqu’il s’agit de mettre en place Apache,
PHP  et  MySQL. Je  me  suis  d’abord lancé  sans  trop  me poser  de
questions à coups de

   pkg_add -r apache22

Puis j’ai essayé  de configurer à la main les  différents services et
ai ajouté leur lancement  dans /etc/rc.conf Mais phpMyAdmin résistait
avec des erreurs  multiples au lancement. Renseignements  pris sur le
web,  il manquait  plusieurs modules  à  mon PHP.  J’ajoute alors  le
paquet php5-extensions,  mais rien  n’y fait. Je  décide alors  de me
tourner vers les ports.

   portsnap fetch install
   cd /usr/ports/lang/php5-extensions
   make config

où je sélectionne entre autres BZ2 (utile pour compresser une base de
données),  MCRYPT (pour  crypter les  mots de  passe stockés  dans la
base),  MYSQL, MYSQLI,  OPENSSL, PDO,  PDO_SQLITE, SESSION  (celui-là
semblait manquer cruellement au  lancement de phpMyAdmin), TOKENIZER,
XSL et  ZIP (bien utile pour  les mises à niveau  d’un Wordpress, par
exemple).

   make install clean

Je relance le  tout et patatras : marche toujours pas.  Je vous passe
les  lectures intenses  et  les bidouillages  divers. Finalement,  je
désinstalle tous les  paquets concernés et recompile le  tout par les
ports en surveillant de près le « make config ». Et là, tout de même,
ça marche impeccablement.

Pour conclure,  vous me direz que  Debian, c’est donc mieux  car plus
facile et  vous aurez tort.  Non que je  veuille jouer le  puriste de
l’UNIX et autres postures ridicules. Je dirais plutôt que :

Debian,  c’est  mieux  pour   faire  des  choses  « simples »,  comme
installer un blog WordPress ou même  une simple base de données gérée
par phpMyAdmin.

En revanche,  des choses  plus complexes  comme installer  un service
dans une  prison (jail) ou  recompiler un logiciel pour  optimiser et
sécuriser son fonctionnement en désactivant les modules non utilisés,
voilà des  opérations parfaitement documentées et  faciles à réaliser
sur FreeBSD en comparaison avec ce  qui existe à ma connaissance pour
faire  de même  sur  Debian.  Dernier point  pour  être complet :  le
serveur ftp inclus par défaut dans FreeBSD, ftpd, qui ne demande qu’à
être activé au démarrage, est vraiment  très facile à configurer et à
utiliser « out  of the  box ». Bref, comme  souvent, tout  dépend des
besoins et de l’expérience de chacun !