view INSTALL @ 179:ec3fe72a3e99

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.
date Fri, 03 Jun 2011 09:52:17 +0200
parents dbe3dadd1afe
line source
1 Additional information may be available in docs/ or on the website.
2 For installing on GNU/Linux distributions read docs/INSTALL.linux.
5 Installation instructions
6 -------------------------
8 To compile masqmail you need glib 1.2 (
10 You need a user and a group for masqmail to run, I suggest user
11 'mail' and group 'trusted'. Say:
13 groupadd -g 42 trusted
14 useradd -u 42 -g 42 -d / -s /bin/sh -c "Mail Transfer Agent" mail
16 If you use other names than 'mail' and 'trusted' use the options
17 described below for configure. The 42 is just a suggestion, you can
18 use any number you like, but preferably one < 100. It does not have
19 to be the same for the user 'mail' and the group 'trusted'.
21 Compiling is a matter of the usual procedure. In the source directory,
22 after unpacking do:
24 ./configure
25 make
26 make install
30 Additional options for configure
31 --------------------------------
33 See the output of
35 ./configure -h
37 Here is additional, but maybe obsolete, explanation:
39 --with-user=USER sets the user as which MasqMail will run. Default is
40 'mail'. USER has to exist before you 'make install'.
42 --with-group=GROUP sets the group as which MasqMail will run. Default
43 is 'trusted'. GROUP has to exist before you 'make install'.
45 --with-logdir=LOGDIR sets the directory where MasqMail stores its log
46 files. It will be created if it does not exist. Default is /var/masqmail/.
48 --with-spooldir=SPOOLDIR sets the directory where MasqMail stores its
49 spool files. It will be created if it does not exist. Default is
50 /var/spool/masqmail/.
52 --with-confdir=CONFDIR sets the default configuration directory to
53 CONFDIR, in case you prefer another location than /etc/masqmail/.
55 --enable-auth enables ESMTP AUTH support (disabled by default)
57 --disable-pop3 disables POP3 support (enabled by default)
59 --enable-maildir enables qmail style Maildir support (disabled by default)
61 --enable-ident enables RFC 1413 support. If you have the libident
62 dynamic library installed, this will be linked, otherwise it will be
63 statically linked using the sources included in the package.
65 --disable-resolver disables resolver support. Without the resolver functions,
66 masqmail uses only gethostbyname() to resolve DNS names, and you cannot send
67 mail without a smart host. Not recommended. You save 3K at most.
69 --disable-smtp-server disables SMTP server support. You may want this if you do
70 not need masqmail to listen. In this case, you cannot use masqmail as a smart
71 host for other hosts on your LAN, you cannot use mail clients that send SMTP,
72 you cannot even use pine. In short, use of this option is discouraged unless
73 your resources are extremely limited.
75 --enable-mserver enables online detection by connecting to the mserver
76 (masqdialer system).
78 --with-libcryto instead of using the md5 and hmac functions within the package,
79 link dynamically with libcrypto. This applies only if you have POP3 or SMTP
80 AUTH enabled. Only makes sense if your resources are limited and you have
81 libcrypto installed. Untested.
83 --with-glib-static links with glib statically. This makes the binary larger
84 by around 30K (i386 architecture), but if masqmail is the only binary using
85 glib, you save some space in total, because you do not need the shared glib
86 library installed.
88 --disable-debug disables debugging; enabling it by command line or configuration
89 option has no effect. Strongly discouraged, since you miss valuable information
90 if something goes wrong. You save 6K.
92 BTW, to get 3K of space, call
93 strip --remove-section=.comment --remove-section=.note --strip-unneeded src/masqmail
94 after building.
98 after make install:
99 -------------------
101 You can also use these instructions to omit 'make install' if you do
102 not want to use it.
104 Check that 'make install' worked correctly. The following command:
106 ls -ld /usr/local/sbin/masqmail /etc/masqmail /var/log/masqmail/ \
107 /var/run/masqmail /var/spool/masqmail/ /var/spool/masqmail/*
109 should give output similar to
111 -rwsr-xr-x 1 root root 399356 May 10 12:34 /usr/local/sbin/masqmail
112 drwxr-xr-x 2 root root 4096 May 10 12:34 /etc/masqmail
113 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/log/masqmail
114 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/run/masqmail
115 drwxr-xr-x 5 mail trusted 4096 May 10 12:34 /var/spool/masqmail
116 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/spool/masqmail/input
117 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/spool/masqmail/lock
118 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/spool/masqmail/popuidl
120 (important is the set-user-id bit for /usr/local/sbin/masqmail and the
121 ownership of all items).
123 Use the example configuration files in examples/ to edit your own. The
124 main configuration file `masqmail.conf' and the *.route and *.get files
125 should go into /etc/masqmail.
127 The default destination for the executable `masqmail' is /usr/local/sbin.
128 Check that it has the set-uid bit set. You can set it with:
130 chmod u+s /usr/local/sbin/masqmail
132 If you want to replace sendmail, move your old sendmail binary to
133 another name and make a symbolic link:
135 ln -s /usr/local/sbin/masqmail /usr/sbin/sendmail
137 You might also need this link:
139 ln -s /usr/local/sbin/masqmail /usr/lib/sendmail
141 Now every mailer that used to call sendmail will now call masqmail. You
142 can now kill your old sendmail if it is running and start masqmail.
144 /sbin/init.d/sendmail restart
146 should do that. You can also start masqmail with:
148 /usr/local/sbin/masqmail -bd -q30m
152 Configuring for online delivery
153 -------------------------------
155 (This section covers dial-up internet connections.)
157 Now you have to set up the online configuration. The trick is to tell
158 your ip-up script the connection name. You could use the IP number of
159 the far side of the ppp link, but this is a pain and may change each
160 time. But you can give it an additional argument via pppd with ipparam.
161 Somewhere in your dial up script you have a line similar to:
163 /usr/sbin/pppd /dev/ttyS1 connect "/usr/sbin/chat -t 90 -f $CHATFILE" \
164 -d -d -d user user@somewhere file "$OPTIONS"
166 Just add 'ipparam FastNet' in the command line for pppd if your ISP has
167 the name FastNet. The ip-up script will then get 'FastNet' as a sixth
168 parameter. In your ip-up script you can then call masqmail with
170 /usr/local/sbin/masqmail -qo "$6"
172 instead of 'sendmail -q', if you had that in the script before.
173 Masqmail will then read the route configuration specified for the
174 connection name 'FastNet' and deliver the mail destined to the internet.
175 See the configuration manual on how to write a route configuration or
176 use one of the examples as a template.
178 I do not know how do configure that for an ISDN adapter, but I am sure
179 you will find something similar in the man pages.
181 If you want mail that is received by masqmail from your local net to be
182 delivered immediately using the route configuration, you have two
183 possibilities:
185 * if you are using the masqdialer system, you just have to set the
186 variables online_detect to pipe and online_pipe to something like
187 /usr/bin/mservdetect localhost 222
188 if mserver is running on localhost and listens on port 222. See the
189 man page to mservdetect(1).
191 * otherwise you have to add two commands in your ip-up script:
192 echo "$6" >/var/run/masqmail/masqmail-route
193 chmod 644 /var/run/masqmail/masqmail-route
194 and you have to remove the file /var/run/masqmail/masqmail-route in
195 your ip-down script:
196 rm /var/run/masqmail/masqmail-route
197 Then you have to set online_detect to file and online_file to
198 /var/run/masqmail/masqmail-route
200 See the route documentation for more.
204 Written by oku.
205 Updated by meillo.