home *** CD-ROM | disk | FTP | other *** search
- mini-HOWTO install qmail with MH
- Christopher Richardson (rdn@tara.n.eunet.de)
- v1.3 13.06.97
-
- I am just documenting my installation experiences to offer some help
- to other users who wish to use the above combination for their email.
-
- 1. Introduction
-
- My thanks to all netizens who have helped me, especially Tony Nugent
- (tony@trishul.sci.gu.edu.au), David Summers
- (david@summersoft.fay.ar.us) and S.u.S.E ( Linux distribution) who has
- made installing Linux so much easier, and the authors of the above
- excellent programs.
-
- What is qmail and why should I use it? Here is the author┤s (Dan
- Bernstein) blurb:
-
- qmail is a secure, reliable, efficient, simple message transfer agent.
- It is meant as a replacement for the entire sendmail-binmail system on
- typical Internet-connected UNIX hosts. Secure: Security isn't just a
- goal, but an absolute requirement. Mail delivery is critical for
- users; it cannot be turned off, so it must be completely secure. (This
- is why I started writing qmail: I was sick of the security holes in
- sendmail and other MTAs.) Reliable: qmail's straight-paper-path
- philosophy guarantees that a message, once accepted into the system,
- will never be lost. qmail also supports maildir, a new, super-reliable
- user mailbox format. Maildirs, unlike mbox files and mh folders, won't
- be corrupted if the system crashes during delivery. Even better, not
- only can a user safely read his mail over NFS, but any number of NFS
- clients can deliver mail to him at the same time. Efficient: On a
- Pentium under BSD/OS, qmail can easily sustain 200000 local messages
- per day---that's separate messages injected and delivered to mailboxes
- in a real test! Although remote deliveries are inherently limited by
- the slowness of DNS and SMTP, qmail overlaps 20 simultaneous
- deliveries by default, so it zooms quickly through mailing lists.
- (This is why I finished qmail: I had to get a big mailing list set
- up.) Simple: qmail is vastly smaller than any other Internet MTA.
- Some reasons why: (1) Other MTAs have separate forwarding, aliasing,
- and mailing list mechanisms. qmail has one simple forwarding mechanism
- that lets users handle their own mailing lists. (2) Other MTAs offer a
- spectrum of delivery modes, from fast+unsafe to slow+queued. qmail-
- send is instantly triggered by new items in the queue, so the qmail
- system has just one delivery mode: fast+queued. (3) Other MTAs
- include, in effect, a specialized version of inetd that watches the
- load average. qmail's design inherently limits the machine load, so
- qmail-smtpd can safely run from your system's inetd. Replacement for
- sendmail: qmail supports host and user masquerading, full host hiding,
- virtual domains, null clients, list-owner rewriting, relay control,
- double-bounce recording, arbitrary RFC 822 address lists, cross-host
- mailing list loop detection, per-recipient checkpointing, downed host
- backoffs, independent message retry schedules, etc. In short, it's up
- to speed on modern MTA features. qmail also includes a drop-in
- ``sendmail'' wrapper so that it will be used transparently by your
- current UAs.
-
- 2. My System Details
-
- Cyrix 6x86, with the SuSE Linux Distribution. Kernel patched to 2.0.28
- with the unofficial Cyrix patch ( from http://www.escnet.com/). Elsa
- Winner Trio +64 graphics card.
- PPP link to ISP
-
- 3. Qmail Installation
-
- Follow the INSTALL instructions exactly.
-
- Notes:
-
- Please take the time to read the Fine documentation completely. The
- numerals refer to the installation steps in the above INSTALL doc.
-
- ╖ 2 - I had to set up the groups and users manually as per
- INSTALL.ids
-
- ╖ 7 - ./qmail-makectl did not work on my system. I added my domain
- name (mickey.n.eunet.de) manually in /var/qmail/control/me
-
- ╖ 23 - Make sure qmail-smtpd is spelt correctly in the inetd-conf
- file. (I spelt it incorrectly i.e. qmail-smptd, which took me two
- days to find:( ) smtp stream tcp nowait qmaild
- /var/qmail/bin/tcp-env tcp-env /var/qmail/bin/qmail-smtpd
-
- 3.1. Maildir2smtp
-
- Dan Bernstein has provided a package for sending queued email to an
- ISP via dial-in. This package is available as serialmailxxx from his
- site.
-
- Install this package as described in the man page (Thanks Rupert
- Mazzucco (maz@pap.univie.ac.at), it works out of the box!
-
- maildir2smtp - blast a maildir across SMTP
-
- maildir2smtp is designed to pass messages along a SLIP or
- PPP link. To set this up on the disconnected end, create
- a new maildir in alias:
-
- # maildirmake ~alias/pppdir
- # chown -R alias ~alias/pppdir
-
- Put
-
- :alias-ppp
-
- into control/virtualdomains and
-
- ./pppdir/
-
- into ~alias/.qmail-ppp-default. Don't forget the extra
- slash in pppdir/. Then, in the PPP startup script, do
-
- maildir2smtp ~alias/pppdir alias-ppp- $IP `hostname`
-
- replacing $IP with the remote IP address.
-
- Notes:
-
- ╖ Please read the Fine manual page completely.
-
- ╖ Maildir2smtp requires the dotted IP address of your mail server. If
- you do not have this then ping YourMail.host.country which will
- return the IP.
-
- ╖ This command can be included in your login script to flush all
- queued mail after logging in to your ISP.
-
- 4. MH Installation
-
- In addition to this, I also replaced /mh-6.8.4/mts/sendmail/smail.c
- with Dan Bernstein┤s mh-qmail-smail.c
-
- This is what my mh-6.8.4/conf/MH looks like:
-
- ______________________________________________________________________
-
- bin /usr/bin/mh
- etc /usr/lib/mh
- #mail
- #mandir /usr/man
- #manuals standard
- chown /bin/chown
- #cp cp
- #ln ln
- #remove mv -f
- cc gcc
- ccoptions -traditional -O2 -m486 -D_NFILE='getdtablesize()'
- -DSIGEMT=SIGUSR1
- curses -lncurses
- #ldoptions -s
- #ldoptlibs
- lex flex
- #oldload off
- #ranlib on
- mts sendmail
- #mf off
- #bboards off
- #bbdelivery off
- #bbhome /usr/spool/bboards
- pop on
- popdir /usr/lib/mh
- sharedlib sys5
- slflags -fPIC
- slibdir /usr/lib
- mailgroup mail
- signal void
- sprintf int
- #editor prompter
- #debug off
- #regtest off
- options ATHENA
- options BIND
- options DPOP
- options DUMB
- options FCNTL
- options MHE
- options MHRC
- options MIME
- options MORE='"/usr/bin/less"'
- options OVERHEAD
- options POP2
- options POPSERVICE='"pop3"'
- options RENAME
- options RPATHS
- options RPOP
- options SOCKETS
- options SVR4
- options SYS5
- options SYS5DIR
- options TERMINFO
- options UNISTD
- options VSPRINTF
-
- ______________________________________________________________________
-
- Notes:
-
- ╖ I have only compiled ``mts sendmail'' - read in comp.mail.mh
- somewhere that /smtp can cause problems. Dominic Mitchell
- (hdm@demon.net) wrote in comp.mail.mh (13 June 1997):
-
- ``Not quite. With this option MH still talks SMTP, just over a pipe
- and not over a network. You *really* need a line in your
- /.mh_profile which says:
-
- postproc: /usr/local/nmh/lib/spost
-
- Or whever it's kept on your system. This will pass the message
- directly to sendmail in the traditional manner. You're using qmail
- of course, so sendmail will be qmail's wrapper script, but that's
- just fine.'' Thanks Dominic.
-
- ╖ I have remmed out ``mail'' because I want to control it via
- mtstailor
-
- 4.1. mtstailor
-
- As qmail delivers mail to the home directory (~/Mailbox). I added the
- following to my mtstailor
-
- localname: mickey
- localdomain: n.eunet.de
- mmdfldir:
- mmdflfil: Mailbox
- uucpldir:
- uucplfil:
- mmdelim1: \001\001\001\001\n
- mmdelim2: \001\001\001\001\n
- mmailid: 0
- umincproc:
- lockldir:
- sendmail: /usr/lib/sendmail
-
- Notes:
-
- ╖ sendmail: /usr/lib/sendmail is a link to the qmail sendmail wrapper
- in /var/qmail/bin
-
- ╖ MH does not like the tilde notation (~/) use /home instead or leave
- blank which according to the docs defaults to $HOME.
-
- ╖ I recently installed MH and qmail on my office machine which is
- connect via ethernet. I added the following line to mtstailor:
-
- servers: mailserver.company.country
-
- 4.2. mh_profile
-
- Here is my .mh_profile
-
- Path: Mail
- draft-folder: drafts
- unseen-sequence: unseen
- AliasFile: /home/rdn/.mh_aliases
- send: -msgid
- comp: -form /home/rdn/.mymh-components
- MailDrop: /home/rdn/Mailbox
-
- Notes:
-
- ╖ I put in the MailDrop line to be ``sure to be sure''.
-
- 5. Fetchmail
-
- I decided to use fetchmail because I have a multiuser (my family :).
- Linux and fetchmail delivers mail to the smtp port where qmail takes
- over.
-
- Installation was no problem, but I have not got the multidrop working
- correctly.
-
- Here is my .fetchmailrc
-
- poll PersonalMail.Germany.EU.net
- protocol pop3
- username myname
- password mypassword
-
- 6. Exmh
-
- This is my mailer by choice. I love it.
-
- There is one problem - most pre-compiled TCL/TK packages have the
- security option compiled in. The following script .xserverrc.secure
- which came with SuSE solves this.
-
- ______________________________________________________________________
-
- #!/bin/sh
-
- #
- # move this file to ~/.xserverrc, if you don't want to allow everybody to
- # get access to your X-Server
- #
- if [ -x /usr/bin/keygen ]; then
- if [ ! -x /usr/bin/hostname -a ! -x /bin/hostname \
- -a ! -x /usr/bsd/hostname ];
- then
- echo "startx: can't get my hostname - exiting"
- exit 1
- else
- host=`hostname`
- fi
-
- xauth add $host:0 . `/usr/bin/keygen`
- sleep 2
- xauth add $host/"unix":0 . `/usr/bin/keygen`
- exec X :0 -auth .Xauthority $*
- else
- exec X :0 $*
- fi
- ______________________________________________________________________
-
- 7. Disclaimers
-
- The usual no guarantees, no money back, use at your own risk.
-
- 8. Procmail
-
- The qmail FAQ gives this command:
-
- In /.qmail add the line
-
- | preline procmail
-
- On my system this works iff when using vi to generate the .qmail file,
- I included an empty line after the command.
-
- I recompiled the procmail package with my defaults. I added a link
- from my /usr/local/bin/procmail to /bin/procmail, because I was not
- sure that the command could find procmail in /usr/local/bin.
-
- Procmail is an excellently documented program. Read the man pages for
- examples on how to set up your .procmailrc file.
-
- 9. Sources
-
- Required Packages
-
- ╖ Find Qmail, setserial on http://pobox.com/~djb/qmail.html for other
- qmail-related software and a pointer to the qmail mailing list.
-
- ╖ Find MH on ftp.ics.uci.edu:/pub/mh
-
- Tony Nugent has prepared a patch for the clean mh-6.8.3 sources
- (patch available ftp://ftp.gw.com/pub/unix/mail/mh/patches/linux/).
-
- ╖ Find Metamail (for MIME support, including 8-bit charsets) on
- ftp.bellcore.com:/pub/nsb
-
- ╖ Find Fetchmail on ftp://ftp.ccil.org/pub/esr/fetchmail Or you can
- get it from Eric's home page: http://www.ccil.org/~esr
-
- ╖ Find Glimpse, the full text search engine, at University of
- Arizona: http://glimpse.cs.arizona.edu:1994/
-
- ╖ Find Exmh ftp.sunlabs.com/pub/tcl/exmh/
-
- ╖ Find TCL and TK on ftp.sunlabs.com:/pub/tcl
- ftp.aud.alcatel.com:/tcl ftp.cs.berkeley.edu:/ucb/tcl
-
-