masqmail

changeset 165:f72de1e00fa5

updated and improved INSTALL
author meillo@marmaro.de
date Thu, 08 Jul 2010 22:02:22 +0200
parents 5b621742b2e7
children 0ef0f756280b
files INSTALL
diffstat 1 files changed, 114 insertions(+), 109 deletions(-) [+]
line diff
     1.1 --- a/INSTALL	Thu Jul 08 22:01:33 2010 +0200
     1.2 +++ b/INSTALL	Thu Jul 08 22:02:22 2010 +0200
     1.3 @@ -5,18 +5,26 @@
     1.4  Installation instructions
     1.5  -------------------------
     1.6  
     1.7 -To compile masqmail you need glib 1.2 (http://www.gtk.org).
     1.8 +To compile masqmail you need glib (>= 1.2) (http://www.gtk.org). Your
     1.9 +distribution probably provides it.
    1.10  
    1.11 -You need a user and a group for masqmail to run, I suggest user
    1.12 -'mail' and group 'trusted'. Say:
    1.13 +You need a user and a group for masqmail to run. If
    1.14 +
    1.15 +	grep '^mail:' /etc/passwd
    1.16 +	grep '^trusted:' /etc/group
    1.17 +
    1.18 +shows that the user `mail' and the group `trusted' exist, it's
    1.19 +probably best to use these. If they don't exist, create them:
    1.20  
    1.21  	groupadd -g 42 trusted
    1.22 -	useradd -u 42 -g 42 -d / -s /bin/sh -c "Mail Transfer Agent" mail
    1.23 +	useradd -u 23 -g 42 -d / -s /bin/sh -c "Mail Transfer Agent" mail
    1.24  
    1.25 -If you use other names than 'mail' and 'trusted' use the options
    1.26 -described below for configure. The 42 is just a suggestion, you can
    1.27 -use any number you like, but preferably one < 100. It does not have
    1.28 -to be the same for the user 'mail' and the group 'trusted'.
    1.29 +If you use other names than `mail' and `trusted' use the options
    1.30 +described below for configure. The 23 and 42 are just a suggestion,
    1.31 +you can use any (not yet used) number you like, but preferably one
    1.32 +lower than 100. It does not have to be the same for the user `mail'
    1.33 +and the group `trusted'.
    1.34 +
    1.35  
    1.36  Compliling is a matter of the usual procedure. In the source directory,
    1.37  after unpacking do:
    1.38 @@ -34,77 +42,88 @@
    1.39  
    1.40  	./configure -h
    1.41  
    1.42 -Here is additional, but maybe obsolete, explanation:
    1.43 +Here is a selection of the options with additional explanations:
    1.44  
    1.45 ---with-user=USER sets the user as which MasqMail will run. Default is
    1.46 -'mail'. USER has to exist before you 'make install'.
    1.47 +--with-user=USER
    1.48 +sets the user as which masqmail will run. Default is 'mail'. USER has
    1.49 +to exist before you 'make install'.
    1.50  
    1.51 ---with-group=GROUP sets the group as which MasqMail will run. Default
    1.52 -is 'trusted'. GROUP has to exist before you 'make install'.
    1.53 +--with-group=GROUP
    1.54 +sets the group as which masqmail will run. Default is 'trusted'. GROUP
    1.55 +has to exist before you 'make install'.
    1.56  
    1.57 ---with-logdir=LOGDIR sets the directory where MasqMail stores its log
    1.58 -files. It will be created if it does not exist. Default is /var/masqmail/.
    1.59  
    1.60 ---with-spooldir=SPOOLDIR sets the directory where MasqMail stores its
    1.61 -spool files. It will be created if it does not exist. Default is
    1.62 -/var/spool/masqmail/.
    1.63 +--with-logdir=LOGDIR
    1.64 +sets the directory where masqmail stores its log files. It will be
    1.65 +created if it does not exist. Default is /var/log/masqmail/.
    1.66  
    1.67 ---with-confdir=CONFDIR sets the default configuration directory to
    1.68 -CONFDIR, in case you prefer another location than /etc/masqmail/.
    1.69 +--with-spooldir=SPOOLDIR
    1.70 +sets the directory where masqmail stores its spool files. It will be
    1.71 +created if it does not exist. Default is /var/spool/masqmail/.
    1.72  
    1.73 ---enable-auth enables ESMTP AUTH support (disabled by default)
    1.74 +--with-confdir=CONFDIR
    1.75 +sets the default configuration directory to CONFDIR, in case you
    1.76 +prefer another location than /etc/masqmail/.
    1.77  
    1.78 ---enable-pop3 enables pop3 support (disabled by default)
    1.79  
    1.80 ---enable-maildir enables qmail style Maildir support (disabled by default)
    1.81 +--enable-auth
    1.82 +enables ESMTP AUTH support (disabled by default)
    1.83  
    1.84 ---enable-ident enable RFC 1413 support. If you have the libident
    1.85 -dynamic library installed, this will be linked, otherwise it will be
    1.86 -statically linked using the sources included in the package.
    1.87 +--enable-maildir
    1.88 +enables qmail style Maildir support (disabled by default)
    1.89  
    1.90 ---disable-resolver disable resolver support. Without the resolver functions,
    1.91 -masqmail uses only gethostbyname() to resolve DNS names, and you cannot send
    1.92 -mail without a smart host. Not recommended. You save 3K at most.
    1.93 +--enable-ident
    1.94 +enable RFC 1413 support. If you have the libident dynamic library
    1.95 +installed, this will be linked, otherwise it will be statically linked
    1.96 +using the sources included in the package.
    1.97  
    1.98 ---disable-smtp-server disable SMTP server support. You may want this if you do
    1.99 -not need masqmail to listen. In this case, you cannot use masqmail as a smart
   1.100 -host for other hosts on your LAN, you cannot use mail clients that send SMTP,
   1.101 -you cannot even use pine. In short, use of this option is discouraged unless
   1.102 -your resources are extremely limited.
   1.103 +--enable-pop3
   1.104 +enables pop3 support (disabled by default)
   1.105  
   1.106 ---with-libcryto instead of using the md5 and hmac functions within the package,
   1.107 -link dynamically with libcrypto. This applies only if you have pop3 or SMTP
   1.108 -AUTH enabled. Makes only sense if your resources are limited and you have
   1.109 -libcrypto installed. Untested.
   1.110 +--disable-resolver
   1.111 +disable resolver support. Without the resolver functions, masqmail
   1.112 +uses only gethostbyname() to resolve DNS names, and you cannot send
   1.113 +mail without a smart host. Not recommended.
   1.114  
   1.115 ---with-glib-static link with glib statically. This makes the binary larger
   1.116 -by around 30K (i386 architecture), but if masqmail is the only binary using
   1.117 -glib, you save some space in total, because you do not need the shared glib
   1.118 +--disable-smtp-server
   1.119 +disable SMTP server support. You may want this if you do not need
   1.120 +masqmail to listen. In this case, you cannot use masqmail as a smart
   1.121 +host for other hosts on your LAN, you cannot use mail clients that
   1.122 +send SMTP, you cannot even use pine. In short, use of this option is
   1.123 +discouraged unless your resources are extremely limited.
   1.124 +
   1.125 +
   1.126 +--with-libcryto
   1.127 +instead of using the md5 and hmac functions within the package, link
   1.128 +dynamically with libcrypto. This applies only if you have pop3 or SMTP
   1.129 +AUTH enabled. Makes only sense if your resources are limited and you
   1.130 +have libcrypto installed. Untested.
   1.131 +
   1.132 +--with-glib-static
   1.133 +link with glib statically. This makes the binary larger by around 30K
   1.134 +(i386 architecture), but if masqmail is the only binary using glib,
   1.135 +you save some space in total, because you do not need the shared glib
   1.136  library installed.
   1.137  
   1.138 ---disable-debug disable debugging, setting it on by command line or configuration
   1.139 -has no effect. Strongly discouraged, since you miss valuable information if something
   1.140 -goes wrong. You save 6K.
   1.141  
   1.142 -BTW, to get 3K of space, call
   1.143 -strip --remove-section=.comment --remove-section=.note --strip-unneeded src/masqmail
   1.144 +--disable-debug
   1.145 +disable debugging, setting it on by command line or configuration has
   1.146 +no effect. Strongly discouraged, since you miss valuable information
   1.147 +if something goes wrong.
   1.148  
   1.149  
   1.150  
   1.151 -after make install:
   1.152 --------------------
   1.153 -
   1.154 -You can also use these instructions to omit 'make install' if you do
   1.155 -not want to use it.
   1.156 +Checking the installation
   1.157 +-------------------------
   1.158  
   1.159  Check that 'make install' worked correctly. The following command:
   1.160  
   1.161 -	ls -ld /usr/sbin/masqmail /etc/masqmail /var/log/masqmail/ \
   1.162 +	ls -ld /usr/local/sbin/masqmail /etc/masqmail /var/log/masqmail/ \
   1.163  	       /var/run/masqmail /var/spool/masqmail/ /var/spool/masqmail/* 
   1.164  
   1.165  should give output similar to
   1.166  
   1.167 -	-rwsr-xr-x 1 root root    399356 May 10 12:34 /usr/sbin/masqmail
   1.168 +	-rwsr-xr-x 1 root root    399356 May 10 12:34 /usr/local/sbin/masqmail
   1.169  	drwxr-xr-x 2 root root      4096 May 10 12:34 /etc/masqmail
   1.170  	drwxr-xr-x 2 mail trusted   4096 May 10 12:34 /var/log/masqmail
   1.171  	drwxr-xr-x 2 mail trusted   4096 May 10 12:34 /var/run/masqmail
   1.172 @@ -113,85 +132,71 @@
   1.173  	drwxr-xr-x 2 mail trusted   4096 May 10 12:34 /var/spool/masqmail/lock
   1.174  	drwxr-xr-x 2 mail trusted   4096 May 10 12:34 /var/spool/masqmail/popuidl
   1.175  
   1.176 -(important is the set-user-id bit for /usr/sbin/masqmail and the
   1.177 -ownership of all items).
   1.178 +Important are the set-user-id bit for /usr/local/sbin/masqmail and
   1.179 +the permissions of all files.
   1.180  
   1.181 -Use the example configuration files in examples/ to edit your own. The
   1.182 -main configuration file `masqmail.conf' and the *.route and *.get files
   1.183 -should go into /etc/masqmail.
   1.184  
   1.185 -The default destination for the executable `masqmail' is /usr/sbin.
   1.186 -Check that it has the set-uid bit set. You can set it with:
   1.187  
   1.188 -	chmod u+s /usr/sbin/masqmail
   1.189 +Making masqmail the default
   1.190 +---------------------------
   1.191  
   1.192 -If you want to replace sendmail, move your old sendmail binary to
   1.193 -another name and make a symbolic link:
   1.194 +`sendmail' is the de-facto standard name of the system's MTA, no
   1.195 +matter which MTA actually runs. If you want to make masqmail the
   1.196 +system's MTA (i.e. replace sendmail, postfix, etc), make a symbolic
   1.197 +link:
   1.198  
   1.199 -	ln -s /usr/sbin/masqmail /usr/sbin/sendmail
   1.200 +	ln -s /usr/local/sbin/masqmail /usr/lib/sendmail
   1.201  
   1.202 -Now every mailer that used to call sendmail will now call masqmail. You
   1.203 -can now kill your old sendmail if it is running and start masqmail.
   1.204 +Now every mailer that used to call sendmail will now call masqmail.
   1.205 +If you already had an MTA installed and running, you can kill it and
   1.206 +start masqmail. Probably with:
   1.207  
   1.208 -	/sbin/init.d/sendmail restart
   1.209 +	/etc/init.d/sendmail restart
   1.210  
   1.211 -should do that. You can also start masqmail with:
   1.212 +If this doesn't work as expected, you might need to add a special init
   1.213 +script for masqmail. Currently none is distributed with masqmail.
   1.214 +(Hopefully this will change soon.) Please ask on the mailing list for
   1.215 +help.
   1.216  
   1.217 -	/usr/sbin/masqmail -bd -q30m
   1.218 +You can also directly start masqmail as daemon with:
   1.219  
   1.220 +	/usr/local/sbin/masqmail -bd -q30m
   1.221  
   1.222  
   1.223 -Configuring for online delivery
   1.224 --------------------------------
   1.225  
   1.226 -(This section covers dial-up internet connections.)
   1.227 +Basic Configuration
   1.228 +-------------------
   1.229  
   1.230 -Now you have to set up the online configuration. The trick is to tell
   1.231 -your ip-up script the connection name. You could use the IP number of
   1.232 -the far side of the ppp link, but this is a pain and may change each
   1.233 -time. But you can give it an additional argument via pppd with ipparam.
   1.234 -Somewhere in your dial up script you have a line similar to:
   1.235 +The only thing you must configure in order to use masqmail is the
   1.236 +hostname. It's the name under which masqmail operates. In most cases
   1.237 +it is the same as the machine's name, but it can be different.
   1.238  
   1.239 -	/usr/sbin/pppd /dev/ttyS1 connect "/usr/sbin/chat -t 90 -f $CHATFILE" \
   1.240 -	-d -d -d user user@somewhere file "$OPTIONS"
   1.241 +The script `contrib/guess-hostname' tries to print the hostname of
   1.242 +your machine. The first output line is probably the best choice.
   1.243  
   1.244 -Just add 'ipparam FastNet' in the command line for pppd if your ISP has
   1.245 -the name FastNet. The ip-up script will then get 'FastNet' as a sixth
   1.246 -parameter. In your ip-up script you can then call masqmail with
   1.247 +Create a minimal config with:
   1.248  
   1.249 -	/usr/sbin/masqmail -qo "$6"
   1.250 +	echo "host_name = HOSTNAME" >/etc/masqmail/masqmail.conf
   1.251  
   1.252 -instead of 'sendmail -q', if you had that in the script before.
   1.253 -Masqmail will then read the route configuration specified for the
   1.254 -connection name 'FastNet' and deliver the mail destined to the internet.
   1.255 -See the configuration manual on how to write a route configuration or
   1.256 -use one of the examples as a template.
   1.257 +(Substitute `HOSTNAME' with the real value, of course.)
   1.258  
   1.259 -I do not know how do configure that for an ISDN adapter, but I am sure
   1.260 -you will find something similar in the man pages.
   1.261 +Such a setup (i.e. the default one) does:
   1.262 +- deliver mail locally
   1.263 +- accept mail from local (via stdin)
   1.264 +- accept mail on localhost:25 (via SMTP)
   1.265 +It does not
   1.266 +- transfer any mail to other machines
   1.267 +- accept mail from outside your machine
   1.268  
   1.269 -If you want mail that is received by masqmail from your local net to be
   1.270 -delivered immediately using the route configuration, you have two
   1.271 -possibilities:
   1.272  
   1.273 -* if you are using the masqdialer system, you just have to set the
   1.274 -  variables online_detect to pipe and online_pipe to something like
   1.275 -	/usr/bin/mservdetect localhost 224
   1.276 -  if mserver is running on localhost and listens on port 224. See the
   1.277 -  man page to mservdetect(1).
   1.278 +For more elaborate setups, have a look at docs/*setup and
   1.279 +docs/INSTALL*. You can also take the example configuration files in
   1.280 +examples/ as basis for your own. Take the man pages masqmail.conf(5)
   1.281 +and masqmail.route(5) for reference.
   1.282  
   1.283 -* otherwise you have to add two commands in your ip-up script:
   1.284 -	echo "$6" >/var/run/masqmail/masqmail-route
   1.285 -	chmod 644 /var/run/masqmail/masqmail-route
   1.286 -  and you have to remove the file /var/run/masqmail/masqmail-route in
   1.287 -  your ip-down script:
   1.288 -	rm /var/run/masqmail/masqmail-route
   1.289 -  Then you have to set online_detect to file and online_file to
   1.290 -  /var/run/masqmail/masqmail-route
   1.291 -
   1.292 -See the route documentation for more.
   1.293 +All configuration files should go into /etc/masqmail.
   1.294  
   1.295  
   1.296  
   1.297  Written by oku.
   1.298 -Updated by meillo.
   1.299 +Improved by meillo.