masqmail

annotate INSTALL @ 429:5593964ec779

Added route conditions based on the From header New route config directives: allowed_from_hdrs, denied_from_hdrs. This feature was motivated by Philipp Takacs <philipp29@t-online.de>.
author markus schnalke <meillo@marmaro.de>
date Thu, 20 Nov 2014 20:36:20 +0100
parents bdbedce60247
children
rev   line source
meillo@59 1 Additional information may be available in docs/ or on the website.
meillo@174 2 For installing on GNU/Linux distributions read docs/INSTALL.linux.
meillo@0 3
meillo@59 4
meillo@59 5 Installation instructions
meillo@59 6 -------------------------
meillo@59 7
meillo@165 8 To compile masqmail you need glib (>= 1.2) (http://www.gtk.org). Your
meillo@181 9 distribution probably provides it. Glib-2.0 works out of the box, for
meillo@181 10 glib-1.2, you need to adjust configure.ac. See the comment in there.
meillo@0 11
meillo@165 12 You need a user and a group for masqmail to run. If
meillo@165 13
meillo@165 14 grep '^mail:' /etc/passwd
meillo@358 15 grep '^mail:' /etc/group
meillo@165 16
meillo@358 17 shows that the user `mail' and the group `mail' exist, it's probably
meillo@358 18 best to use these. If they don't exist, create them:
meillo@0 19
meillo@358 20 groupadd -g 12 mail
meillo@358 21 useradd -u 8 -g mail -d /nonexistent -s /bin/false -c "masqmail MTA" mail
meillo@0 22
meillo@358 23 The 8 and 12 are common uid/gid for the user and group `mail', but you can
meillo@358 24 use any (not yet used) number you like, preferably one lower than 100.
meillo@358 25 If you use other names than `mail' and `mail', you need to use the
meillo@358 26 configure options described below.
meillo@165 27
meillo@0 28
meillo@174 29 Compiling is a matter of the usual procedure. In the source directory,
meillo@59 30 after unpacking do:
meillo@0 31
meillo@59 32 ./configure
meillo@59 33 make
meillo@59 34 make install
meillo@0 35
meillo@0 36
meillo@0 37
meillo@59 38 Additional options for configure
meillo@59 39 --------------------------------
meillo@0 40
meillo@59 41 See the output of
meillo@0 42
meillo@59 43 ./configure -h
meillo@0 44
meillo@165 45 Here is a selection of the options with additional explanations:
meillo@0 46
meillo@165 47 --with-user=USER
meillo@165 48 sets the user as which masqmail will run. Default is 'mail'. USER has
meillo@165 49 to exist before you 'make install'.
meillo@0 50
meillo@165 51 --with-group=GROUP
meillo@358 52 sets the group as which masqmail will run. Default is 'mail'. GROUP
meillo@165 53 has to exist before you 'make install'.
meillo@0 54
meillo@0 55
meillo@165 56 --with-logdir=LOGDIR
meillo@165 57 sets the directory where masqmail stores its log files. It will be
meillo@425 58 created on program startup if it does not exist. Default is
meillo@425 59 /var/log/masqmail.
meillo@0 60
meillo@165 61 --with-spooldir=SPOOLDIR
meillo@165 62 sets the directory where masqmail stores its spool files. It will be
meillo@425 63 created on program startup if it does not exist. Default is
meillo@425 64 /var/spool/masqmail.
meillo@0 65
meillo@165 66 --with-confdir=CONFDIR
meillo@165 67 sets the default configuration directory to CONFDIR, in case you
meillo@425 68 prefer another location than /etc/masqmail.
meillo@0 69
meillo@420 70 --with-piddir=PIDDIR
meillo@421 71 sets the directory for the pid file of the daemon. The default and usual
meillo@420 72 location is /var/run, but some GNU/Linux distributions have converted
meillo@421 73 to /run. It gets created on program startup if missing.
meillo@421 74
meillo@421 75 --with-lockdir=LOCKDIR
meillo@421 76 sets the default directory for lock file for spooled messages. Default
meillo@421 77 is /var/lock/masqmail. It gets created on program startup if missing.
meillo@420 78
meillo@0 79
meillo@165 80 --disable-resolver
meillo@175 81 disables resolver support. Without the resolver functions, masqmail
meillo@165 82 uses only gethostbyname() to resolve DNS names, and you cannot send
meillo@165 83 mail without a smart host. Not recommended.
meillo@0 84
meillo@364 85 --disable-auth
meillo@364 86 disables ESMTP AUTH support (enabled by default)
meillo@364 87
meillo@165 88
meillo@165 89 --disable-debug
meillo@175 90 disables debugging; setting it on the command line or in the
meillo@175 91 configuration has no effect. Strongly discouraged, since you miss
meillo@175 92 valuable information if something goes wrong.
meillo@0 93
meillo@59 94
meillo@59 95
meillo@165 96 Checking the installation
meillo@165 97 -------------------------
meillo@0 98
meillo@0 99 Check that 'make install' worked correctly. The following command:
meillo@0 100
meillo@195 101 ls -ld /usr/local/sbin/masqmail /etc/masqmail /var/log/masqmail/ \
meillo@422 102 /var/spool/masqmail/
meillo@0 103
meillo@0 104 should give output similar to
meillo@0 105
meillo@165 106 -rwsr-xr-x 1 root root 399356 May 10 12:34 /usr/local/sbin/masqmail
meillo@59 107 drwxr-xr-x 2 root root 4096 May 10 12:34 /etc/masqmail
meillo@358 108 drwxr-xr-x 2 mail mail 4096 May 10 12:34 /var/log/masqmail
meillo@358 109 drwxr-xr-x 5 mail mail 4096 May 10 12:34 /var/spool/masqmail
meillo@0 110
meillo@165 111 Important are the set-user-id bit for /usr/local/sbin/masqmail and
meillo@421 112 the ownership of the directories.
meillo@0 113
meillo@0 114
meillo@59 115
meillo@165 116 Making masqmail the default
meillo@165 117 ---------------------------
meillo@0 118
meillo@165 119 `sendmail' is the de-facto standard name of the system's MTA, no
meillo@165 120 matter which MTA actually runs. If you want to make masqmail the
meillo@185 121 system's MTA (i.e. replace sendmail, postfix, etc), make two symbolic
meillo@185 122 links:
meillo@0 123
meillo@165 124 ln -s /usr/local/sbin/masqmail /usr/lib/sendmail
meillo@185 125 ln -s /usr/local/sbin/masqmail /usr/sbin/sendmail
meillo@0 126
meillo@165 127 Now every mailer that used to call sendmail will now call masqmail.
meillo@165 128 If you already had an MTA installed and running, you can kill it and
meillo@165 129 start masqmail. Probably with:
meillo@59 130
meillo@165 131 /etc/init.d/sendmail restart
meillo@59 132
meillo@165 133 If this doesn't work as expected, you might need to add a special init
meillo@165 134 script for masqmail. Currently none is distributed with masqmail.
meillo@165 135 (Hopefully this will change soon.) Please ask on the mailing list for
meillo@165 136 help.
meillo@59 137
meillo@165 138 You can also directly start masqmail as daemon with:
meillo@59 139
meillo@165 140 /usr/local/sbin/masqmail -bd -q30m
meillo@59 141
meillo@59 142
meillo@59 143
meillo@165 144 Basic Configuration
meillo@165 145 -------------------
meillo@59 146
meillo@165 147 The only thing you must configure in order to use masqmail is the
meillo@165 148 hostname. It's the name under which masqmail operates. In most cases
meillo@165 149 it is the same as the machine's name, but it can be different.
meillo@59 150
meillo@227 151 The script `admin/guess-hostname' tries to print the hostname of
meillo@165 152 your machine. The first output line is probably the best choice.
meillo@59 153
meillo@165 154 Create a minimal config with:
meillo@59 155
meillo@165 156 echo "host_name = HOSTNAME" >/etc/masqmail/masqmail.conf
meillo@59 157
meillo@165 158 (Substitute `HOSTNAME' with the real value, of course.)
meillo@59 159
meillo@165 160 Such a setup (i.e. the default one) does:
meillo@165 161 - deliver mail locally
meillo@206 162 - accept mail on stdin (plain text)
meillo@206 163 - accept mail on stdin (SMTP) (if started with -bs)
meillo@206 164 - accept mail on the local port 25 (SMTP) (if started with -bd)
meillo@185 165
meillo@165 166 It does not
meillo@185 167 - transfer mail to other machines
meillo@165 168 - accept mail from outside your machine
meillo@59 169
meillo@59 170
meillo@165 171 For more elaborate setups, have a look at docs/*setup and
meillo@165 172 docs/INSTALL*. You can also take the example configuration files in
meillo@165 173 examples/ as basis for your own. Take the man pages masqmail.conf(5)
meillo@165 174 and masqmail.route(5) for reference.
meillo@92 175
meillo@165 176 All configuration files should go into /etc/masqmail.
meillo@59 177
meillo@59 178
meillo@59 179
meillo@59 180 Written by oku.
meillo@165 181 Improved by meillo.