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 !