The Exim package contains a Mail Transport Agent written by the University of Cambridge, released under the GNU Public License.
Download (HTTP): http://gd.tuwien.ac.at/infosys/mail/exim/exim4/exim-4.24.tar.bz2
Download (FTP): ftp://ftp.exim.org/pub/exim/exim4/exim-4.24.tar.bz2
Download size: 1.2 MB
Estimated Disk space required: 11 MB
Estimated build time: 0.27 SBU
Before building Exim, we need to create the group and user exim which will run the exim daemon:
groupadd exim && useradd -d /dev/null -g exim -s /bin/false exim |
Install Exim with the following commands:
sed -e 's/^BIN_DIR.*$/BIN_DIRECTORY=\/usr\/sbin/' src/EDITME | \ sed -e 's/^CONF.*$/CONFIGURE_FILE=\/etc\/exim.conf/' | \ sed -e 's/^EXIM_USER.*$/EXIM_USER=exim/' | \ sed -e 's/^EXIM_MONITOR/#EXIM_MONITOR/' > Local/Makefile && make && make install && cp doc/exim.8 /usr/share/man/man8 && ln -s exim-4.24-1 /usr/sbin/exim && ln -s exim /usr/sbin/sendmail |
sed -e ... > Local/Makefile: Many of Exim's configuration options are compiled in. Here, we specify the minimum set of options, BIN_DIRECTORY, CONFIGURE_FILE and EXIM_USER. We also defer building the Exim monitor program, which requires the X Window System support, by commenting out the EXIM_MONITOR line in the Makefile.
ln -s exim /usr/sbin/sendmail: Create a link to sendmail for applications which need it. Exim will accept most Sendmail command-line options.
Create the Exim configuration files with the following commands:
cat >> /etc/aliases << "EOF" postmaster: root MAILER-DAEMON: root EOF exim -v -bi && /usr/sbin/exim -bd -q1m |
Note: To protect an existing /etc/aliases file, we will append these aliases to it if it exists. This file should be checked and duplicate aliases removed, if present.
To start and stop Exim on system boot/shutdown create the exim boot script with the following commands:
cat > /etc/rc.d/init.d/exim << "EOF" #!/bin/sh # Begin $rc_base/init.d/exim # Based on sysklogd script from LFS-3.1 and earlier. # Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Starting exim..." loadproc /usr/sbin/exim -bd -q1m ;; stop) echo "Stopping exim..." killproc exim ;; status) statusproc exim ;; restart) $0 stop sleep 1 $0 start ;; *) echo "Usage: $0 {start|stop|status|restart}" exit 1 ;; esac # End $rc_base/init.d/exim EOF chmod 755 /etc/rc.d/init.d/exim |
Create the run level symlinks with the following commands:
cd /etc/rc.d/init.d && ln -sf ../init.d/exim ../rc0.d/K25exim && ln -sf ../init.d/exim ../rc1.d/K25exim && ln -sf ../init.d/exim ../rc2.d/K25exim && ln -sf ../init.d/exim ../rc3.d/S35exim && ln -sf ../init.d/exim ../rc4.d/S35exim && ln -sf ../init.d/exim ../rc5.d/S35exim && ln -sf ../init.d/exim ../rc6.d/K25exim |
The Exim package contains exim, exim_dumpdb, exim_fixdb, exim_tidydb, exinext, exiwhat, exim_dbmbuild, exicyclog, exigrep, eximstats, exiqsumm, exiqgrep, exim_lock and exim_checkaccess.