Jul 99 Online
Volume Number: 15 (1999)
Issue Number: 7
Column Tag: MacTech Online
by Jeff Clites online@mactech.com
Last month we read up on the Open Source movement, with an eye to how it relates to the Mac community. This month we are going to look at a few specific software packages. Some are open source, while some are technically not although they are being developed in the same spirit. (See last month's article for information on what it takes to qualify as open source.) Also, some of them already run under Mac OS X Server, while other are yet to be ported. But they are all useful, and present themselves as opportunities for the Macintosh community--opportunities to use tools that were previously unavailable to us, and opportunities to actively participate in their development.
But first, be sure to check out the new paper by Apple's Wilfredo Sanchez, "Open Software in a Commercial Operating System". It offers further insight into Apple's commitment to open source software, and the issues and benefits involved.
Open Software in a Commercial Operating System
http://www.mit.edu/people/wsanchez/papers/FREENIX99.html
Email Servers: Sendmail, Qmail, and Postfix
With the initial release of Mac OS X Server Apple did not include a default email server to operate alongside their easy-to-administer incarnation of the Apache web server. In future versions this will probably change, but in the short term network administrators get to fend for themselves. The obvious choice is Sendmail, which is the most widely-used mail server out there, handling an amazing 70% of the email on the internet. It is also one of the most complicated, with configuration files which are second only to ancient Mayan in their difficulty to decipher. While no one will criticize you for choosing Sendmail, there are alternatives you might want to consider. One attractive option is qmail, which was developed specifically in response to certain deficiencies of Sendmail. Its three main selling points are that it is secure (there was a $1000 reward offered for anyone who could compromise its security, and it went unclaimed), reliable (it will never lose messages due to a system failure at an inopportune time), and it doesn't require file locking (so it could be run off of file systems which don't support locking, such as NFS and HFS). It should be noted that qmail is not open source per se, as you must get the author's permission to redistribute modified copies, but is should run on Mac OS X Server without modification (since it runs under BSD), and it does have an active user community. O'Reilly and Associates have a book on qmail in the works, scheduled to be released later this year. Hopefully it will be shorter than their thousand-page Sendmail tome.
Sendmail Home Page
http://www.sendmail.org
Qmail
http://www.qmail.org/top.html
D. J. Bernstein's qmail Page
ftp://koobera.math.uic.edu/www/qmail.html
The Big qmail Picture
http://www.nrg4u.com/
Another alternative, less publicized but also popular, is Postfix. Like qmail, Postfix aims at being a Sendmail alternative, and in fact views itself as a direct (though friendly) competitor with qmail. Although it isn't completely clear from the Postfix web site, it appears to allow unrestricted redistribution, although there is no mention of whether distribution of modified versions is allowed. On the other hand, there is a binary version available for Mac OS X Server (see the Stepwise software tracking page), and Postfix is able to use the operating system's NetInfo database for certain table lookups. Although there will likely be a qmail binary available for Mac OS X Server at some point, those wishing to dive in right away may prefer to try Postfix.
The Postfix (formerly VMailer) Home Page
http://www.postfix.org
Postfix--The Big Picture
http://postfix.affinity.net/big-picture.html
Postfix Overview--Goals and Features
http://postfix.affinity.net/goals.html
Postfix Overview--Global Architecture
http://postfix.affinity.net/architecture.html
Stepwise--Mac OS X Server Software
http://www.stepwise.com/Software/index.html
Once your email arrives, you can do sophisticated things with it using procmail, a mail processing program. It allows you to do all sorts of things, such as filtering your mail (either upon receipt or later), selectively forwarding certain messages, or serving as a replacement for your local mail delivery agent. It's a single binary and can be installed by an unprivileged user for his own use, and aims to be all of the good things: small, fast, and robust (handling "every conceivable system error" and able to deliver the mail under the worst conditions). If you like to be in control of your mail, this is the way to go.
Procmail Homepage
http://www.procmail.org/
Procmail FAQ
http://www.iki.fi/era/procmail/mini-faq.html
Procmail Readme
ftp://ftp.ucsb.edu/pub/mirrors/procmail/procmail.README
Procmail Features
ftp://ftp.ucsb.edu/pub/mirrors/procmail/procmail.FEATURES
Samba
Although Apple has positioned it as a file server, Mac OS X Server shipped without any built-in way to share files with Windows-based machines. It is an unfortunate omission; realistically, in today's business environment Macs need to integrate with existing NT networks. It is especially important that it be dead-easy to do, so that organizations which have had bad experiences with their current systems can try out Apple's new servers without having to make a major commitment of time and effort. For this reason, it seems likely that in future versions of Mac OS X (Server or otherwise) will include some type of support for this. Until then, we are lucky to have Samba, an open-source package which may serve as a life-preserver to a lone Mac advocate in an all-Windows shop. (Be sure to check the Stepwise software page, mentioned above, for a link to a binary distribution for Mac OS X Server.)
So what is Samba? In short, it is a package which provides SMB server and client capabilities. So what is SMB? As you can find out from the web page of the same name, "SMB, which stands for Server Message Block, is a protocol for sharing files, printers, serial ports, and communications abstractions such as named pipes and mail slots between computers." The core of Samba is an SMB server, which allows a Unix machine to serve files (and printers) to Windows clients. (In fact, Microsoft even validates new system software releases against it.) Included in the distribution are other tools, such as an ftp-like client for accessing Windows resources from a Unix machine. Intriguingly, there is also smbfs, a currently Linux-only filesystem allowing you to mount remote Windows volumes, which in fact it is included as standard with Linux 2.0 and later. This would be a great project for the Darwin community to tackle -- bringing this capability to other flavors of Unix. With BSD's extensible filesystem underlying both Darwin and Mac OS X, this is a tailor-made opportunity for the Mac community to contribute something which would be very useful to a large community of people, and show off their technology at the same time.
If you are like me, then you like to have a book or two handy to supplement the "standard" documentation. Samba: Integrating UNIX and Windows (ISBN 1-57831-006-7), by John D. Blair of the Samba Team, used to be the only game in town. It is excellent, but becoming a bit out of date. Fortunately, the recently-published SAMS Teach Yourself Samba in 24 Hours (ISBN 0672316099), by Richard Sharpe and Gerald Carter (also of the Samba team), comes with high praise, despite its cookie-cutter title. Finally, O'Reilly and Associates are set to publish Using Samba later this year, and given their track record it is likely to become an instant classic.
SAMBA
http://www.samba.org/
What is SMB?
http://samba.org/cifs/docs/what-is-smb.html
What's Samba all about?
http://us1.samba.org/samba/about.html
Samba: An Introduction
http://us1.samba.org/samba/docs/SambaIntro.html
When you are done with these, saunter on over to the MacTech Online web pages at www.mactech.com/online/, for more links to dig your teeth into.