The machine in question for this instructable (my first, so please don't go too harshly!) is around 12-13 years old, and when new ran the latest graphically intensive Windows 95 games at a mind boggling resolution of 800x600. It remained the faithful family computer for quite some time, but it's been sitting doing nothing in my room for a few years now, and I decided it was time to see if it could be put back into action.
I thought of several possibilities other than a file server, and all could be equally valid - a static content web server, a machine for experimenting on, a router, a firewall - all were possibilities. I even thought about using it as a computerized method of controlling my ever expanding train set. However, personally a file server met my needs best - I have no need for a web server, I have a router and firewall, and the train control idea can wait until I've done a bit more research on the subject.
Next, why Gentoo? Yes there's ways to do this using windows, and an article popped up on digg a while back about it if I remember correctly. However, you're looking at reduced performance, security, and increased bloat when going down the windows route - especially for an old machine such as this where an outdated version of windows would have to be used to gain any level of respectable performance. I've gone for Gentoo because it's a distribution designed to be tinkered with, and that's what we'll be doing later. If I was feeling really brave (or indeed you are) you could give LFS a try, but getting that up and running would probably be a series of instructables in itself. Gentoo's not the easiest system to get running, but it's still entirely feasible and there's a huge user base on forums if you get stuck.
So on with the materials list, you will need the following:
An old computer, to use Gentoo this will need to be at least a 486 (My choice is an aging Pentium 90Mhz, S3 Virge graphics card, with 80MB RAM upgraded from an original 16MB.) This should work on anything 486 and above, you could use a 386 (I think) with FreeBSD, but Gentoo should be much flexible and faster as well. Your limit is that defined by the Gentoo minimal install CD, that being 64MB of RAM and at least a 486. The biggest issue here is probably going to be RAM, but you can probably pick up some cheap old sticks on ebay for not a lot.
A network card - my PC didn't have one originally installed, so I've gone with a basic 10/100 Belkin card. Gigabit is overkill here, you're not going to be looking at anywhere near those speeds with a low end computer like this.
A new hard disk - being an old PC, this will almost definitely not have the space required that we need for a file server. It doesn't need to be huge by today's standards though, in fact it can be tiny - I've opted for a spare 40GB model I've got lying around. A word of warning however for those that aren't aware - the older the PC, the smaller the chances of the BIOS recognizing the drive - mine didn't. Gentoo should still recognize the drive anyway (though I can't guarantee this, it worked for me) but this makes booting into your system a right pig. We'll try to address this issue later.
A CD-ROM drive - if your computer hasn't got one, you should be able to borrow one off another computer temporarily.
The ability to leave your computer on for quite a while - Gentoo compiles everything from source, which is fantastic for speed optimizations once it's all done, but it means it takes a while in doing it. Technically speaking you don't HAVE to leave it on, but it makes it a heck of a lot easier if you do.