summaryrefslogtreecommitdiffstats
path: root/README_FILES/LINUX_README
blob: b8288798fb844fd063dc9b0cdf9076106027d79f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
PPoossttffiixx aanndd LLiinnuuxx

-------------------------------------------------------------------------------

HHoosstt llooookkuupp iissssuueess

By default Linux /etc/hosts lookups do not support multiple IP addresses per
hostname. This causes warnings from the Postfix SMTP server that "hostname XXX
does not resolve to address YYY", and is especially a problem with hosts that
have both IPv4 and IPv6 addresses. To fix this, turn on support for multiple IP
addresses:

    /etc/host.conf:
        ...
        # We have machines with multiple IP addresses.
        multi on
        ...

Alternatively, specify the RESOLV_MULTI environment variable in main.cf:

    /etc/postfix/main.cf:
        import_environment = MAIL_CONFIG MAIL_DEBUG MAIL_LOGTAG TZ XAUTHORITY
    DISPLAY LANG=C RESOLV_MULTI=on

BBeerrkkeelleeyy DDBB iissssuueess

If you can't compile Postfix because the file "db.h" isn't found, then you MUST
install the Berkeley DB development package (name: db???-devel-???) that
matches your system library. You can find out what is installed with the rpm
command. For example:

    $ rrppmm --qqff //uussrr//lliibb//lliibbddbb..ssoo
    db4-4.3.29-2

This means that you need to install db4-devel-4.3.29-2 (on some systems,
specify "rrppmm --qqff //lliibb//lliibbddbb..ssoo" instead).

DO NOT download some Berkeley DB version from the network. Every Postfix
program will dump core when it is built with a different Berkeley DB version
than the version that is used by the system library routines. See the DB_README
file for further information.

PPrrooccmmaaiill iissssuueess

On RedHat Linux 7.1 and later pprrooccmmaaiill no longer has permission to write to the
mail spool directory. Workaround:

    # chmod 1777 /var/spool/mail

LLooggggiinngg iinn aa ccoonnttaaiinneerr

When running Postfix inside a container, you can use stdout logging as
described in MAILLOG_README. Alternatives: run syslogd inside the container, or
mount the host's syslog socket inside the container.

SSyyssllooggdd ppeerrffoorrmmaannccee

LINUX ssyyssllooggdd uses synchronous writes by default. Because of this, ssyyssllooggdd can
actually use more system resources than Postfix. To avoid such badness, disable
synchronous mail logfile writes by editing /etc/syslog.conf and by prepending a
- to the logfile name:

    /etc/syslog.conf:
        mail.*                          -/var/log/mail.log

Send a "kkiillll --HHUUPP" to the ssyyssllooggdd to make the change effective.

OOtthheerr llooggggiinngg ppeerrffoorrmmaannccee iissssuueess

LINUX ssyysstteemmdd intercepts all logging and enforces its own rate limits before
handing off requests to a backend such as rrssyyssllooggdd or ssyysslloogg--nngg. On a busy mail
server this can result in information loss. As a workaround, you can use
Postfix's built-in logging as described in MAILLOG_README.