PostfixJ'avoue avoir pêché par fainéantise au début : j'ai donc récupéré le
paquetage Debian et l'ai installé afin de me concentrer sur la configuration
plutôt que sur l'installation. Ceci fait, et le système de courrier
fonctionnant, j'ai commencé à noter quelques points qui me génaient un peu par
rapport à ma configuration sendmail précédente.
Le problème principal était celui de la mise en attente des messages destinés à
l'extérieur car je suis connecté à l'Internet via un fournisseur d'accès et je
compose, évidemment, mon courrier en étant non connecté... Or, dans la version
du paquetage que j'avais installé, la gestion de la mise en attente du courrier
n'était pas conçue pour les connexions épidodiques et postfix se plaignait
de ne pas trouver le serveur de courrier de mon fournisseur lorsqu'il mettait
mes messages en attente. Cela fonctionnait quand même, mais ces messages ne
faisaient pas « propre ».
Une petite question sur ce problème, posée dans fr.comp.mail et, quelques
heures plus tard, j'avais la solution : la nouvelle version de
postfix gérait ce problème. Mais, pas de paquetage tout prêt. Je
récupérais donc les sources à partir de
www.postfix.org.
Le logiciel se récupère sous la forme d'un fichier .tar.gz que l'on
décompresse dans un répertoire d'installation :
# tar xvzf postfix-beta-19990122.tar.gz -C /tmp
# cd /tmp/postfix-beta-19990122/
Dans ce répertoire se trouve un fichier INSTALL fort clair (mais en
anglais) qu'il suffit de suivre pas à pas pour installer et configurer
postfix. La première étape consiste à générer les exécutables :
# make
Puis, il reste à déplacer les fichiers binaires, de configuration et les pages
de manuel dans les répertoires adéquats de votre système. Sous le répertoire
d'installation, vous devez normalement avoir les répertoires conf, bin,
html et man (les autres répertoires sont ceux contenant les sources et
les fichiers objets générés par la compilation).
Pour installer les pages de manuel, il suffit de déplacer le contenu des
répertoires /tmp/postfix-beta-19990122/man/man*/ dans les répertoires
correspondants sur votre système (/usr/man/man*, chez moi).
Puis, vous pouvez installer le reste de la documentation. Pour rester
compatible avec les autres documentations des autres logiciels de mon système,
j'ai créé un répertoire /usr/doc/postfix dans lequel j'ai déplacé tous
les fichiers de documentation du répertoire d'installation (leurs noms sont en
majuscules). J'ai également créé le répertoire /usr/doc/postfix/html
et y ait déplacé le contenu du répertoire html de l'installation.
Tous ces fichiers vont dans un seul emplacement : /etc/postfix.
Je me bornerai ici à suivre ce qui est indiqué dans INSTALL :
# mkdir /etc/postfix
# chmod 755 /etc/postfix
# mv /tmp/postfix-beta-19990122/conf/* /etc/postfix
# chmod 644 /etc/postfix/*
# chmod 755 /etc/postfix/postfix-script*
(Attention, la dernière ligne est incorrecte dans la documentation : ils
ont oublié le '*')
Postfix utilise une arborescence beaucoup plus élaborée que celle de ses
prédécesseur pour placer les messages en attente de délivrance. Il suffit ici
d'en indiquer la racine (/var/spool/postfix/, généralement) car tous
les autres sous-répertoires y seront créés lors du premier démarrage de
postfix.
# mkdir /var/spool/postfix
# chmod 755 /var/spool/postfix
Vous pouvez choisir un autre emplacement : celui-ci devra être indiqué lors de la configuration que nous étudions plus loin.
Là encore, vous êtes libres de choisir l'emplacement qui vous convient car il suffira ensuite de l'indiquer lors de la configuration.
J'ai choisi de tout installer sous /usr/lib/postfix/ :
# mkdir /usr/lib/postfix
# mv /tmp/postfix-beta-19990122/bin/* /usr/lib/postfix
Il s'agit ici de permettre l'accès des utilisateurs locaux au répertoire
/var/spool/postfix/maildrop. Par défaut, tous les sous-répertoires de
/var/spool/postfix appartiennent au groupe root. Or, lorsque les
utilisateurs postent un courrier, celui-ci transite d'abord par le répertoire
maildrop. Avec les droits actuels, ces courriers seraient donc refusés.
Plusieurs possibilités, décrites dans le fichier INSTALL sont
possibles : rendre le répertoire maildrop accessible à tout le monde,
ou utiliser la commande postdrop en sgid. C'est la première solution que nous
avons retenu. Pour ce faire, il suffit de modifier les droits d'accès du
répertoire maildrop :
# chmod 1733 /var/spool/postfix/maildrop
L'invoquation de la commande postdrop lors de l'envoi d'un message est
réalisé automatiquement via l'appel du script postfix-script qu'il s'agit
donc de rendre accessible à tout le monde :
# cp /etc/postfix/postfix-script-nosgid /etc/postfix/postfix-script