Exim-4.97.1
Introduction à Exim
Le paquet Exim contient un Mail
Transport Agent écrit par l'université de Cambridge, publié sous la
GNU Public License.
This package is known to build and work properly using an LFS 12.1
platform.
Informations sur le paquet
-
Téléchargement (HTTP) : https://ftp.exim.org/pub/exim/exim4/exim-4.97.1.tar.xz
-
Téléchargement (FTP) :
-
Somme de contrôle MD5 : 3fd68ae37720767619dd305b047fe8f9
-
Taille du téléchargement : 1,9 Mo
-
Estimation de l'espace disque requis : 18 Mo
-
Estimation du temps de construction : 0,1 SBU
Téléchargements supplémentaires
Dépendances de Exim
Requises
libnsl-2.0.1, File-FcntlLock-0.22 et pcre2-10.42
Facultatives
TDB (alternative à GDBM,
construit dans LFS), Cyrus
SASL-2.1.28, libidn-1.42, Linux-PAM-1.6.0, MariaDB-10.11.7 ou
MySQL, OpenLDAP-2.6.7, GnuTLS-3.8.3,
PostgreSQL-16.2, SQLite-3.45.1, un environnement
graphique, Heimdal GSSAPI, libspf2 et
OpenDMARC
Installation de Exim
Avant de construire Exim, en tant
qu'utilisateur root
, vous devriez
créer le groupe et l'utilisateur exim
qui exécuteront le démon exim :
groupadd -g 31 exim &&
useradd -d /dev/null -c "Exim Daemon" -g exim -s /bin/false -u 31 exim
Configurez Exim avec les commandes
suivantes :
sed -e 's,^BIN_DIR.*$,BIN_DIRECTORY=/usr/sbin,' \
-e 's,^CONF.*$,CONFIGURE_FILE=/etc/exim.conf,' \
-e 's,^EXIM_USER.*$,EXIM_USER=exim,' \
-e '/# USE_OPENSSL/s,^#,,' src/EDITME > Local/Makefile &&
printf "USE_GDBM = yes\nDBMLIB = -lgdbm\n" >> Local/Makefile
Si vous voulez ajouter la prise en charge de Linux PAM, lancez aussi les commandes
suivantes :
sed -i '/# SUPPORT_PAM=yes/s,^#,,' Local/Makefile
echo "EXTRALIBS=-lpam" >> Local/Makefile
Construisez Exim avec les
commandes suivantes :
make
Ce paquet n'a pas de suite de tests.
Maintenant, en tant qu'utilisateur root
:
make install &&
install -v -m644 doc/exim.8 /usr/share/man/man8 &&
install -vdm 755 /usr/share/doc/exim-4.97.1 &&
cp -Rv doc/* /usr/share/doc/exim-4.97.1 &&
ln -sfv exim /usr/sbin/sendmail &&
install -v -d -m750 -o exim -g exim /var/spool/exim
Explication des commandes
sed -e ... >
Local/Makefile : La plupart des options de
configuration d'Exim sont définies
dans Local/Makefile
, créé à partir du
fichier src/EDITME
. Cette commande
indique l'ensemble d'options minimum. Les descriptions des options
sont listées ci-dessous.
printf ... >
Local/Makefile : initialisation des variables
autorise l'utilisation de GDBM à la place de Berkeley DB par
défaut. Enlevez cette commande si vous avez installé Berkeley
DB (deprecated).
BIN_DIRECTORY=/usr/sbin
: Ceci
installe tous les binaires et les scripts d'Exim dans /usr/sbin
.
CONFIGURE_FILE=/etc/exim.conf
:
Ceci installe le fichier principal de configuration d'Exim dans /etc
.
EXIM_USER=exim
: ceci
dit à Exim qu'après que le démon
n'a plus besoin des privilèges root
, le processus donne le démon à
l'utilisateur exim
.
USE_OPENSSL
:
décommenter USE_OPENSSL=yes
et
USE_OPENSSL_PC=yes
indique au système
de construction d'utiliser OpenSSL
et de trouver les bibliothèques nécessaires avec pkg-config.
Décommentez EXIM_MONITOR
: cela
permet de construire le programme de surveillance d'Exim, qui nécessite la prise en charge du
système de fenêtrage X et est
commenté par défaut.
ln -sfv exim
/usr/sbin/sendmail : Crée un lien vers
sendmail pour les
applications en ayant besoin. Exim
acceptera la plupart des options Sendmail en ligne de commande.
install -v -m750 -o exim -g exim
/var/spool/exim : Comme /var/spool appartient
à root et que cette version de exim baisse ses privilèges
root
tôt, pour se lancer en tant
qu'utilisateur exim
, il ne peut pas
créer le dossier /var/spool/exim
. La
solution est de le créer manuellement.
Ajouter des fonctionnalités supplémentaires
Pour utiliser tout ou partie des paquets de dépendance, vous devrez
modifier Local/Makefile
pour inclure
les directives adéquates et des paramètres pour lier des
bibliothèques supplémentaires avant de construire Exim. Local/Makefile
est énormément commenté par des
instructions sur la façon de s'y prendre. Voici la liste
d'informations supplémentaires pour vous aider à lier ces paquets
de dépendance ou ajouter des fonctionnalités supplémentaires.
Si vous souhaitez construire et installer la documentation
.info
, reportez-vous à
https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch04.html#SECTinsinfdoc.
Si vous souhaitez construire en dur les interfaces d'Exim avec
l'appel à des logiciels anti-virus et anti-spams directement à
partir des listes de contrôle d'accès, dé-commentez le paramètre
WITH_CONTENT_SCAN=yes
et relisez les
informations qui se trouvent sur https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch45.html.
Pour utiliser une base de données de fond différente de
GDBM, voir les instructions sur
https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch04.html#SECTdb.
Pour la fonctionnalité SSL, voir les instructions sur
https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch04.html#SECTinctlsssl
et https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch42.html.
Pour la fonctionnalité tcpwrappers, voir les instructions sur
https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch04.html#SECID27.
Pour des informations sur l'ajout de mécanismes d'authentification,
voir les chapitres 33-41 de https://exim.org/exim-html-4.97.1/doc/html/spec_html/index.html.
Pour des informations pour le lien avec Linux-PAM, reportez-vous aux instructions sur
https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch11.html#SECTexpcond.
Pour des informations sur le lien avec des bibliothèques du moteur
de base de données utilisées pour les recherches de noms
Exim, voir les instructions sur
https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch09.html.
Si vous souhaitez ajouter le support Readline à Exim quand on l'appelle en mode « test
expansion » (-be
),
voir les informations dans la section -be
de
https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch05.html#id2525974.
Vous souhaiterez peut-être modifier la configuration par défaut et
envoyer des fichiers journaux à syslog plutôt qu'au répertoire
/var/spool/exim/log
par défaut.
Consultez les informations sur
https://exim.org/exim-html-4.97.1/doc/html/spec_html/ch-log_files.html.
Une large gamme d'informations se trouvent sur le Wiki d'Exim.
Configuration de Exim
Fichiers de
configuration
/etc/exim.conf
et /etc/aliases
Informations sur la configuration
Revoyez le fichier /etc/exim.conf
et modifiez les paramètres pour répondre à vos besoins. Remarquez
que la configuration par défaut considère que le répertoire
/var/mail
est inscriptible par tout
le monde, mais a le droit sticky. Si vous voulez utiliser la
configuration par défaut, lancez en tant qu'utilisateur
root
:
chmod -v a+wt /var/mail
Un fichier /etc/aliases
par défaut
(rien que des commentaires) est installé pendant l'installation
du paquet si ce fichier n'existait pas sur votre système. Créez
les alias nécessaires et démarrez le démon Exim en utilisant les commandes
suivantes :
cat >> /etc/aliases << "EOF"
postmaster: root
MAILER-DAEMON: root
EOF
/usr/sbin/exim -bd -q15m
Note
Pour protéger un fichier /etc/aliases
existant, la commande ci-dessus
y ajoute ces alias. Vous devriez vérifier ce fichier et
recopier les alias supprimés s'il y en a.
La commande /usr/sbin/exim -bd
-q15m démarre le démon Exim avec un intervalle de 15 minutes dans
le traitement de la file d'attente de courriers. Ajustez ce
paramètre pour l'adapter à vos souhaits.
Configuration de Linux PAM
Si vous avez construit Exim avec
la prise en charge de Linux PAM,
vous devez créer un fichier de configuration PAM pour que ça fonctionne correctement avec
BLFS.
Lancez les commandes suivantes en tant qu'utilisateur
root
pour créer le fichier de
configuration pour Linux
PAM :
cat > /etc/pam.d/exim << "EOF"
# Begin /etc/pam.d/exim
auth include system-auth
account include system-account
session include system-session
# End /etc/pam.d/exim
EOF
Unité Systemd
Pour automatiser le lancement d'exim au démarrage, installez
l'unité exim.service
fournie dans le paquet
blfs-systemd-units-20240205 :
make install-exim
Contenu
Programmes installés:
exicyclog, exigrep, exim, exim-4.97.1-2,
exim_checkaccess, exim_dbmbuild, exim_dumpdb, exim_fixdb,
exim_lock, exim_tidydb, eximstats, exinext, exipick, exiqgrep,
exiqsumm, exiwhat et potentiellement eximon, eximon.bin, et
sendmail (lien symbolique)
Bibliothèques installées:
Aucune
Répertoires installés:
/usr/share/doc/exim-4.97.1 et
/var/spool/exim
Descriptions courtes
exicyclog
|
parcourt les fichiers journaux d'Exim
|
exigrep
|
recherche dans les fichiers journaux d'Exim
|
exim
|
est un lien symbolique vers le démon MTA exim-4.97.1-2
|
exim-4.97.1-2
|
est le démon d'agent de transport de courrier
Exim
|
exim_checkaccess
|
établit si une adresse de destinataire donnée sur un hôte
est acceptable ou pas
|
exim_dbmbuild
|
crée et reconstruit des bases de données Exim
|
exim_dumpdb
|
écrit le contenu des bases de données Exim sur la sortie standard
|
exim_fixdb
|
modifie des données dans les bases de données
Exim
|
exim_lock
|
verrouille un fichier de boîte aux lettres
|
exim_tidydb
|
supprime les vieux enregistrements des bases de données
Exim
|
eximstats
|
génère des statistiques de courrier à partir des fichiers
journaux Exim
|
exinext
|
demande le délai entre les essais sur l'hôte distant
|
exipick
|
sélectionne des messages basés sur divers critères
|
exiqgrep
|
est un outil de listage sélectif de la file d'attente
|
exiqsumm
|
produit un résumé des messages dans la file d'attente du
courrier
|
exiwhat
|
cherche les processus Exim en cours
|
eximon
|
est un script shell de démarrage pour eximon.bin utilisé pour
paramétrer les variables d'environnement nécessaires
avant de lancer le programme
|
eximon.bin
|
est un programme de surveillance qui affiche les
informations actuelles dans une fenêtre X et contient aussi une interface en
menus avec les options en ligne de commande
d'administration d'Exim
|