Previous: Preface | Book Review: Qmail Quickstarter | Next: Chapter 2 |
Expanding on introductory material in the Preface, Chapter 1 starts by outlining qmail's modular architecture, then describes how to compile, install, and configure qmail to achieve a "minimal", or basic, configuration.
Starting on Page 15, under "Administrative Conveniences", the author introduces common ways qmail and its operating environment are modified to provide a more full-featured system. The writeup under "Patches" does a good job tackling a difficult issue for any source code that is widely used for disparate purposes, especially a barely-moving target such as qmail. (That writeup is expanded upon somewhat in Chapter 7, Page 108, under "Patch vs. Wrapper".)
(I was surprised to see no mention of the netqmail
distribution,
or patch set, which has been popular among qmail adherents for years.)
A section titled "The Overall Structure of Qmail", starting on Page 21, further expands on the architectural design of qmail, underscoring the security implications, as well as flexibility, of that design. This section is an example of material that even Windows-only sysadmins and network security analysts might find particularly enlightening.
Under "ucspi-tcp and daemontools" on Page 16, there's no mention of how to obtain and install third-party man pages for these products, which are not provided in the source tarballs. (Documentation is maintained by the author on his web site, but that doesn't work when connectivity is down.)
Under "Logging", on Page 20, I spotted a bit of trouble starting at the top of the page,
where the author
introduces what a log/run
file for the qmail-send
service directory might look like: the final subdirectory name
used is qmail-send/
, whereas, elsewhere in the book,
send/
is used, which makes more sense, given that the
parent directory is named qmail/
.
Indeed, the subdirectory name suggested by the author for containing
qmail-smtpd
log files is smtpd/
, not
qmail-smtpd/
as one might have expected from the earlier
example.
(In a "Life with Qmail" installation, qmail-send
's
logs are typically put in the parent qmail/
directory.
Over the years, sysadmins and "toaster" developers have found it
more elegant to put them in a subdirectory, as is done
with qmail-smtpd
's log files, as well as
those for other similar services, such as qmail-pop3d
.)
Commands to create and set ownership and permissions on the log directories seem to be missing, e.g.:
mkdir -p /var/log/qmail/qmail-send mkdir -p /var/log/qmail/smtpd chown -R qmaill /var/log/qmail
Page 23 provides a sample use of qmail-remote
that starts
with the echo
command where I would expect cat
(or similar), because the string "message", piped into qmail-remote
,
is not by itself an RFC2822-conforming SMTP message.
(The sample command would work nevertheless, due to the fact that
qmail-remote
does not, and need not, require the messages
it delivers to be fully conformant.
The SMTP server on the receiving end might object to the incoming
message, however.)
Nits: Under "Summary" on Page 25, the last line at the end of the first paragraph seems redundant, given how the second (and final) paragraph begins.
Previous: Preface | Book Review: Qmail Quickstarter | Next: Chapter 2 |
Copyright (C) 2007 James Craig Burley, Software Craftsperson
Last modified on 2007-07-10.