Installation de Sendmail par compilation

Notez cet article

Pour installer rapidement Sendmail, vous devez d’abord vous procurez ses sources sur le site FTP de Sendmail : ftp.sendmail.org.
Commencez par établir une connexion anonyme sur ftp.sendmail.org :
ftp ftp.sendmail.org
Connected to ftp.sendmail.org (209.246.26.22).
220 services.sendmail.org FTP server (Version 6.00LS) ready.
Name (ftp.sendmail.org:stm): anonymous
331 Guest login ok, send your email address as password.
Password:
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

Les sources de Sendmail se trouvent dans le répertoire /pub/sendmail :
ftp> cd pub/sendmail
250 CWD command successful.
ftp>

Ce répertoire contient toutes les archives de Sendmail :
ls -la
-rw-r–r– 1 ca sendmail 2702118 Jan 18 2004 sendmail.8.12.11.tar.Z
-rw-r–r– 1 ca sendmail 152 Jan 18 2004 sendmail.8.12.11.tar.Z.sig
-rw-r–r– 1 ca sendmail 1899112 Jan 18 2004 sendmail.8.12.11.tar.gz
-rw-r–r– 1 ca sendmail 152 Jan 18 2004 sendmail.8.12.11.tar.gz.sig
-rw-r–r– 1 ca sendmail 2839169 Mar 22 15:59 sendmail.8.13.6.tar.Z
-rw-r–r– 1 ca sendmail 152 Mar 22 15:59 sendmail.8.13.6.tar.Z.sig
-rw-r–r– 1 ca sendmail 1986576 Mar 22 15:59 sendmail.8.13.6.tar.gz
-rw-r–r– 1 ca sendmail 152 Mar 22 15:59 sendmail.8.13.6.tar.gz.sig
-rw-r–r– 1 ca sendmail 2897025 Jun 5 23:06 sendmail.8.13.7.tar.Z
-rw-r–r– 1 ca sendmail 152 Jun 14 03:12 sendmail.8.13.7.tar.Z.sig
-rw-r–r– 1 ca sendmail 2010008 Jun 5 22:53 sendmail.8.13.7.tar.gz
-rw-r–r– 1 ca sendmail 152 Jun 14 03:12 sendmail.8.13.7.tar.gz.sig

Récupérez la version qui vous intéresse. Ici, nous utiliserons la version 8.13.7 :
ftp> bin i
200 Type set to I.
ftp> get sendmail.8.11.6.tar.gz
local: sendmail.8.11.6.tar.gz remote: sendmail.8.13.7.tar.gz
227 Entering Passive Mode (209,246,26,22,193,71)
150 Opening BINARY mode data connection for ‘sendmail.8.13.7.tar.gz’ (2010008 bytes).
226 Transfer complete.
2010008 bytes received in 7.17 secs (1.9e+02 Kbytes/sec)

Une fois l’archive récupérée, vous pouvez quitter la session FTP :
ftp> quit
221 Goodbye.

Décompressez l’archive :
# tar xvfz sendmail.8.11.6.tar.gz
sendmail-8.13.7/
sendmail-8.13.7/Makefile
sendmail-8.13.7Build
sendmail-8.13.7/FAQ
sendmail-8.13.7/INSTALL
sendmail-8.13.7/KNOWNBUGS
sendmail-8.13.7/LICENSE
sendmail-8.13.7/PGPKEYS
sendmail-8.13.7/README
sendmail-8.13.7/RELEASE_NOTES
sendmail-8.13.7/devtools/
……………………….

Allez dans le répertoire de Sendmail :
# cd sendmail-8.13.7/

La compilation de Sendmail se fait au moyen de l’instruction « sh Build ». Prenez garde à ne pas lancer la commande classique de compilation make, et faites attention au « B » majuscule de Build :
# sh Build
Making all in:
/tmp/sendmail-8.13.7/libsmutil
Configuration: pfx=, os=Linux, rel=2.4.9-34, rbase=2, rroot=2.4, arch=i586, sfx=, variant=optimized
Using M4=/usr/bin/m4
Creating ../obj.Linux.2.4.9-34.i586/libsmutil using ../devtools/OS/Linux
Making dependencies in ../obj.Linux.2.4.9-34.i586/libsmutil
make[1]: Entre dans le répertoire `/tmp/sendmail-8.13.7/obj.Linux.2.4.9-34.i586/libsmutil’
cc -M -I. -I../../sendmail -I../../include -DNOT_SENDMAIL debug.c errstring.c lockfile.c safefile.c snprintf.c strl.c >> Makefile
make[1]: Quitte le répertoire `/tmp/sendmail-8.13.7/obj.Linux.2.4.9-34.i586/libsmutil’
Making in ../obj.Linux.2.4.9-34.i586/libsmutil
make[1]: Entre dans le répertoire `/tmp/sendmail-8.13.7/obj.Linux.2.4.9-34.i586/libsmutil’
cc -O -I. -I../../sendmail -I../../include -DNOT_SENDMAIL -c -o debug.o debug.c

Si vous obtenez des erreurs sur le répertoire libsmdb, cela signifie soit que vous n’avez pas installé les bibliothèques DB de Berkeley, soit qu’elles existent bien mais que le processus de compilation n’arrive pas à les localiser. Dans ce cas, utilisez la commande de compilation suivante :
# sh Build -c -I/usr/local/BerkeleyDB.3.1/include -L/usr/local/BerkeleyDB.3.1/lib

Remarque:
Les chemins et numéros de version peuvent varier d’un environnement à un autre.
Installez maintenant Sendmail au moyen de l’instruction « sh Build install » :
# sh Build install
Making all in:
/tmp/sendmail-8.13.7/libsmutil
Configuration: pfx=, os=Linux, rel=2.4.18-3, rbase=2, rroot=2.4, arch=i686, sfx=, variant=optimized
Making in ../obj.Linux.2.4.18-3.i686/libsmutil
make[1]: Entre dans le répertoire `/tmp/sendmail-8.13.7/obj.Linux.2.4.18-3.i686/libsmutil’
cc -O -I. -I../../sendmail -I../../include -DNOT_SENDMAIL -c -o debug.o debug.c

Les programmes sont installés. Il vous reste à construire une configuration minimale qui vous permettra de faire fonctionner Sendmail. Cette configuration se place dans le répertoire /etc/mail :
# mkdir /etc/mail

Des fichiers de configuration préconstruits sont fournis avec l’archive de Sendmail. Ils sont placés dans le répertoire /cf/cf. Prenez, par exemple, le fichier generic-linux.cf, puis placez-le dans le répertoire /etc/mail, et renommez-le sendmail.cf de façon qu’il soit interprété par Sendmail :
# cd cf/cf
# cp generic-linux.cf /etc/mail/
# cd /etc/mail
# mv generic-linux.cf sendmail.cf

Toujours dans le répertoire /etc/mail, créez un fichier aliases élémentaire :
mailer-daemon: postmaster
posmaster : root

Indexez ce fichier de la façon suivante :
# /usr/sbin/sendmail -bi -v

Créez la file d’attente dans laquelle seront déposés tous les messages de Sendmail :
# mkdir /var/spool/mqueue

Démarrez Sendmail comme suit :
# /usr/sbin/sendmail -bd -q15m

Sendmail est désormais prêt à fonctionner, avec un minimum de fonctionnalités.

Laisser un commentaire