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