Exim-4.97
Exim の概要
Exim パッケージは、メール転送エージェント (mail
transfer agent) を提供します。 ケンブリッジ大学にて開発され、GNU Public License
により公開されています。
注記
LFS や依存パッケージが本ブックに示す最新安定バージョンでなかった場合には、BLFS
開発版においては、パッケージのビルドや処理実行が適切に行われないことがあります。
パッケージ情報
追加のダウンロード
Exim の依存パッケージ
必須
libnsl-2.0.1, File-FcntlLock-0.22 and pcre2-10.42
任意
TDB (alternative to
GDBM, built in LFS), Cyrus
SASL-2.1.28, libidn-1.41, Linux-PAM-1.5.3, MariaDB-10.11.6 or
MySQL, OpenLDAP-2.6.6, GnuTLS-3.8.2,
PostgreSQL-16.1, SQLite-3.44.2, グラフィック環境, Heimdal GSSAPI, libspf2, and
OpenDMARC
Exim のインストール
Exim をビルドするにあたっては、root
ユーザーになって exim
というユーザーおよびグループを作成する必要があります。 これは
exim
デーモンを起動するものになります。
groupadd -g 31 exim &&
useradd -d /dev/null -c "Exim Daemon" -g exim -s /bin/false -u 31 exim
Configure Exim with the following
commands:
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
If you want to add Linux PAM
support, also run the following commands:
sed -i '/# SUPPORT_PAM=yes/s,^#,,' Local/Makefile
echo "EXTRALIBS=-lpam" >> Local/Makefile
Build Exim with the following
command:
make
このパッケージにテストスイートはありません。
root
ユーザーになって以下を実行します。
make install &&
install -v -m644 doc/exim.8 /usr/share/man/man8 &&
install -vdm 755 /usr/share/doc/exim-4.97 &&
cp -Rv doc/* /usr/share/doc/exim-4.97 &&
ln -sfv exim /usr/sbin/sendmail &&
install -v -d -m750 -o exim -g exim /var/spool/exim
コマンド説明
sed -e ... >
Local/Makefile: Most of Exim's configuration options are defined in
Local/Makefile
, which is created from
the src/EDITME
file. This command
specifies the minimum set of options. Descriptions for the options
are listed below.
printf ... >
Local/Makefile: Setting those variables allows to
use GDBM instead of the default Berkeley DB. Remove this command if
you have installed Berkeley
DB (非推奨).
BIN_DIRECTORY=/usr/sbin
:
This installs all of Exim's
binaries and scripts in /usr/sbin
.
CONFIGURE_FILE=/etc/exim.conf
: This
installs Exim's main configuration
file in /etc
.
EXIM_USER=exim
: This tells
Exim that after the daemon no
longer needs root
privileges, the
process needs to hand off the daemon to the exim
user.
USE_OPENSSL
: uncommenting
USE_OPENSSL=yes
and USE_OPNSSL_PC=yes
tells the build system to use
OpenSSL, and to find the needed
libraries with pkg-config.
Uncomment EXIM_MONITOR
: This allows
building the Exim monitor program,
which requires X Window System
support, and is commented out by default.
ln -sfv exim
/usr/sbin/sendmail: Creates a link to sendmail for applications which
need it. Exim will accept most
Sendmail command-line options.
install -v -m750 -o exim -g exim
/var/spool/exim: Since /var/spool is owned by root
and this version of exim drops root
privileges early, to run as user
exim
, it cannot create the
/var/spool/exim
directory. As a work
around, it is created manually.
Adding Additional Functionality
To utilize some or all of the dependency packages, you'll need to
modify Local/Makefile
to include the
appropriate directives and parameters to link additional libraries
before you build Exim.
Local/Makefile
is heavily commented
with instructions on how to do this. Listed below is additional
information to help you link these dependency packages or add
additional functionality.
If you wish to build and install the .info
documentation, refer to
https://exim.org/exim-html-4.97/doc/html/spec_html/ch04.html#SECTinsinfdoc.
If you wish to build in Exim's interfaces for calling virus and
spam scanning software directly from access control lists,
uncomment the WITH_CONTENT_SCAN=yes
parameter and review the information found at
https://exim.org/exim-html-4.97/doc/html/spec_html/ch45.html.
To use a backend database other than GDBM , see the instructions at
https://exim.org/exim-html-4.97/doc/html/spec_html/ch04.html#SECTdb.
For SSL functionality, see the instructions at
https://exim.org/exim-html-4.97/doc/html/spec_html/ch04.html#SECTinctlsssl
and https://exim.org/exim-html-4.97/doc/html/spec_html/ch42.html.
For tcpwrappers functionality, see
the instructions at
https://exim.org/exim-html-4.97/doc/html/spec_html/ch04.html#SECID27.
For information about adding authentication mechanisms to the
build, see chapters 33—41 of https://exim.org/exim-html-4.97/doc/html/spec_html/index.html.
For information about linking Linux-PAM, refer to the instructions
https://exim.org/exim-html-4.97/doc/html/spec_html/ch11.html#SECTexpcond.
For information about linking database engine libraries used for
Exim name lookups, see the
instructions at https://exim.org/exim-html-4.97/doc/html/spec_html/ch09.html.
If you wish to add Readline
support to Exim when invoked in
「test
expansion」 (-be
) mode,
see the information in the -be
section
of
https://exim.org/exim-html-4.97/doc/html/spec_html/ch05.html#id2525974.
You may wish to modify the default configuration and send log files
to syslog instead of the default /var/spool/exim/log
directory. See the
information at
https://exim.org/exim-html-4.97/doc/html/spec_html/ch-log_files.html.
A wealth of information can be also found at the Exim Wiki.
Exim の設定
設定ファイル
/etc/exim.conf
and /etc/aliases
設定情報
Review the file /etc/exim.conf
, and
modify any settings to suit your needs. Note that the default
configuration assumes that the /var/mail
directory is world writable, but has
the sticky bit set. If you want to use the default configuration,
issue as the root
user:
chmod -v a+wt /var/mail
A default (nothing but comments) /etc/aliases
file is installed during the
package installation if this file did not exist on your system.
Create the necessary aliases and start the Exim daemon using the following commands:
cat >> /etc/aliases << "EOF"
postmaster: root
MAILER-DAEMON: root
EOF
/usr/sbin/exim -bd -q15m
注記
To protect an existing /etc/aliases
file, the command above appends
these aliases to it. This file should be checked and duplicate
aliases removed, if present.
The /usr/sbin/exim -bd
-q15m command starts the Exim daemon with a 15 minute interval in
processing the mail queue. Adjust this parameter to suit your
desires.
Linux PAM Configuration
If you have built Exim with
Linux PAM support, you need to
create a PAM configuration file
to get it working correctly with BLFS.
Issue the following command as the root
user to create the configuration file
for 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
Systemd Unit
To automatically start exim at boot, install the
exim.service
unit included in the blfs-systemd-units-20231205 package:
make install-exim
パッケージ構成
インストールプログラム: exicyclog, exigrep, exim, exim-4.97-2,
exim_checkaccess, exim_dbmbuild, exim_dumpdb, exim_fixdb,
exim_lock, exim_tidydb, eximstats, exinext, exipick, exiqgrep,
exiqsumm, exiwhat, 任意ビルドとして eximon, eximon.bin, and sendmail
(シンボリックリンク)
インストールライブラリ: なし
インストールディレクトリ: /usr/share/doc/exim-4.97, /var/spool/exim
概略説明
exicyclog
|
Exim のログファイルを回します。
|
exigrep
|
searches Exim log files
|
exim
|
is a symlink to the exim-4.97-2 MTA daemon
|
exim-4.97-2
|
is the Exim mail
transport agent daemon
|
exim_checkaccess
|
states whether a given recipient address from a given
host is acceptable or not
|
exim_dbmbuild
|
creates and rebuilds Exim databases
|
exim_dumpdb
|
writes the contents of Exim databases to the standard
output
|
exim_fixdb
|
modifies data in Exim
databases
|
exim_lock
|
locks a mailbox file
|
exim_tidydb
|
removes old records from Exim databases
|
eximstats
|
generates mail statistics from Exim log files
|
exinext
|
queries remote host retry times
|
exipick
|
selects messages based on various criteria
|
exiqgrep
|
is a utility for selective queue listing
|
exiqsumm
|
produces a summary of the messages in the mail queue
|
exiwhat
|
queries running Exim
processes
|
eximon
|
is a start-up shell script for eximon.bin used to set
the required environment variables before running the
program
|
eximon.bin
|
is a monitor program which displays current information
in an X window, and also
contains a menu interface to Exim's command line administration
options
|