Mercurial > masqmail
annotate INSTALL @ 323:29de6a1c4538
Fixed an important bug with folded headers!
g_strconcat() returns a *copy* of the string, but hdr->value still
pointed to the old header (which probably was a memory leak, too).
If the folded part had been quite small it was likely that the new
string was at the same position as the old one, thus making everything
go well. But if pretty long headers were folded several times it was
likely that the new string was allocated somewhere else in memory,
thus breaking things. In result mails to lots of recipients (folded
header) were frequently only sent to the ones in the first line. Sorry
for the inconvenience.
author | meillo@marmaro.de |
---|---|
date | Fri, 03 Jun 2011 09:47:27 +0200 (2011-06-03) |
parents | cab46cefa4ce |
children | 92340177150d |
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 |
15 grep '^trusted:' /etc/group | |
16 | |
17 shows that the user `mail' and the group `trusted' exist, it's | |
18 probably best to use these. If they don't exist, create them: | |
0 | 19 |
59 | 20 groupadd -g 42 trusted |
194
346955794084
specified group by name; added path to --with-glib-static
meillo@marmaro.de
parents:
192
diff
changeset
|
21 useradd -u 23 -g trusted -d /nonexistent -s /bin/false -c "masqmail MTA" mail |
0 | 22 |
165 | 23 If you use other names than `mail' and `trusted' use the options |
24 described below for configure. The 23 and 42 are just a suggestion, | |
25 you can use any (not yet used) number you like, but preferably one | |
26 lower than 100. It does not have to be the same for the user `mail' | |
27 and the group `trusted'. | |
28 | |
0 | 29 |
174
dbe3dadd1afe
Documentation improvements in the INSTALL file and some man pages
meillo@marmaro.de
parents:
92
diff
changeset
|
30 Compiling is a matter of the usual procedure. In the source directory, |
59 | 31 after unpacking do: |
0 | 32 |
59 | 33 ./configure |
34 make | |
35 make install | |
0 | 36 |
37 | |
38 | |
59 | 39 Additional options for configure |
40 -------------------------------- | |
0 | 41 |
59 | 42 See the output of |
43 | |
44 ./configure -h | |
45 | |
165 | 46 Here is a selection of the options with additional explanations: |
0 | 47 |
165 | 48 --with-user=USER |
49 sets the user as which masqmail will run. Default is 'mail'. USER has | |
50 to exist before you 'make install'. | |
0 | 51 |
165 | 52 --with-group=GROUP |
53 sets the group as which masqmail will run. Default is 'trusted'. GROUP | |
54 has to exist before you 'make install'. | |
0 | 55 |
165 | 56 |
57 --with-logdir=LOGDIR | |
58 sets the directory where masqmail stores its log files. It will be | |
59 created if it does not exist. Default is /var/log/masqmail/. | |
0 | 60 |
165 | 61 --with-spooldir=SPOOLDIR |
62 sets the directory where masqmail stores its spool files. It will be | |
63 created if it does not exist. Default is /var/spool/masqmail/. | |
0 | 64 |
165 | 65 --with-confdir=CONFDIR |
66 sets the default configuration directory to CONFDIR, in case you | |
67 prefer another location than /etc/masqmail/. | |
68 | |
0 | 69 |
165 | 70 --enable-auth |
71 enables ESMTP AUTH support (disabled by default) | |
0 | 72 |
165 | 73 --enable-ident |
175 | 74 enables RFC 1413 support. If you have the libident dynamic library |
165 | 75 installed, this will be linked, otherwise it will be statically linked |
76 using the sources included in the package. | |
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 |
83 | |
165 | 84 --with-libcryto |
85 instead of using the md5 and hmac functions within the package, link | |
192 | 86 dynamically with libcrypto. This applies only if you have SMTP AUTH |
87 enabled. Only makes sense if your resources are limited and you have | |
88 libcrypto installed. Untested. | |
0 | 89 |
90 | |
165 | 91 --disable-debug |
175 | 92 disables debugging; setting it on the command line or in the |
93 configuration has no effect. Strongly discouraged, since you miss | |
94 valuable information if something goes wrong. | |
0 | 95 |
59 | 96 |
97 | |
165 | 98 Checking the installation |
99 ------------------------- | |
0 | 100 |
101 Check that 'make install' worked correctly. The following command: | |
102 | |
195
5beb5d6d9623
There was still a /usr/sbin/masqmail path
meillo@marmaro.de
parents:
194
diff
changeset
|
103 ls -ld /usr/local/sbin/masqmail /etc/masqmail /var/log/masqmail/ \ |
174
dbe3dadd1afe
Documentation improvements in the INSTALL file and some man pages
meillo@marmaro.de
parents:
92
diff
changeset
|
104 /var/run/masqmail /var/spool/masqmail/ /var/spool/masqmail/* |
0 | 105 |
106 should give output similar to | |
107 | |
165 | 108 -rwsr-xr-x 1 root root 399356 May 10 12:34 /usr/local/sbin/masqmail |
59 | 109 drwxr-xr-x 2 root root 4096 May 10 12:34 /etc/masqmail |
110 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/log/masqmail | |
111 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/run/masqmail | |
112 drwxr-xr-x 5 mail trusted 4096 May 10 12:34 /var/spool/masqmail | |
113 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/spool/masqmail/input | |
114 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/spool/masqmail/lock | |
0 | 115 |
165 | 116 Important are the set-user-id bit for /usr/local/sbin/masqmail and |
117 the permissions of all files. | |
118 | |
119 | |
0 | 120 |
165 | 121 Making masqmail the default |
122 --------------------------- | |
0 | 123 |
165 | 124 `sendmail' is the de-facto standard name of the system's MTA, no |
125 matter which MTA actually runs. If you want to make masqmail the | |
185 | 126 system's MTA (i.e. replace sendmail, postfix, etc), make two symbolic |
127 links: | |
59 | 128 |
165 | 129 ln -s /usr/local/sbin/masqmail /usr/lib/sendmail |
185 | 130 ln -s /usr/local/sbin/masqmail /usr/sbin/sendmail |
0 | 131 |
165 | 132 Now every mailer that used to call sendmail will now call masqmail. |
133 If you already had an MTA installed and running, you can kill it and | |
134 start masqmail. Probably with: | |
59 | 135 |
165 | 136 /etc/init.d/sendmail restart |
59 | 137 |
165 | 138 If this doesn't work as expected, you might need to add a special init |
139 script for masqmail. Currently none is distributed with masqmail. | |
140 (Hopefully this will change soon.) Please ask on the mailing list for | |
141 help. | |
59 | 142 |
165 | 143 You can also directly start masqmail as daemon with: |
59 | 144 |
165 | 145 /usr/local/sbin/masqmail -bd -q30m |
59 | 146 |
0 | 147 |
148 | |
165 | 149 Basic Configuration |
150 ------------------- | |
59 | 151 |
165 | 152 The only thing you must configure in order to use masqmail is the |
153 hostname. It's the name under which masqmail operates. In most cases | |
154 it is the same as the machine's name, but it can be different. | |
59 | 155 |
227 | 156 The script `admin/guess-hostname' tries to print the hostname of |
165 | 157 your machine. The first output line is probably the best choice. |
59 | 158 |
165 | 159 Create a minimal config with: |
59 | 160 |
165 | 161 echo "host_name = HOSTNAME" >/etc/masqmail/masqmail.conf |
59 | 162 |
165 | 163 (Substitute `HOSTNAME' with the real value, of course.) |
59 | 164 |
165 | 165 Such a setup (i.e. the default one) does: |
166 - deliver mail locally | |
206
0241aaccfcdb
default listen_addresses: use 127.0.0.1 instead of `localhost'
meillo@marmaro.de
parents:
205
diff
changeset
|
167 - 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
|
168 - 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
|
169 - accept mail on the local port 25 (SMTP) (if started with -bd) |
185 | 170 |
165 | 171 It does not |
185 | 172 - transfer mail to other machines |
165 | 173 - accept mail from outside your machine |
59 | 174 |
92 | 175 |
165 | 176 For more elaborate setups, have a look at docs/*setup and |
177 docs/INSTALL*. You can also take the example configuration files in | |
178 examples/ as basis for your own. Take the man pages masqmail.conf(5) | |
179 and masqmail.route(5) for reference. | |
59 | 180 |
165 | 181 All configuration files should go into /etc/masqmail. |
59 | 182 |
183 | |
184 | |
185 Written by oku. | |
165 | 186 Improved by meillo. |