J'ai relié à ce document un correctif
pour ../../common/March1998/Makefile.Linux qui déclenche des TCP wrappers et qui fait quelques
autres modifications mineures. (avec des TCP wrappers activés vous
pouvez restreindre l'accès distant à votre sendmail daemon
conformément à la man page de hosts_access(5)). (1) En supposant
que vous l'ayez sauvé sous le nom "../../common/March1998/sendmail.diff", appliquez-le
à partir du répertoire en-dessous de sendmail-8.8.x avec
la commande :
patch -p0 < ../../common/March1998/sendmail.diff
Allez dans le répertoire src et exécutez
./makesendmail
sendmail devrait se compiler sans problème.
Par la suite je vais supposer que vous utilisez juste la messagerie
électronique TCP/IP. L'aide pour UUCP dépasse le cadre de
ce document.
Allez dans le répertoire cf/cf et créez un nouveau fichier,
generic-linux2.mc:
divert(-1)
divert(0)dnl
VERSIONID(`@(#)generic-linux2.mc 8.8 (Local) 11/22/97')
OSTYPE(linux)dnl
FEATURE(nouucp)dnl
MAILER(local)dnl
MAILER(smtp)dnl
si vous voulez utiliser le masquerading, ajoutez ces deux lignes:
MASQUERADE_AS()dnl
EXPOSED_USER(root)dnl
Cela signifie que tous les e-mails qui sont envoyés de votre machine
(sauf les e-mails du root) vont apparaître comme étant originaires
du hostname que vous spécifiez. (cette option est utile pour les
gens qui ont des connexions intermittentes au réseau, c'est à
dire les utilisateurs de SLIP et PPP, et pour les machines qui obtiennent
des adresses IP dynamiques par BOOTP ou DHCP). Pour les versions 8.8.8
et supérieures de sendmail, omettez EXPOSED_USER(root) car c'est
devenu le comportement par défaut.
Si vous voulez utiliser procmail comme votre serveur de courrier local
(pratique standard dans la distribution Red Hat Linux), ajoutez:
FEATURE(local_procmail)dnl
Transformez "generic-linux2.mc" en un fichier sendmail.cf:
m4 ../m4/cf.m4 generic-linux2.mc > obj/sendmail.cf
Vous aurez peut-être besoin de commenter le fichier
Cwlocalhost
avec un signe # dans obj/sendmail.cf car il semble que, dans les dernières
distribution de Linux, il perturbe les e-mails entrant. Archivez votre
ancien fichier /etc/sendmail.cf et installez obj/sendmail.cf:
install -m 644 -o 0 -g 0 obj/sendmail.cf /etc/sendmail.cf
Après avoir installé votre nouveau sendmail.cf, tuez le sendmail
daemon, retournez dans le répertoire src et exécutez:
cd obj.Linux.*.* ; make install
Ceci installera les fichiers binaires de sendmail et les liens symboliques.
Vous aurez besoin d'installer les pages man à la main.
Si vous avez décidé de ne pas utiliser procmail, allez
dans le répertoire principal de sendmail et tapez:
uudecode contrib/mail.local.linux
mv mail.local mail.local.old
tar zxvf mail.local.linux.tar.Z
cd mail.local
gcc -O3 -o mail.local mail.local.c
strip mail.local
install -m 2711 -o 0 -g mail mail.local /bin
install -m 644 -o 0 -g 0 mail.local.8 /usr/man/man8
Votre répertoire /var/spool/mail a besoin d'être en mode 775
ainsi que d'appartenir à l'utilisateur root et au groupe mail. Vos
clients mail doivent être SGID mail (mode 2711 et appartenant à
l'utilisateur root et au groupe mail).
Mantenant vous devriez être prêt à relancer votre
daemon sendmail. Le mien est relancé de la façon suivante:
/usr/sbin/sendmail -bd -q1h
REMARQUE: Red Hat relance sendmail sans son chemin absolu. Cela peut mener
à des problèmes, tel que vous empêcher d'être
capable de HUP sendmail pour le forcer à relire son fichier de configuration.
Pour corriger cela, assurez-vous que /etc/rc.d/init.d/sendmail.init lance
sendmail avec /usr/sbin/sendmail (avec les mêmes arguments).
Si vous avez une connexion intermittente, vous devriez vouloir démarrer
sendmail en mode différé:
/usr/sbin/sendmail -bd -o DeliveryMode=d
Lors du boot, invoquez sendmail comme suit:
/usr/sbin/sendmail -q
pour délivrer tous les e-mails différés lorsque vous
vous connectez pour la première fois au réseau et périodiquement
ensuite lorsque vous êtes connecté (avec une tache cron par
exemple).
A présent, vous devriez tester votre nouvelle installation sendmail.
Voici un moyen de le faire:
% telnet localhost smtp
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 ESMTP Sendmail 8.8.8/8.8.8; Fri, 22 Nov 1997 03:21:18 -0500
helo localhost
250 Hello jgotts@localhost [127.0.0.1], pleased to meet you
mail from: jgotts
250 jgotts... Sender ok
rcpt to: jgotts
250 jgotts... Recipient ok
data
354 Enter mail, end with "." on a line by itself
This is a test.
.
250 DAA23297 Message accepted for delivery
Assurez-vous également de tester que vos clients e-mail marchent
et que vous pouvez toujours recevoir du courrier du monde extérieur.
Notes:
(1) L'aide pour TCP wrapper n'est pas fournie dans la version 8.8.8.
Pour un correctif, allez voir à l'adresse http://www-personal.engin.umich.edu/~jgotts/linux/sendmail-8.8.8-tcp-wrappers-patch
Tant que vous y êtes, vous devriez aussi aller voir:
http://www-personal.engin.umich.edu/~jgotts/linux/sendmail-8.8.8-core-dump-patch |