Service compris!#0

Service compris!#0 #1

Ma plateforme web et mail prend de l’âge… Je n’ai pas respecté les mises à jour successives. Maintenant je ne peux plus utiliser certaines applications qui nécessitent une certaine version de PHP. Bien entendu, je peux bricoler et compiler du source à m’arracher les cheveux pendant un certain temps. Mais tant qu’à faire, je vais effectuer une mise à jour  ‘from scratch‘. Je vais installer un serveur sous OpenBSD et je vais le configurer de telle sorte que je puisse y importer le contenu de la plateforme actuelle.

Cela risque d’être long, parsemé d’embuches et de revirements divers. Mais nous allons tout labourer ensemble. Toutes les étapes ! Ce qui sera abordé, le sera pour la vulgarisation et le partage, non pour la perfection technique.

Tous les choix qui seront faits, sont de facto à considérer comme discutables. Mais c’est ma démarche, pas une démarche forcément à conseiller, ni celle qui est adaptée à votre besoin. Néanmoins, vos commentaires, vos remarques, vos propositions ainsi que vos questions seront les bienvenus.

Je vais tenter de couvrir toutes les étapes de mon processus de mise en place d’une plateforme web, à savoir entre-autre :

Avant de plonger dans les tutoriaux à proprement parlé, voici un descriptif des différentes étapes. Il s’agit d’une description sommaire et je me réserve le droit de modifier son contenu à posteriori.

Installation & paramétrage du système d’exploitation UNIX

Dans le premier tutorial nous allons voir ensemble comment installer une machine virtuelle pour tester un système d’exploitation, toute proportion gardée, avant de le mettre en œuvre physiquement sur un serveur à part entière.
J’ai choisi OpenBSD comme système d’exploitation pour ma plateforme car il s’agira d’un serveur web public. Je ne conçois pas un serveur public sans ce système là. C’est le seul qui ne m’ait jamais déçu. Mais au-delà même de ma mesquine expérience, ce système d’exploitation est connu pour sa robustesse et sa sécurité légendaire. Ses créateurs sont connus pour leur intégrisme sécuritaire (non le petit Nicolas n’a pas développé OpenBSD, lui ne développe que le sectarisme et le communautaire…).

Cette étape commencera par l’installation de la machine virtuelle et se terminera par la prise de main à distance via SSH et aux paramétrages initiaux et globaux du système (gestion des paquets, de la journalisation et configuration de l’environnement). A partir de là on considérera que le système est prêt à accueillir la couche logicielle DNS/LDAP/MAIL/WEB !
Beaucoup se demandent, peut-être, « pourquoi pas Linux ?… ». Premièrement c’est ainsi parce que je le veux. Puis parce que la réputation en terme de difficulté des systèmes UNIX en général et du système OpenBSD en particulier est très exagérée. Effectivement ce sont des systèmes faits pour des professionnels qui maîtrisent leurs domaine de compétence. Il faut, pour mettre les mains dans ce boxon-là, avoir une connaissance nette de pas mal de concepts de base, bien connaître ses protocoles, être familiarisé avec les fameuses ‘Request For Comment’ (RFC), respecter les standards et aimer le plus génial des éditeurs en mode texte : vi !

Il ne faut pas que ce discours tout à fait élitiste vous rebute ! Il fallait le dire pour être tout à fait honnête. Mais si vous souhaitez vous y mettre c’est la meilleure école que j’ai pu trouver pour apprendre justement les standards, les RFC et les protocoles. D’ailleurs les puristes, s’il en est parmi les lecteurs, seront choqués par pas mal de mes choix. Je charcute sauvagement dans ce qui est dit ‘secure’. J’agis pour atteindre un objectif particulier à chaque fois, avec des besoins précis et un environnement caractérisable. Donc je ne m’embarrasse pas des choix qui tiennent plus de la posture qu’autre chose. Je travaille sur une plateforme web, pas sur le réseau du FBI !

A cette étape comme à toutes les étapes de la démarche, je me permettrai des digressions en rapport avec le sujet de l’étape. Par exemple, à cette étape, nous verrons comment installer le système chez un hébergeur particulier, les choses à considérer avant de le choisir selon les contraintes économiques, etc. … Aussi, quand je trouverai un tutorial sur le web pour effectuer une tâche liée à l’étape en cours, je vous y enverrai sans vergogne !

Installation & paramétrage du service DNS

Je pars du principe qu’une plateforme d’hébergement complète ne peut pas ne pas héberger ses propres domaines. Pour effectuer cela nous nous orienterons vers Bind. Le serveur de noms de domaines le plus utilisé et le plus performant du web. OpenBSD le propose en natif. On aura ainsi le loisir de digresser vers de la théorie et de la vulgarisation. Ainsi, en soirée, vous ne vous laisserez plus impressionner par le néo geek qui balance du DNS toutes les deux phrases. Nous prendrons ensuite le temps d’approfondir le paramétrage du serveur et des domaines, ainsi que la journalisation geekement dite le ‘logging’.

Là nous verrons, pour les profanes, comment acheter un nom de domaine, comment créer un compte chez Gandi et à quoi servent les identifiants que nous attribuent les registrars.

Installation & paramétrage d’un service d’annuaire LDAP

Il s’agit là d’une étape cruciale car elle nous permettra de schématiser globalement le fonctionnement du serveur et voir ce dont la gestion peut incomber au service d’annuaire. Là encore je vais faire des choix qui seront très sujets à controverse et à la surenchère trollienne, là encore on me dira « Oui mais un Linux avec PLESK c’est bien aussi ». Assertion à laquelle je répondrais, non pas par le mépris, quoiqu’elle le mériterait, mais par le fait que j’aime bien comprendre ce que je fais et apprendre de ce que je découvre. Je ne veux surtout pas prolonger l’uniformisation mercantile du web. Le seul uniformisme que j’accepte est dans le standard tel que je le comprends, tel que je le lis, tel qu’il s’applique stricto sensu à mes besoins.

Installation & paramétrage d’un service de messagerie

Ce sera l’étape la plus longue. Par la multiplicité des protocoles en jeu (SMTP/IMAP/POP/LMTP), par le nombre de logiciels à installer et à paramétrer et par le nombre inouï d’interactions que l’on peut dénombrer entre toutes ces briques logicielles vicieuses ! Attention cela va tanguer, vive le swing ! Nous allons installer : Postfix, Amavisd-new, Clamav, Spamassassin, Courier-IMAP, puis paramétrer tout ce beau monde de tel sorte qu’ils parviennent à communiquer et à s’échanger des données en liaison avec le serveur LDAP. On va faire en sorte de stopper le SPAM, la plaie du net, et les virus. On verra comment gérer les quotas et les comptes via l’annuaire LDAP.

La mise en place d’un webmail sera abordée dans la partie consacrée à l’installation d’un système web.

Installation & paramétrage d’un service web

Apache est installé en natif sur OpenBSD, mais pas dans sa seconde mouture. On divaguera sur le pourquoi du comment de cette coquetterie très ‘Theo de Raadt’-ienne ! Nous prendrons le temps d’expliquer le fichier de configuration, des fichiers ‘.htaccess’, etc. … Puis nous installerons le PHP, une tonne d’extensions, la base de données Mysql, les applications web de gestion (PhpMyAdmin, LdapAdmin, Les webmails etc. …).

Nous n’oublierons pas l’accès aux données des sites via ftp et la gestion des comptes via LDAP.

Ensuite c’est : « Roulez jeunesse »… Ou presque…

Outils de suivi et de maintenance

Ici, on verra les à-côtés nécessaires, la maintenance au quotidien et tout ce que je n’ai pas pu caser dans les autres parties… Il y sera vaguement question de sécurité, de sauvegarde, de webalizer.

A très bientôt donc. Le premier tutorial de la série est presque prêt.

26 février 2009

Commentaires pour “Service compris!#0”