I typically spend some time during the down week following Christmas each year to indulge my inner geek and learn some new technology. I have no programming background apart from an eight-week college tutorial in BASIC, so it’s always an adventure. I learn by diving in and doing.
This year I focused on learning Mambo, an open-source content management system, and Samba, the widely respected file-sharing utility. I found both packages impressive in their power and scope but frustratingly difficult to learn and use. I think this accessibility issue continues to be open source’s weak point because the audience of SMB and home users who are the best candidates for low-cost open-source solutions are too inclined to just throw up their hands and walk away rather than deal with all the complexity.
A good example is Samba. My goal this holiday was to set up a simple Linux-based file server to host my business documents. Only two people needed to access the server and both needed universal read/write permission, since we frequently alter each other’s files. A directory created by one user needed to inherit the open permissions of its parent.
In Windows, the process of setting up a share like this takes about 30 seconds. In Samba on Linux, it took me the better part of two weeks, involved two complete re-installs of the operating system and probably a dozen hours of tinkering. I think it works now, but I’m still not 100% sure.
The Linux portion was a snap. Ubuntu Linux is a fantastic distribution. It installed easily and includes a nice suite of office applications and utilities. This distro has totally changed my thinking about desktop Linux. However, you can’t host a Windows directory on Linux. Samba is a great technology that runs on just about every operating system ever invented and allows file exchange with Windows.
The problem for me was that Samba takes a much more disciplined approach to security than Windows. It’s as if the developers couldn’t comprehend why anyone would ever want two users to have unfettered access to the same directory. I found a widely cited tutorial online by a blogger who set up a Samba/Ubuntu file server for $80. His instructions worked great until I got to the PhP administration section, at which time the console either didn’t launch or wouldn’t let me in. I got the share to work, but the permissions were still locked down.
Then I found this tutorial by none other than John Terpstra, the inventor of Samba, detailing how to set up a simple anonymous read/write share.
Setup involved typing in a lot of Linux commands, editing Samba configuration files and setting up each PC that needed to access the directory. One problem is that different Linux distros use slightly different commands. Terpstra was using SUSE Linux and I was on Ubuntu. A couple of the commands in the tutorial simply elicited error messages from Ubuntu. Also, a command to create multiple directories bombed in Ubuntu, which wouldn’t give the needed permissions. At one point, Ubuntu refused to let me modify the critical smb.conf file. That required me to dive down another hole looking for a command that would bypass that restriction.
It seemed that in each case, I would get three-quarters of the way through the tutorial and then something would fail. Because I’m not good enough to undo my mistakes, I had to reinstall Ubuntu twice to clean up the mess.
The happy ending is that I now have an 833MHz Compaq Deskpro with a 320GB hard disk happily purring away and quickly serving files over the network. The whole setup cost about $250. Ubuntu’s reliability has been fantastic and Samba is impressive in its power and the range of options it provides.
Still, I was frustrated by the hours of work that it took to get there. My techie readers will say that I’m a fool for not learning more about Samba before starting the project. They’re right, but I suspect most advanced amateurs like me prefer to just start tinkering. In any case, I found the Samba documentation to be dauntingly complex. The online tutorials were much easier to navigate.
Next, I’ll talk about my Mambo odyssey, which was fulfilling and frustrating for a whole different set of reasons.
You played with tech during the off week too? Cool. I set up a new MacBook, Apple Airport network and shared network printer over the holidays, along with tied in gmail accounts and some basic user education for the baby-boomer set. Went off without a snag. Apple won a lot of points in the eyes of a long-time Wintel user for preinstalling drivers and ease of use. The embedded iSight that allows one click easy video chatting and recording has quite the “wow” effect in person.
You took on a much more daunting task, I think, but managed to make it sound both desirable and dooable to those who don’t grok the command line.
I hope you share the Samba adventure soon!
Many thanks to Paul for setting up the Samba stuff… I’m the kind of geek who doesn’t get quite THIS far into it (I was happy updating his site in FrontPage bc I know HTML pretty well and did that the “hard” way in the code). At any rate, it works wonderfully, even when we thought it wouldn’t. On my end, it looks like Windows and acts like Windows and that’s enough to make me smile when I’m in the middle of something and need to create a new folder and put x amount of files in it to keep P organized…
It was a lot of time on his part, but it was fun time, I think. Besides, what was he supposed to do when I was busy shopping and wrapping presents?!