masqmail-0.2

view INSTALL @ 147:cb42157b3520

improved the Makefile (check diff for details)
author meillo@marmaro.de
date Thu, 08 Jul 2010 00:26:55 +0200
parents 941413084f56
children dbe3dadd1afe
line source
1 Additional information may be available in docs/ or on the website.
2 For installing on GNU/Linux distributions read docs/linux-distris.
5 Installation instructions
6 -------------------------
8 To compile masqmail you need glib 1.2 (http://www.gtk.org).
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 Compliling 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 enable 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 disable 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 disable 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 enable 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. Makes only sense if your resources are limited and you have
81 libcrypto installed. Untested.
83 --with-glib-static link 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 disable debugging, setting it on by command line or configuration
89 has no effect. Strongly discouraged, since you miss valuable information if something
90 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
97 after make install:
98 -------------------
100 You can also use these instructions to omit 'make install' if you do
101 not want to use it.
103 Check that 'make install' worked correctly. The following command:
105 ls -ld /usr/sbin/masqmail /etc/masqmail /var/log/masqmail/ \
106 /var/run/masqmail /var/spool/masqmail/ /var/spool/masqmail/*
108 should give output similar to
110 -rwsr-xr-x 1 root root 399356 May 10 12:34 /usr/sbin/masqmail
111 drwxr-xr-x 2 root root 4096 May 10 12:34 /etc/masqmail
112 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/log/masqmail
113 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/run/masqmail
114 drwxr-xr-x 5 mail trusted 4096 May 10 12:34 /var/spool/masqmail
115 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/spool/masqmail/input
116 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/spool/masqmail/lock
117 drwxr-xr-x 2 mail trusted 4096 May 10 12:34 /var/spool/masqmail/popuidl
119 (important is the set-user-id bit for /usr/sbin/masqmail and the
120 ownership of all items).
122 Use the example configuration files in examples/ to edit your own. The
123 main configuration file `masqmail.conf' and the *.route and *.get files
124 should go into /etc/masqmail.
126 The default destination for the executable `masqmail' is /usr/sbin.
127 Check that it has the set-uid bit set. You can set it with:
129 chmod u+s /usr/sbin/masqmail
131 If you want to replace sendmail, move your old sendmail binary to
132 another name and make a symbolic link:
134 ln -s /usr/sbin/masqmail /usr/sbin/sendmail
136 Now every mailer that used to call sendmail will now call masqmail. You
137 can now kill your old sendmail if it is running and start masqmail.
139 /sbin/init.d/sendmail restart
141 should do that. You can also start masqmail with:
143 /usr/sbin/masqmail -bd -q30m
147 Configuring for online delivery
148 -------------------------------
150 (This section covers dial-up internet connections.)
152 Now you have to set up the online configuration. The trick is to tell
153 your ip-up script the connection name. You could use the IP number of
154 the far side of the ppp link, but this is a pain and may change each
155 time. But you can give it an additional argument via pppd with ipparam.
156 Somewhere in your dial up script you have a line similar to:
158 /usr/sbin/pppd /dev/ttyS1 connect "/usr/sbin/chat -t 90 -f $CHATFILE" \
159 -d -d -d user user@somewhere file "$OPTIONS"
161 Just add 'ipparam FastNet' in the command line for pppd if your ISP has
162 the name FastNet. The ip-up script will then get 'FastNet' as a sixth
163 parameter. In your ip-up script you can then call masqmail with
165 /usr/sbin/masqmail -qo "$6"
167 instead of 'sendmail -q', if you had that in the script before.
168 Masqmail will then read the route configuration specified for the
169 connection name 'FastNet' and deliver the mail destined to the internet.
170 See the configuration manual on how to write a route configuration or
171 use one of the examples as a template.
173 I do not know how do configure that for an ISDN adapter, but I am sure
174 you will find something similar in the man pages.
176 If you want mail that is received by masqmail from your local net to be
177 delivered immediately using the route configuration, you have two
178 possibilities:
180 * if you are using the masqdialer system, you just have to set the
181 variables online_detect to pipe and online_pipe to something like
182 /usr/bin/mservdetect localhost 222
183 if mserver is running on localhost and listens on port 222. See the
184 man page to mservdetect(1).
186 * otherwise you have to add two commands in your ip-up script:
187 echo "$6" >/var/run/masqmail/masqmail-route
188 chmod 644 /var/run/masqmail/masqmail-route
189 and you have to remove the file /var/run/masqmail/masqmail-route in
190 your ip-down script:
191 rm /var/run/masqmail/masqmail-route
192 Then you have to set online_detect to file and online_file to
193 /var/run/masqmail/masqmail-route
195 See the route documentation for more.
199 Written by oku.
200 Updated by meillo.