SMM:08-8
Sendmail Installation and Operation Guide
1.1.3. Tweaking the Makefile
Sendmail supports two different formats for the local (on disk) version of databases,
notably the aliases database. At least one of these should be defined if at all possible.
NDBM
The ``new DBM'' format, available on nearly all systems around today. This
was the preferred format prior to 4.4BSD. It allows such complex things as
multiple databases and closing a currently open database.
NEWDB
The Berkeley DB package. If you have this, use it. It allows long records,
multiple open databases, real in-memory caching, and so forth. You can
define this in conjunction with
NDBM
; if you do, old alias databases are read,
but when a new database is created it will be in NEWDB format. As a nasty
hack, if you have NEWDB, NDBM, and NIS defined, and if the alias file
name includes the substring "/yp/", sendmail will create both new and old ver-
sions of the alias file during a newalias command. This is required because
the Sun NIS/YP system reads the DBM version of the alias file. It's ugly as
sin, but it works.
If neither of these are defined, sendmail reads the alias file into memory on every invocation.
This can be slow and should be avoided. There are also several methods for remote database
access:
LDAP
Lightweight Directory Access Protocol.
NIS
Sun's Network Information Services (formerly YP).
NISPLUS Sun's NIS+
services.
NETINFO NeXT's NetInfo
service.
HESIOD
Hesiod service (from Athena).
Other compilation flags are set in conf.h and should be predefined for you unless you are porting
to a new environment. For more options see sendmail/README.
1.1.4. Compilation and installation
After making the local system configuration described above, You should be able to com-
pile and install the system. The script "Build" is the best approach on most systems:
./Build
This will use uname(1) to create a custom Makefile for your environment.
If you are installing in the standard places, you should be able to install using
./Build install
This should install the binary in /usr/sbin and create links from /usr/bin/newaliases and
/usr/bin/mailq to /usr/sbin/sendmail. On most systems it will also format and install man pages.
Notice: as of version 8.12 sendmail will no longer be installed set-user-ID root by default. If
you really want to use the old method, you can specify it as target:
./Build install-set-user-id
1.2. Configuration Files
Sendmail cannot operate without a configuration file. The configuration defines the mail
delivery mechanisms understood at this site, how to access them, how to forward email to remote
mail systems, and a number of tuning parameters. This configuration file is detailed in the later por-
tion of this document.
The sendmail configuration can be daunting at first. The world is complex, and the mail con-
figuration reflects that. The distribution includes an m4-based configuration package that hides a lot