Cheap and NASty - How to Build an Open Source FreeNAS Server
Set Up iTunes Streaming
A NAS is a perfect place to store a unified music library, and FreeNAS ships with Firefly, an open-source media server for iTunes.
Go to Services > iTunes / Daap. Click the box for Enable, then name your server (we called ours freebird, and that’s what shows up in iTunes). Choose a directory to store the music database, and directory or directories to watch. In our case, that’s /mnt/aleph/music. Set a scan frequency (in seconds), then save and restart. You should see the name of your music server in the Shared section of iTunes. Make sure you have Zeroconf/Bonjour set up in (System > Advanced), so FreeNAS will broadcast its services. You can access the Firefly media server via the web by connecting to port 3689 at your server’s IP address.
Set Up UPnP/DLNA for Streaming
Turning your FreeNAS server into a UPnP streaming media library is just as easy as setting up iTunes streaming, thanks to the included FUPPES UPnP media server software. Go to Services > UPnP, and click the Enable box. Name your server, keep the default interface and port unless you have a reason not to. Choose a directory for the UPnP database, just like you did for iTunes streaming, and set directories to watch. We created separate directories for movies, television, and photos. The Profile setting is device-specific, though we found the Xbox 360 profile worked fine for the WD TV Live we tested it with, as well as with our test computers. Click the checkbox to enable the WebGUI, then hit Save and Restart to activate the service.
Set Up the BitTorrent Client
Another perk of a dedicated media server is that you can also use it as a torrenting box. FreeNAS ships with the Transmission client, which you can configure to automatically download .torrents it sees in its watch folder. Create two subdirectories in your share; one for Transmission to watch for .torrent files, and the other for finished torrents. Go to our old friend the Services menu and select Transmission. Click the Enable checkbox. Point the Download Directory to the folder for finished torrents (ours is called Finished Torrents) and the Watch directory to your watch directory. Set minimum and maximum upload and download speeds, then click Save and Restart. Any .torrent file you save in the watched folder will automatically be downloaded by Transmission; alternately, you can log into the Transmission WebGUI (http://serverIP:9091) and upload torrents from your local machine or from the web.
Configure Web Services
The FreeNAS server can also be configured as a web server. In the Services menu, go to Webserver, click Enable, set a TCP port for the web server and a parent directory for the web server, and hit Save and Restart. Drag your website files to that subdirectory and you’re ready to go.
For FTP access, go to Services > FTP, and click Enable. Leave the default settings unless you have reason to change them. We checked “Only allow authenticated users” and left the rest at their default settings.

To access your FreeNAS server from outside your home network, you must forward certain ports from your router to your NAS—the defaults are 80 for the web and 21 for FTP. For step-by-step instructions for your router, go to portforward.com.
Add Another Disk
To add another disk to your FreeNAS installation, shut down the server and install the disk, then restart. Essentially, you’ll repeat the steps you took to create the first data disk: Go to Disks > Management and click the plus sign to add a disk. Select the one that isn’t already mounted (ad6, in our case), give it a description, set its power management levels, and enable S.M.A.R.T. Unlike the first disk, you’ll have to format this one, so under Preformatted File System, leave it unformatted. Next, go to Disks > Format, select the disk you’re adding, and UFS (GPT and Soft Updates) as the file system. Give it a label, and hit Format disk. It may take a few minutes.
Once the disk is formatted, go to Disks > Mount Point and add it. Follow the previous instructions for mounting a disk, except the Partition Type will be GPT partition, and the partition number will be 1. Add it, apply the changes, and make it into a share. Voilà!
Advanced Steps
Because FreeNAS is based on FreeBSD, a Unix variant, it has an array of advanced features that aren’t necessarily easy for the *nix newbs among us. If you want to SSH into your FreeNAS server remotely, use rsync or Unison, set up a RAID array, or use the command-line interface to set permissions for files and folders individually, you’ll find plenty of help and documentation at the FreeNAS knowledgebase, forums, and tutorial websites like LearnFreeNAS.com. It might not always be simple, but FreeNAS is powerful, flexible, and free, and that’s a winning combination in our book.
FreeNAS vs. Windows Home Server
WHS: Windows Home Server trumps FreeNAS with its ease of use. You can schedule hassle-free automated backups for up to 10 Windows PCs without learning complicated scripts or using BSD.
FreeNAS: FreeNAS might not be as easy to set up as Windows Home Server, but it’s more powerful: Does WHS have a built-in BitTorrent client and iTunes library? Plus, it plays better with Macs and Linux/Unix machines.
WHS: WHS’s library of Add-ins lets you add functionality like automatic Flickr uploads and advanced power management. Plus, since WHS runs on top of a Windows kernel, you can use remote desktop to install additional server software for features like real-time video transcoding.
FreeNAS: FreeNAS has lower system requirements than WHS, which needs at least a 1GHz PIII and 512MB of RAM, as well as an 80GB primary hard drive. FreeNAS can be run from a CD, CompactFlash card, or USB stick, and requires just 128MB of space for its OS partition and 128MB of RAM.
WHS: A WHS machine has huge upgrading potential. Microsoft’s software makes it easy to add or swap out hard drives to expand server capacity without messing up your existing backups.
FreeNAS: FreeNAS is free. WHS costs around $100.