3. Préparation du site web

Avant de commencer réellement avec les logiciels eux-même, je voudrais vous inviter à préparer votre environnement de test, si possible similaire au mien. Cela permettra par la suite une mise-à-jour plus facile, ou une désinstallation propre en deux minutes.

3.1. Apache

Pour installer votre serveur web proprement, le répertoire contenant les binaires, fichiers de configuration, fichiers de log et autres fichiers nécessaires au fonctionnement du serveur doit être distinct du répertoire ou des répertoires contenant les données partagées via ce serveur web. En termes techniques, si votre serveur web est dans /usr/local ou dans /opt/apache ou n'importe quel autre répertoire similaire, le répertoire htdocs ne doit pas se trouver dans /usr/local ou dans /opt/apache. L'endroit le plus adapté est /var/htdocs qui est conçu pour les données variables. Chez moi, il est sur une partition séparée.

Si vous voulez effectivement faire tout cela proprement, le mieux est de créer un répertoire, par exemple /var/htdocs, qui contiendra les répertoires cgi-bin, htdocs (oui, ca fait bien /var/htdocs/htdocs), et icons. N'oubliez pas de copier le contenu des précédents répertoires cgi-bin, htdocs et icons dans ceux nouvellement créés (ne déplacez pas: en administration systeme, on copie et si tout va bien, dans certains cas on supprime les anciennes données). Créez maintenant un nouveau sous-répertoire, par exemple apps qui contiendra Imp et Squirrelmail, et toute autre application que vous voudriez tester aussi.

Editez votre fichier httpd.conf pour adapter les nouveaux chemins, puis relancez le serveur web. http://localhost devrait fonctionner comme si de rien n'était.

Il vous faut un serveur web sécurisé avec SSL. Si vous ne savez pas faire, cherchez le 23ème exemplaire de votre revue favorite aux pages 41, 42 et 43. C'est la doc qui m'a servi pour installer mon serveur apache sécurisé. Un petit ajout par rapport à cet article: j'ai modifié le script apachectl pour que la commande de lancement du service httpd ait -DSSL en argument quand on lance apachectl avec l'argument start. Simple astuce pour avoir le support SSL quand la machine vient de rebooter.

Quand je dis qu'il faut un serveur sécurisé, ce n'est pas un prérequis technique, c'est un prérequis de sécurité. Quand un convoyeur de fonds transporte des billets, les billets voyagent dans un moyen de transport sécurisé. Ils pourraient tout aussi bien être transportés dans un simple camion avec des vitres pour mieux voir les billets et mieux tenter les voleurs. C'est pareil avec le courrier électronique: il vaut mieux sécuriser, même si ce n'est pas nécessaire.

3.2. IMAP

Vous devez avoir un support pour imap. Si ce n'est pas le cas, installez imap sur votre machine (si ce n'est pas déjà fait), puis installez le support pour imap sur php (paquet dans la distribution, ou recompilation de php avec --with-imap sur la ligne ./configure --prefix=... --with-imap ...). Il semble que l'utilisation de l'implémentation de l'université de Washington soit préférée de pas mal de gens: c'est celle que j'ai trouvée pour debian, c'est celle par défaut de Imp et de Squirrelmail. Rien ne vous empèche d'installer une autre implémentation, mais celle-ci vous évitera de réfléchir aux éventuels problèmes de compatibilité entre les différentes applications.

3.3. Convention

Par convention, plutôt que d'écrire /var/htdocs/htdocs ou /var/htdocs/apps et à chaque fois de préciser que c'est peut-être différent chez vous, j'utiliserai des variables. Ainsi $HTDOCS pointera sur /var/htdocs, et, $APPS sur $HTDOCS/apps.

3.4. Remarque sur les répertoires: mise-à-jour et désinstallation

Pour faciliter la suppression ou la mise a jour des programmes, une installation pour logiciel-x.y se fera dans $APPS/logiciel/logiciel-x.y. Ainsi, pour supprimer le logiciel, rm -rf $APPS/logiciel suffit. Et pour mettre à jour avec la version suivante, une décompression suivant la même méthode n'impacte pas du tout l'ancienne version qui continue à tourner pendant que la nouvelle est en cours de préparation. On fera aussi toujours un lien $APPS/logiciel/logiciel pointant sur la version courante $APPS/logiciel/logiciel-x.y afin de ne pas à avoir à trop modifier les fichiers de configuration. Ainsi, par exemple, voici ce qui se passera pour Horde:

$APPS/
$APPS/horde
$APPS/horde/horde-1.2.6
$APPS/horde/horde -> $APPS/horde/horde-1.2.6

Au dernier moment, la modification des fichiers de configuration puis l'arrêt/relance du serveur web prend en compte la nouvelle version.

3.5. SAUVEGARDEZ VOS DONNEES

Sauvegardez vos donnéees: si vous vous contentez d'installer les logiciels, tout devrait bien se passer et les risques de perdre des données sont très faibles. Cependant, si ensuite vous jouez avec les logiciels de courrier électronique, prenez la précaution de sauvegarder vos courriers, juste au cas où.

Habituellement, le courrier est stoqué soit dans /var/mail soit dans /var/spool/mail. Il arrive même que l'un de ces deux répertoires soit un lien vers l'autre! En tout cas, dans le répertoire en question, sauvegardez tous les fichiers, qui portent normalement le nom de chaque utilisateur, avec un fichier par utilisateur. En cas de problème, il suffira d'écraser une version modifiée avec la sauvegarde pour revenir en arrière.

Sauvegardez aussi éventuellement le fichier de configuration d'apache httpd.conf, pour revenir en arrière avec apache s'il ne voulait plus redémarrer. A nouveau, les modifications que l'on va apporter sont tellement mineures que la sauvegarde est ici faite plus par principe que par réèl besoin. Mais c'est parfois bon d'être rigoureux.

création est mise à disposition sous un contrat Creative Commons