Authored by:Joyce Park

NT versus Linux
for small-business networking

Recent advertising campaigns for Microsoft's BackOffice Small Business Server feature a variety of small, homey, low-tech operations -- a candy store, a veterinarian, the infamous "Bread Man" -- as examples of the intended customer for the product. I'm slightly more techie than that, in that I write for a website, so perhaps my experience would be instructive for other content-types, small business owners, and workgroup managers who are considering a networking software package. Remember, I didn't know a thing about administering either NT or Unix when I started out -- the whole POV of this article is 100% newbie -- so spare me the "everyone with half a brain knows you shouldn't do X on NT Server 4.0 with Service Pack 3" flamemails.

The frying pan

My partner and I run a 750-page site, MysteryGuide.com, which consists largely of book reviews of crime fiction. In the summer of 1998, we decided to host our own, because we wanted to develop multiple sites using our choice of scripting/programming languages, databases, and utilities. We also wanted to network our multiple-OS computers. At that time, I could barely do HTML and had never dreamt of being my own sysadmin.

Advice was given that NT was "the market leader" and "the wave of the future". We'd used BackOffice for a recent consulting project and it didn't seem that bad. So we plunked down our $895 (street price) for BackOffice Small Business Server 4.0. Memo: the industrial-strength NT Server/BackOffice and the Small Business package are not the same at all -- those who are considering buying the latter on the basis of experience with the former should consider themselves warned.

Installing Small Business Server was expensive and confusing. After trying to follow the "easy" directions for several days, I was reduced to calling in a Windows programmer who called in his friend the sysadmin who managed to get the package installed on my network at a cost of several hundred dollars (with buddy discount). Yes, I know this was not the most efficient team for the job; but I didn't know anyone who had more experience with this particular package and would take a small installation gig. I had made a big mistake even before this: given the choice of having Windows95 or NT Workstation pre-installed at the factory, I stupidly chose the latter assuming BackOffice SBS would do a clean overwrite. So from the start I had two different, massive, and mutually incompatible versions of NT sitting on my C drive -- this would cause problems later. I'm still not quite sure how to get rid of the Workstation install, which fails every time I try.

I also became familiar with one of Microsoft's most frustrating practices: refusing to use standard technical terminology. In their zeal to make everything "easy" for us not-very-techie sysadmins, they stripped the already-skimpy documentation of terms like "POP3", "TCP/IP", "port number", "netmask", and any other term that would let apples be compared to apples. Whenever anything like that comes up, the administrator is advised to get the right settings from the System Administrator -- but since I'm my own system administrator, this advice chases its own tail.

My main conclusion is that BackOffice Small Business Server has the same motto as Stalin: deviation is treason. If you're happy with Microsoft's idea of how you should run your office, cool. If not, prepare for the gulag. Should you wish to do something freaky like use a dedicated connection rather than the recommended two 28.8 modems to handle e-mail, fax, ftp, and web services for up to 25 workstations, you will be fighting Microsoft's installation wizards every step of the way.

NT Server, SQL Server, and IIS worked pretty well once we figured out their quirks -- on the basis of very incomplete documentation, may I add. There is absolutely no documentation for SQL Server, which doesn't come with a reasonable front end in this installation (not even Access) so it's hard to see how the family-owned chocolatiers and solo architects of the world are supposed to make "easy" use of the jewel in the SmallBiz Server crown. I suspect Microsoft just included SQL Server for logging, without the real expectation that small businessowners would build mission-critical databases with this version. I didn't need the fax capability (like every other business in America, I have a fax machine) or modem pooling (each of my client machines came with a modem and/or NIC card).

Exchange Server 5.0 was a problem. I had somehow acquired the notion that Exchange Server 5.0 was an honest-to-God SMTP server rather than what it is, which is a way to circulate internal memos using e-mail clients. According to the manual, Exchange Server 5.0 doesn't actually listen for incoming mail -- it dials up an ISP automatically once an hour, forwards outgoing mail to the ISP's SMTP server, downloads mail from one (or more?) POP3 accounts, and delivers it. In practice, it's a lot easier to just have the client machines set up to dial the ISP directly. (Fact-checking this essay in June 1999, I find that the newly revamped Microsoft site now includes a White Paper on configuring Exchange as an SMTP server with a dedicated connection to a "BackOffice SBS compliant" ISP. It's unclear when this paper was written because Microsoft doesn't date their web pages very well, but the copyright date is 1998 -- although this software package has been sold since 1997. I didn't see this paper when I needed it, neither did the contractor I hired for this very job, and it's still a little dodgy about whether Exchange Server actually listens on port 25 or not. In any case, I need to receive mail for multiple accounts on multiple domains -- which isn't allowed as far as I can tell.)

Into the fire

The true beast of the Small Business Server package is Proxy Server 1.0. More experienced techies know that deploying any Microsoft product with a 1.0 version number is exactly like committing suicide, except more painful -- but what can I say, I was stupid. I set it up as recommended in the documentation (router to NIC Card 1 with a crossover cable, NIC Card 2 to hub, and hub to clients), and it has never worked correctly for a single day. It times out erratically every 30 seconds or so, slowing my expensive frac-T1 connection to the speed in practice of a modem.

Several months after I purchased SmallBiz Server 4.0, Microsoft offered a free upgrade to Proxy Server 2.0. Before I got to that, I was supposed to install NT Option Pack. "Great!" I thought; "not only will my Proxy Server finally work, but this is supposed to make NT more or less Y2K compliant" (according to the original MS Y2K site, which soon vanished). Little did I know that "free upgrade" is Microspeak for "Mistakes have been made" -- I mean, why would they fix something for free if the original product wasn't horrible? I was unable to install the Option Pack or the Proxy Server upgrade after repeated efforts and close attention to the white paper, and I started getting frightening error messages about access violations as a bonus.

I sought Microsoft tech support for this problem (after making my ISP replace my brand-new Cisco router just in case, which they actually did with decent grace). Tech support guy Number One hardly spoke at all, about one phrase every 20 minutes. After a couple hours, he told me he'd research the problem further and call me back the next day -- which he never did. Bachelor Number Two was less spooky, but he also promised he'd get back to me and never did. Techie Number Three told me Number One had never even written anything in my file about my call, and Number Two was called away on a Premier Support incident. Three was a cheery guy, but his working hours were 3PM to midnight Pacific time -- 5PM to 2AM my time -- so I always worked on the problem at the end of the day when I was tired. After a few back and forth e-mails, he told me: 1) I should never have had NT Workstation installed; 2) he'd never seen my problem before; 3) access violations were very very bad; and 4) had I ever considered wiping my C drive and starting over? I asked him point-blank if he guaranteed that would solve my problem, and he said no (rather nervously, I thought). He asked if I'd considered trying the beta version of SmallBizServer 4.5; I told him I'd rather slit my wrists than try an MS beta anything, especially one with no way to install or upgrade except a clean wipe. If I had the money for a whole extra NT Server installation to try things out on, why would I be using Small Business Server? But apparently once an MS support tech has said the magic words "clean reinstall", their obligation to help you is over. I never heard from any Microsoft employee again.

So by now we're into the second quarter of 1999. The good news is I can host up to 5 websites using a server-side scripting language and SQL Server. The bad news is I'm having bad dreams about network services, I'm still using one ISP for dialup mail and another for connectivity, I'm pissed off at my mail-hosting ISP (which has started charging me $25/month plus $85/year per domain name for DNS service plus $.50/MB disk usage on a little legacy forwarding site), and I've just read Robert X. Cringely's now-(in)famous "hell to pay" column about Microsoft's Y2K strategy (www.pbs.org/cringely/pulpit/pulpit19990311.html). I have a feeling that Microsoft is (quite rationally) spending most of their effort on big corporate clients and the vast hordes of Windows 95/98 users, and therefore the small business market will be the last to get any attention. In June when the MS Y2K site version 2.0 goes up, I will also learn that I should never have used Service Packs 3 or 4 on my Small Business Server -- despite the fact that Service Pack 3 was built in. Hmmm. The site says all my problems will be solved when I get my free upgrade to SmallBiz Server 4.5 -- and maybe they will, for all I know -- which is coming "this summer", although they won't say exactly when. They also claim SBS 4.5 will run on the exact same hardware setup and therefore not require a new machine despite its greatly improved/increased functionality -- I'm not sure how this could be true. I think to myself, "Another free upgrade on this software package, definitely not a good sign." But by June, I hardly care anymore.

Linux: not for geeks only

By April, I had reached the breaking point. Y2K was the last straw. The command line suddenly seemed far less scary than trying to expand my business on the back of network services I couldn't trust. Despite a spate of articles implying Linux was "still not ready for primetime" and "for geeks only", I was ready to take my chances.

So I ordered a cheap new box with half the RAM of my NT server, and completely on my own installed and configured Red Hat 6.0, qmail, Samba, Apache, PHP3, MySQL, and Phorum for several virtual domains. This is a pretty standard website setup which includes: the basic operating system and tools, a mail server, a network server for Windows clients (there's one for Macs too, although it's harder to install), a web server, a scripting language (replaces CGI scripts), an industrial-strength database, and a bulletin-board program. Together, they offer more functionality than BackOffice Small Business Server plus a scripting language -- without imposed limitations on the size of databases, the number of websites I can host or domains I can accept mail for, or number of clients. I can also pick and choose each component according to my personal needs and quirks. It did take a certain amount of time, like maybe a week or two, to figure out how everything worked -- but that's because I deliberately did everything the hard way. Someone who even semi knows what they're doing could have this system running in a weekend.

I'm sick of hearing people whine that "Linux isn't easy to use". No server software is as easy to use as a consumer OS like Apple -- anyone who can't figure out why this is true has no business around electronic equipment. Half the problem with Linux is that all the hard stuff comes right at the beginning -- disk partitioning, configuring X for your graphics card and monitor, etc. -- and scares people off. The other half is the modular Unix-y design concept, which seems to freak people out because it appears to be more complex than the Microsoft monolith style. Finally, journalists have to take a little credit for all those fear-inspiring articles about recompiling the kernel and repartitioning the disk and mounting multiple filesystems, which sound much more intimidating than they actually are. Setting up a Linux server is no more intrinsically difficult than repairing a car engine or cooking a chocolate souffle. Here are a couple of tips on how to minimize the up-front pain:

There's one basic decision that needs to be confronted by every small business that wants to start running their own servers: do you want to learn, or do you want to just have things work smoothly in exchange for cash? I chose the former with both OSes, but ended up paying quite a bit for help with the "easy" package anyway. If you're the outsourcing type, all you need to know is how available and how expensive those tech contractors are gonna be. I wouldn't know one way or the other, except to say Microsoft support costs $195 per incident on top of the $895 software price, while Red Hat gives you 30-90 days of support included with the $79.95 you pay for the software. I suspect that businesses trying to hire tech consultants for BackOffice SBS will be competing for the same people who work on the enterprise versions of MS software -- meaning they will pay, in my area, $125 an hour and up. Most Linux sysadmins seem really young, and more interested in fun than money -- so I'm guessing businesses in the tech centers and college towns will be able to find someone fairly cheaply on the Internet.

You can get Linux preinstalled at the factory very cheaply, and I recommend this to people who don't have kinky hardware needs because I had some initial problems of this type. In any case, I think businesspeople over the age of optimal tech learning (approximately 22 years of age) should seriously consider buying the official box set for whatever brand of Linux they're installing. I didn't, but I could have saved a couple of days‚ work if I had. Also, I had someone who I could ask about basic Unix stuff -- like What does "put this in your system boot scripts" or "your permissions must be set to 700" mean? Also, to be fair, I had already learned basic networking stuff through my NT experience -- things like binding IP addresses to network cards, or that ports are conceptual rather than physical -- that aren't technically either NT or Linux problems, but tend to get ascribed to whichever OS one learns first. Although it's possible to ask newbie questions all over Linuxworld, the hotshots who write the actual software are understandably grumpy about spending all their time answering the most basic questions, which are often only tangentially related to their work. Do everyone a favor and put Deja.com on your browser's bookmarks/favorites list right away.

I learned about Linux mostly by the simple if inelegant expedient of peeking at files on my hard drive using Gnotepad or gless. Eventually I figured out that "etc" is where the configuration files are, "usr" is where most programs are installed, "var" is for stuff that changes a lot like log files or e-mail, and so on. I also bought a book, and read HOWTOs and other material I found online; I used these exactly as one would use a cookbook or one of those Time-Life "build a deck in 12 easy steps" books. I still find it amazing and cool that almost every program is configured by simple text files! You can see what's going on, and even leave notes to yourself right in most of them. To me, it's like having an ant farm -- the transparency makes it easier to see the patterns and routines of the system. Even though I can't program a lick, I've recently found myself looking at small C and Perl programs and even making changes to them.

One thing no one ever seems to mention about Linux is how hard it is to get and configure software unless you already have a high-speed web connection. Although there's been a recent tsunami of books and articles about Linux, most of the fresh and juicy info is online only. I can't personally imagine why anyone would want to get a Linux server with a 28.8 modem; but if you're in this situation, I suggest you visit a friend who has decent throughput and spend an afternoon printing out the necessary HOWTOs and FAQs and other documentation. In particular, if you‚ve decided to learn rather than outsource, get the one about disk partitioning. It's not that big a deal, but it's almost the first thing in the installation procedure and probably the most conceptually difficult part of the process. Remember though, you can (almost) always do it over if you mess up a little.

Newbies can solve almost all their problems by careful "shopping". For instance, I wanted to run Apache server (a version of which came with Red Hat Linux) with PHP3 and MySQL. First I tried to follow the directions to install each component from source code and get them working together, which was a pain. Then I went out on the Web and downloaded one neat, clean, specifically-for-Red Hat package that did it all for me. The difference is simply knowing where to shop. Other than that, the much-vaunted "difficulty" of installing software on Linux is pure nonsense -- anyone who has even considered applying an NT security patch should have no problem at all. Small businesses are usually not bleeding-edge users, so you can have good confidence that anything you need has already been invented and nicely packaged and freely distributed by someone far, far more technical than you.

If I were going to pay for just one part of my setup, it would definitely be mail service -- especially because I host several domains with their own multiple POP3 mailboxes. I chose to install a program called "qmail" because it is supposedly easier to handle than the default "sendmail". This is true, but relative -- qmail and its accessories took over half my total installation time, largely because the documentation is skimpy. You can get someone to configure qmail over the internet for a couple hundred bucks, and I think it would be well worth the modest investment for most small businesses.

Cost

This is a breakdown of my costs. All prices include shipping and handling and sales tax if any.

MS BackOffice SBS

Red Hat Linux 6.0

Hardware1

$2555

$556

Software (excluding scripting)

$1440

$7

Scripting software2

$499

$0

Help3

$694

$47

TOTAL

$5188

$610

1 Both computers approximately 4X the "required hardware" and 2X the "recommended hardware" specs given by the OS manufacturers. NT: 300 MHz, 128MB, Zip drive. Linux: 300 MHz, 64MB, no Zip drive. Linux machine purchased 12 months after NT machine, prices fell considerably during that time.
2 To be fair, I could have chosen to use ASP/VBScript/JScript instead, free of charge.
3 NT charges include labor and long-distance phone. Linux charges include books.

In addition, with Linux I was able to get rid of my mailhosting and web-forwarding ISP. This resulted in an additional cost saving of approximately $225 per month. To be fair, I might have been able to do this earlier under NT if I'd been smarter or the documentation had been better.

Conclusion

Due to my own experience, I harbor serious doubts about the ability of the average non-technical small business owner or workgroup leader to easily use BackOffice Small Business Server 4.0 without the assistance of a highly-skilled sysadmin. I'm not even sure Microsoft intends them to, despite the "easy" rhetoric on their promotional materials -- the constant exhortations to "ask your sysadmin" and "contact your BackOffice SBS compliant ISP" suggest otherwise. My personal opinion is that the current advertising campaign featuring small, family-run or sole proprietorship, non-technical businesses is misleading. Given the relatively high cost of deploying the software package, this could be an expensive and frustrating mistake for real-world small business owners with limited resources. Although I haven't yet been able to use Small Business Server 4.5 -- I'm waiting for my upgrade, although now might be the moment to ask why Microsoft knows my address well enough to send me junk mail but not well enough to send me upgrades without making me re-register for them -- my real-world experience with 4.0 has been such that I could not personally recommend it to anyone.

In contrast to published accounts insinuating otherwise, I found Linux to be easy to learn and fun to work with, as well as the lowest-cost option. I'm now my own sysadmin and sleep a lot better at night, because every component of my Linux setup does exactly what it claims it will do.