Make a Linux Home Data Server of an Old PC

By Adam Knife

So, you’ve got an old computer, and you don’t know what to do with it. Sure, it can’t play new video games, maybe can’t run the latest and greatest software, don’t fret, it’s not totally worthless. Converting your old computer in to a home data server opens a range of possibilities, and a range of new things you can do with your computer(s) and the network.

So, how do you do it? Well, if it’s already set up for Windows Networking, you’ve got the basics set up for a Windows file server, and can simply use your local area network for transfering/working with files, however, this article is going to show you the more effective, and more powerful way: setting up a Linux file server.

The first step is to pick a Linux distro, lists the most popular distributions, and reviews a range of ubuntuimagesdistributions, we’re going to use the Ubuntu [5.10] operating system, with a server installation, simply because it’s the operating system this author uses for his desktop, and is quickly becoming the most popular distribution around.

Your old computer likely has enough memory, and a powerful enough CPU to run Ubuntu, however, if you intend to use this server as a major central file server, it will likely need a new hard-drive. You can deal with that on your own.

When you insert the Ubuntu CD, and boot to it, instead of just pressing [enter] at the boot screen, type ‘server’ then press enter – this will prevent it from installing any of the *-desktop packages, and not setting up any unneeded applications.

After following the steps of installation, you will be prompted with a logon screen – enter the username and password you provided during installation, and you are in your brand new Linux system. From here, you can do everything from browse the web, to set up the computer for various networking tasks, to play a range of Linux-based games.

Package management is a critical part of running a Linux system, luckily Ubuntu comes with two distinct and useful tools to aid in your package managing. Aptitude [which, is actually just a UI for apt-get] and apt-get.

A package called “samba” will allow you to set up proper networking between Linux and Windows computers (at least, we hope you’ve got your networking issues sorted out). Running “sudo apt-get install samba” in your new command line will tell the apt-get application to install the samba package, and set it up with default settings.

Once samba is installed, you’ll want to set it up to share certain files/directories, and set them up on your network – samba networking is a massive topic of it’s own, and way beyond the scope of this article, however, running “man samba” will give you the samba manual file, which lists off a series of other manuals to look at. Google’s always helpful too. :)

Now, once you have networking and samba set up, you should be able to transfer files between Windows and Linux through Network Neighborhood/smbclient – you’ve now got a basic data server set up. That was easy, wasn’t it?

For those who want to go further, Pure-FTPd will allow you to set up a fully featured FTP (file transfer protocol) server on this box, which you could use to access your files remotely from any computer set up with an FTP client (Windows Explorer has one built in!), setting up an Apache based web-server is fairly simple with Ubuntu’s apt-get packages, and OpenSSH allows the user to remotely log in to the Linux shell from any computer equipped with an SSH client.

A slight advancement to this system could allow you to set up Bash scripts combined with cron would allow you to set up scripts which immediately backup files every X days, or scripts to do certain processing to files at certain times – the possibilities are effectively endless.

Adan X. Knife is a computer scientist, entrepreneur and web developer. He currently runs a network of websites including one about High Definition Technology and a Free Games Library. He also runs a range of communication related sites including his cellular phone reviews site.