Exim-4.94

Introduction à Exim

Le paquet Exim contient un Mail Transport Agent écrit par l'université de Cambridge, publié sous la GNU Public License.

Ce paquet est connu pour se construire correctement sur une plateforme LFS-9.1.

Informations sur le paquet

Téléchargements supplémentaires

  • On peut télécharger des formats supplémentaires de la documentation (docs basés sur le texte sont fournis dans les sources) en suivant les liens décrits dans http://exim.org/docs.html.

Dépendances de Exim

Requises

libnsl-1.2.0 et PCRE-8.44

Facultatives

TDB (alternatives à GDBM, construit dans LFS), Cyrus SASL-2.1.27, libidn-1.36, Linux-PAM-1.4.0, MariaDB-10.5.4 ou MySQL, OpenLDAP-2.4.50, GnuTLS-3.6.14, PostgreSQL-12.3, SQLite-3.32.3, Système X Window, Heimdal GSSAPI et OpenDMARC

Notes utilisateur : http://wiki.linuxfromscratch.org/blfs/wiki/exim

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

Installez 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 '/# SUPPORT_TLS=yes/s,^#,,'                   \
    -e '/# USE_OPENSSL/s,^#,,'                       \
    -e 's,^EXIM_MONITOR,#EXIM_MONITOR,' src/EDITME > Local/Makefile &&

printf "USE_GDBM = yes\nDBMLIB = -lgdbm\n" >> Local/Makefile &&
make

Ce paquet n'est pas fourni avec une suite de tests.

Maintenant, en tant qu'utilisateur root :

make install                                    &&
install -v -m644 doc/exim.8 /usr/share/man/man8 &&

install -v -d -m755    /usr/share/doc/exim-4.94 &&
install -v -m644 doc/* /usr/share/doc/exim-4.94 &&

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-5.3.28.

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 que, plus tard, le démon ne doit pas avoir les privilèges root, le processus donne le démon à l'utilisateur exim.

SUPPORT_TLS=yes : Ceci permet de supporter les connexions STARTTLS. Si vous utilisez cette option, vous devez préciser quelle bibliothèque, entre OpenSSL et GnuTLS, est utilisée (voir src/EDITME).

USE_OPENSSL_PC=openssl : Ceci indique au système de construction d'utiliser OpenSSL et de toruver les bibliothèques nécessaires avec pkg-config.

#EXIM_MONITOR : Ceci reporte la construction du surveillant Exim car il exige la prise en charge du système de fenêtrage X, en commentant la ligne EXIM_MONITOR dans le Makefile. Si vous souhaitez construire le surveillant, n'utilisez pas la commande sed et lancez la commande suivante avant de construire le paquet (modifiez Local/eximon.conf, si nécessaire) : cp exim_monitor/EDITME Local/eximon.conf.

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 à http://exim.org/exim-html-4.94/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 http://exim.org/exim-html-4.94/doc/html/spec_html/ch45.html.

Pour utiliser une base de données de fond différente de Berkeley DB, voir les instructions sur http://exim.org/exim-html-4.94/doc/html/spec_html/ch04.html#SECTdb.

Pour la fonctionnalité SSL, voir les instructions sur http://exim.org/exim-html-4.94/doc/html/spec_html/ch04.html#SECTinctlsssl et http://exim.org/exim-html-4.94/doc/html/spec_html/ch42.html.

Pour la fonctionnalité tcpwrappers, voir les instructions sur http://exim.org/exim-html-4.94/doc/html/spec_html/ch04.html#SECID27.

Pour des informations sur l'ajout de mécanismes d'authentification, voir les chapitres 33-41 de http://exim.org/exim-html-4.94/doc/html/spec_html/index.html.

Pour des informations pour le lien avec Linux-PAM, reportez-vous aux instructions sur http://exim.org/exim-html-4.94/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 http://exim.org/exim-html-4.94/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 http://exim.org/exim-html-4.94/doc/html/spec_html/ch05.html#id2525974.

Il se peut que vous souhaitiez modifier la configuration par défaut et envoyer des fichiers journaux à syslog plutôt qu'au répertoire /var/spool/exim/log. Voir les informations sur http://exim.org/exim-html-4.94/doc/html/spec_html/ch52.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]

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.

Script de démarrage

Pour automatiser le lancement d'exim au démarrage, installez le script de démarrage /etc/rc.d/init.d/exim fourni dans le paquet blfs-bootscripts-20200404 :

make install-exim

Le script de démarrage démarre aussi le démon Exim et envoie un processus de lanceur de file d'attente de courriers toutes les 15 minutes. Modifiez le paramètre -q<intervalle de temps> dans /etc/rc.d/init.d/exim, si nécessaire pour votre installation.

Contenu

Programmes installés: exicyclog, exigrep, exim, exim-4.94-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.94 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.94-2.

exim-4.94-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.

Last updated on 2020-06-04 13:02:34 +0000