I’ve been spending the better part of the last two weeks struggling with penguins. Ok, so I don’t mean the real birds – I mean Linux, the cool & froody Operating System that I love & support. Unfortunately, though setting up a linux box for home or office use is quite easy, setting one up to be a secure web & database server is a bit more difficult.
First, some history:
Sanctuary continues to live in my office – the computer that was outdated back in 1998 continues to serve a useful purpose even today. Originally, Sanctuary was my personal computer – the replacement for the wimpy IBM Aptiva that I had freshman year. When I used it, it ran Windows 98, but eventually it went the way of the dinosaurs, and was reborn as a linux box back in 1999 – 2000 (or somewhere thereabouts). Since it was a fairly stable PC, running a Pentium 233 MMX processor with a whopping 64 megs of RAM, it was perfectly happy running those early versions of Red Hat Linux. Eventually it even found life as a PC for my roomate-at-the-time, Dave – running Linux (again), of course.
After I moved to Fitchburg, Sanctuary found a third life as a disposable PC – something that I would install Windows 98 on, test my software product on (Windows 98 is the lowest platform we support), and then re-format it before testing again. It even became a PC for Amanda’s use during this time – though honestly, she hardly ever used it.
After my company moved into REAL office space (here in Fitchburg, as I have blogged before), Sanctuary moved with us. When we needed a secure, stable web & database server, the only possible answer was Sanctuary. Since we needed a “secure” web server, a Windows-based box was out of the question. So, after some research into what’s new in Linux these days, Sanctuary was reborn as a Debian linux server – to be loaded with Apache (web server), MySQL (database server), SSL (secure sockets layer, used for secure web transactions), and PHP (web scripting language).
Now, you’d think it would be easy to do all this, since Linux has come so far since the “old” days.
Well, the answer is NO. And that’s why Linux on the desktop and in the office is still a ways off – and why Micro$loth still rakes in the dough – don’t dump your stock just yet.
Firstly, getting Apache + SSL to work together is a chore. The usual way to do things under linux is to download the source code & compile stuff yourself. That’s all well and fine – after all, I am an accomplished programmer and am quite happy compiling my own programs – but these aren’t little programs, they’re BIG programs – and I have never gotten the hang of makefiles, which is what tells the compiler what to compile & how to put it all together.
First mistake on my part: I tried to combine the downloadable Debian packages for Apache & SSL with source-code compiled PHP and MySQL. The reason? Well, I wanted to be sure I had the latest versions, and the pre-made self-installing Debian packages were not always the latest version. Well, now I know getting those two things – pre-made packages & self-compiled programs – to work together is near impossible. Scratch that idea.
Second mistake: I tried to download & compile EVERYTHING. It actually worked quite well, up to a point. The problems happened when I tried to compile Apache itself, with the SSL (OpenSSL & mod_ssl, if you want to know) module. I just kept getting errors – strange errors too, about files that were present being missing, and constants not being defined. No help from google on this one, so I gave up.
Finally, I installed everything using the Debian package manager – and it worked (thank god). So now I can settle down to getting the data imported into the database & set up the website and other things. Thus ends my affair with the penguin.
Still, even after all this, I still think linux is a totally cool & froody OS; I mean, it runs quite happily on this ancient hardware I have (albeit slowly), and even when I manage to crash things (and crash them good), the OS itself keeps on chugging. And even through all these installs & uninstalls, NO REBOOTS WERE REQUIRED. Now THAT’S cool.
Amanda’s home early tonight, so that’s all the time I have for bloggification. Until next time…
-Keithius