Turn old PC hardware into a home server with FreeNAS
PC lovers tend to collect a lot of hardware as the years roll by. Instead of leaving it to collect dust, why not repurpose it as a file-slinging server?
Several free and open-source operating systems run extremely well on a wide array of older hardware. One in particular, FreeNAS, is extremely stable, easy to set up, and laser-focused on storing and sharing files across your home network. All you need is a working system with a reliable hard drive (or three) and a little time to configure everything.
What is FreeNAS?
FreeNAS is based on FreeBSD, itself born of BSD, a version of Unix developed at the University of California, Berkeley. FreeBSD is a full-fledged server operating system, but FreeNAS has been optimized strictly for file serving and storage. It supports SMB/CIFS (Windows file shares), NFS (Unix file shares) and AFP (Apple File Shares), plus FTP and iSCSI. FreeNAS also works with an array of plug-ins for things like automated network backups, BitTorrent downloading, a Plex Media Server, MiniDLNA and much more. The FreeNAS website has an extensive FAQ and community section that's definitely worth checking out.
What you need to build a FreeNAS server
FreeNAS is compatible with all supported FreeBSD hardware—virtually every x86 platform (per the FreeBSD website), and it supports an extensive array of chipsets and network controllers.
Ideally, FreeNAS should be installed on a small SSD or even a flash drive (though standard hard drives also work fine in a pinch), and the system should feature one or more reliable hard drives for bulk storage. To emphasize reliable: We’ve framed this article around using spare hardware, but you shouldn't use abused or utterly ancient drives for mission-critical storage.
When using the UFS (Unix File System), FreeNAS doesn’t require much memory or processing power. Just about any system with 2GB or more of RAM should do.
The more advanced ZFS (Zettabyte File System) is highly reliable and offers an array of features to preserve and protect data, but it also has much more overhead. FreeNAS recommends at least 8GB of RAM for optional performance with ZFS.
Getting FreeNAS to boot
To set up FreeNAS you’ll need to download the installation ISO file from the FreeNAS website. If you have an optical drive, burn that ISO to a disc and then boot from it the way you would any other bootable CD.
Installing the OS to a flash drive is handier, and it frees your actual hard drives to store your files. It's a bit more complicated to set up on flash: Though it requires only minimal storage space (we ran it on 4GB and 8GB flash drives), it can't share the drive with other data.
For flash drive installations, you’ll also need a file compression/decompression utility (or file archiver), like WinRAR or 7-Zip, that can open ISO files, plus a disk image writing utility—I’d suggest Win32Disk Imager.
Once you’ve downloaded the ISO, mount it in Windows by right-clicking its file icon and selecting Mount, or open it in your file archiver (we used WinRAR) and extract the file named FreeNAS_x64.img.xz. You'll wind up with an image file named FreeNAS_x64.img, which you’ll need to write to the flash drive to install the OS and make the drive bootable.
Next, insert your flash drive, run Win32 Disk Imager, and select the FreeNAS_x64.img image file. In the Device drop-down menu on the right, make sure your flash drive’s drive letter is selected. Hit the Write button, and Win32 Disk Imager will take care of the rest. It shouldn’t take more than a minute or two to write the disk image to the drive. Insert the flash drive into the machine you want to use with FreeNAS, boot to the drive, and the OS should launch. Whew.
Setting up FreeNAS
After booting to the flash drive, you’ll ultimately see a simple text menu with 11 options. By default, FreeNAS will be configured to use DHCP. Assuming that's how your network is set up, it should acquire an IP address and list it right at the bottom of the menu. That’s how you’ll access FreeNAS’s browser-based interface. Command-line jockeys can configure many options right from the text menu, but it’s definitely easier and more intuitive to log into the web GUI.
The first time you hit the FreeNAS IP address, you’ll be prompted to set an administrator password. Note, however, that the default user name is not "admin" or "administrator," but "root," which is the Unix system's rough equivalent of a Windows admin.
You’ll have to follow a few steps to configure your storage volumes and make them accessible to other systems on the network. First, hit the Storage > Volumes > Volume Manager section and select the hard drives you’d like to use with the operating system. Critical note: Any hard drive you select to use with FreeNAS will be utterly wiped.
You’ll also need to select the file system, enable any services or protocols of choice, create and name a shared folder, and set folder permissions. It's pretty straightforward, and this article walks you through the process. You can access your FreeNAS server just like any other shared PC on your network (typically via Windows' Network settings).
If you’d like to enable advanced FreeNAS capabilities—like hosting an FTP server, or installing some plug-ins—the FreeNAS community is a great place to start, as is PCWorld's own guide to advanced FreeNAS configurations.