Skip to content
Nigel Metheringham edited this page Nov 30, 2012 · 3 revisions

Q0117

Question

Is there a quick walk-through of an Exim install from source anywhere?

Answer

Here! This is a contribution from a Red Hat user, somewhat edited. On other operating systems things may be slightly different, but the general approach is the same.

  1. Install the db needed for Exim. This needs to be done first if you t have a DBM library installed. Go to http://www.sleepycat.com download db-4.1.25.tar.gz, or whatever the current release is. :
gunzip db-4.1.25.tar.gz
tar -xvf db-4.1.25.tar
cd db-4.1.25
cd build_unix
../dist/configure
make
make install
  1. Add a user for use by Exim, unless you want to use an existing user as mail:
adduser exim
  1. Now you can prepare to build Exim. Go to http://www.exim.org or of its mirrors, or the master ftp site ftp://ftp.csx.cam.ac.uk/pub/software/email/exim/exim4 , and download exim-4.20.tar.gz or whatever the current release is. Then:
gunzip exim-4.20.tar.gz
tar -xvf exim-4.20.tar
cd exim-4.20
cp src/EDITME Local/Makefile
cp exim_monitor/EDITME Local/eximon.conf
  1. Edit Local/Makefile:

Comment out EXIM_MONITOR= unless you want to install the Exim monitor (it requires X-windows). Set the user you want Exim to use for itself:

EXIM_USER=exim

If your DBM library is Berkeley DB, set up to use its native interface:

USE_DB=yes

Make sure Exim's build can find the DBM library and its headers. If you've installed Berkeley DB 4 you'll need to have settings like this in Local/Makefile:

INCLUDE=-I/usr/local/BerkeleyDB.4.1/include
DBMLIB=/usr/local/BerkeleyDB.4.1/lib/libdb.a

(Check that the first directory contains the db.h file and that the second library exists.) You don't need to change anything else, but you might want to review the default settings in the must specify > section.

  1. Build Exim by running the make command.

  2. Install Exim by running, as root:

make install

You must be root to do this. You do not have to be root for any of the previous building activity.

  1. Run some tests on Exim; see if it will do local and remote veries. Change the configuration if necessary (for example, mmenting group on the local_delivery transport if you don't a sticky bit > directory).

  2. Change Sendmail to Exim (of course you need to have had Sendmail alled to do this).

/etc/init.d/sendmail stop
mv /usr/sbin/sendmail /usr/sbin/sendmail.org
ln -s /usr/exim/bin/exim /usr/sbin/sendmail
/etc/init.d/sendmail start
  1. Check the Exim log. Either use the Exim monitor, or:
tail -f /var/spool/exim/log/mainlog

Clone this wiki locally