Thin-Client Server
The Problem:
I needed a web server to practice and test with.
Also, the title of this project seems to be an oxymoron.
The Solution:
I picked up a Visara UCT machine at a yard sale for $1. I didn't know what it was, but it was obviously some sort of PC given the parallel, PS/2, USB, VGA and serial ports in the back. I was thinking maybe one of those cash register machines. The guy selling it thought it was an old black box. They had several. I should have bought more.
The only downside to this little machine was its lack of memory (only 32 MB of RAM), and its lack of storage (a 16 MB DiskOnModule IDE device). The thing is obviously not designed to do much work on its own. It does only have a 300 MHz Geode processor, but that's good enough for basic tasks. I did some pretty cool stuff with a top-of-the-line Pentium II 300 MHz machine back in 1998. But, back on topic. I ended up deciding that this little thing would best serve me as a test web server.
The Result:
Well, I wish I had more to report with this one. All that I did was install more memory (128 MB of PC-133 SDRAM) and an old 20 GB 2.5" laptop hard disk drive (HDD) You try to find an operating system that uses less than 16 MB. Even Damn Small Linux - DSL - is at least triple that without anything installed, and those DiskOnModule drives aren't free like my 20 GB was. I had to use an adaptor to connect the thing to the IDE socket on the motherboard, but that is no big deal.
The tricky part was finding out where to draw power. This little machine doesn't have your typical ATX power supply unit (PSU). It has a tiny, silent proprietary device to handle those duties. So, I had to find a way to connect a Molex connector to the device so that I could power the hard drive. Luckily, the motherboard had a four-pin connector not unlike the fan connectors on a typical ATX board, and exactly the same dimensions as a floppy drive's power connector. Perfect. Just snip the floppy/Molex connector off of a regular ATX supply, and there is a perfect adapter for this machine.
Okay, hardware's all hooked up. Good to go. Right? Almost. I still needed to install an operating system (OS). How to do this without a CD-ROM? I considered a network boot, and I almost tried a USB drive install, but I wasn't convinced either would work, the latter especially. A more modern PC wouldn't have an issue with this, but this is not a powerful system. So I took the easy, tried and true method and connected a spare CD-ROM. You can plug an ATX PSU's Molex connectors into the IDE devices - (HDD and CD in this case) even though it's not plugged into an external power source. Just connect it to something on the motherboard, and since the computer is turned on, current will flow through the connected wires. In my case it was the aforementioned floppy-connector-sized pins that I plugged into.
The hardware's really hooked up now, and it shows on the POST screen. Now to install an OS. My choice was Debian GNU/Linux. Free, open-source, and robust. All that, and an ideal platform for running the world's most popular web server: Apache. Installation was very straightforward, contrary to popular belief. After that I installed Samba to share folders with my Windows PCs, MySQL Server for a databse solution, and openSSH to administer the machine remotely via Putty. Sure it's all text-based, but what else do you need for a server? Configure and forget. And if you really need, install Webmin and manage it through a web-based graphical interface. Simple.
Internal view:
The server at work (it's the small, black box):




