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 !