masqmail

annotate INSTALL @ 421:f37384470855

Changed lockdir to /var/lock/masqmail; Create lockdir and piddir on startup. Moved the lockdir out of the spool dir. (When /var/lock is a ramdisk we do well to have the lock files there.) Added the new configure option --with-lockdir to change that location. Nontheless, if we run_as_user, then lock files are always stored in the spool dir directly. Instead of installing the lockdir and piddir at installation time, we create them on startup time now if they are missing. This is necessary if lockdir or piddir are a tmpfs.
author markus schnalke <meillo@marmaro.de>
date Wed, 30 May 2012 09:38:38 +0200
parents 09da6e72cd30
children bdbedce60247
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@165 58 created if it does not exist. Default is /var/log/masqmail/.
meillo@0 59
meillo@165 60 --with-spooldir=SPOOLDIR
meillo@165 61 sets the directory where masqmail stores its spool files. It will be
meillo@165 62 created if it does not exist. Default is /var/spool/masqmail/.
meillo@0 63
meillo@165 64 --with-confdir=CONFDIR
meillo@165 65 sets the default configuration directory to CONFDIR, in case you
meillo@165 66 prefer another location than /etc/masqmail/.
meillo@0 67
meillo@420 68 --with-piddir=PIDDIR
meillo@421 69 sets the directory for the pid file of the daemon. The default and usual
meillo@420 70 location is /var/run, but some GNU/Linux distributions have converted
meillo@421 71 to /run. It gets created on program startup if missing.
meillo@421 72
meillo@421 73 --with-lockdir=LOCKDIR
meillo@421 74 sets the default directory for lock file for spooled messages. Default
meillo@421 75 is /var/lock/masqmail. It gets created on program startup if missing.
meillo@420 76
meillo@0 77
meillo@165 78 --disable-resolver
meillo@175 79 disables resolver support. Without the resolver functions, masqmail
meillo@165 80 uses only gethostbyname() to resolve DNS names, and you cannot send
meillo@165 81 mail without a smart host. Not recommended.
meillo@0 82
meillo@364 83 --disable-auth
meillo@364 84 disables ESMTP AUTH support (enabled by default)
meillo@364 85
meillo@165 86
meillo@165 87 --disable-debug
meillo@175 88 disables debugging; setting it on the command line or in the
meillo@175 89 configuration has no effect. Strongly discouraged, since you miss
meillo@175 90 valuable information if something goes wrong.
meillo@0 91
meillo@59 92
meillo@59 93
meillo@165 94 Checking the installation
meillo@165 95 -------------------------
meillo@0 96
meillo@0 97 Check that 'make install' worked correctly. The following command:
meillo@0 98
meillo@195 99 ls -ld /usr/local/sbin/masqmail /etc/masqmail /var/log/masqmail/ \
meillo@419 100 /var/spool/masqmail/ /var/spool/masqmail/*
meillo@0 101
meillo@0 102 should give output similar to
meillo@0 103
meillo@165 104 -rwsr-xr-x 1 root root 399356 May 10 12:34 /usr/local/sbin/masqmail
meillo@59 105 drwxr-xr-x 2 root root 4096 May 10 12:34 /etc/masqmail
meillo@358 106 drwxr-xr-x 2 mail mail 4096 May 10 12:34 /var/log/masqmail
meillo@358 107 drwxr-xr-x 5 mail mail 4096 May 10 12:34 /var/spool/masqmail
meillo@358 108 drwxr-xr-x 2 mail mail 4096 May 10 12:34 /var/spool/masqmail/input
meillo@0 109
meillo@165 110 Important are the set-user-id bit for /usr/local/sbin/masqmail and
meillo@421 111 the ownership of the directories.
meillo@0 112
meillo@0 113
meillo@59 114
meillo@165 115 Making masqmail the default
meillo@165 116 ---------------------------
meillo@0 117
meillo@165 118 `sendmail' is the de-facto standard name of the system's MTA, no
meillo@165 119 matter which MTA actually runs. If you want to make masqmail the
meillo@185 120 system's MTA (i.e. replace sendmail, postfix, etc), make two symbolic
meillo@185 121 links:
meillo@0 122
meillo@165 123 ln -s /usr/local/sbin/masqmail /usr/lib/sendmail
meillo@185 124 ln -s /usr/local/sbin/masqmail /usr/sbin/sendmail
meillo@0 125
meillo@165 126 Now every mailer that used to call sendmail will now call masqmail.
meillo@165 127 If you already had an MTA installed and running, you can kill it and
meillo@165 128 start masqmail. Probably with:
meillo@59 129
meillo@165 130 /etc/init.d/sendmail restart
meillo@59 131
meillo@165 132 If this doesn't work as expected, you might need to add a special init
meillo@165 133 script for masqmail. Currently none is distributed with masqmail.
meillo@165 134 (Hopefully this will change soon.) Please ask on the mailing list for
meillo@165 135 help.
meillo@59 136
meillo@165 137 You can also directly start masqmail as daemon with:
meillo@59 138
meillo@165 139 /usr/local/sbin/masqmail -bd -q30m
meillo@59 140
meillo@59 141
meillo@59 142
meillo@165 143 Basic Configuration
meillo@165 144 -------------------
meillo@59 145
meillo@165 146 The only thing you must configure in order to use masqmail is the
meillo@165 147 hostname. It's the name under which masqmail operates. In most cases
meillo@165 148 it is the same as the machine's name, but it can be different.
meillo@59 149
meillo@227 150 The script `admin/guess-hostname' tries to print the hostname of
meillo@165 151 your machine. The first output line is probably the best choice.
meillo@59 152
meillo@165 153 Create a minimal config with:
meillo@59 154
meillo@165 155 echo "host_name = HOSTNAME" >/etc/masqmail/masqmail.conf
meillo@59 156
meillo@165 157 (Substitute `HOSTNAME' with the real value, of course.)
meillo@59 158
meillo@165 159 Such a setup (i.e. the default one) does:
meillo@165 160 - deliver mail locally
meillo@206 161 - accept mail on stdin (plain text)
meillo@206 162 - accept mail on stdin (SMTP) (if started with -bs)
meillo@206 163 - accept mail on the local port 25 (SMTP) (if started with -bd)
meillo@185 164
meillo@165 165 It does not
meillo@185 166 - transfer mail to other machines
meillo@165 167 - accept mail from outside your machine
meillo@59 168
meillo@59 169
meillo@165 170 For more elaborate setups, have a look at docs/*setup and
meillo@165 171 docs/INSTALL*. You can also take the example configuration files in
meillo@165 172 examples/ as basis for your own. Take the man pages masqmail.conf(5)
meillo@165 173 and masqmail.route(5) for reference.
meillo@92 174
meillo@165 175 All configuration files should go into /etc/masqmail.
meillo@59 176
meillo@59 177
meillo@59 178
meillo@59 179 Written by oku.
meillo@165 180 Improved by meillo.