So I turn on the PS3, AV Receiver - Browse my UPNP / NAS box and fire-up some tunes or lay back and watch an .avi - I didn't want Windoze bloated OS, so chose FreeNAS with MediaTomb (UPNP Server) and Transmission (Torrent client)
1) Download FreeNAS (http://wiki.freenas.org/)
Rip to USB Flash Drive; we're not wasting any slots or drives to install an OS - we're booting-up from the Flash Drive baby. Minimum 1GB.
Useful resource: http://doc.freenas.org/index.php/Main_Page
2) Once you're up and running, note that filesystem is read-only, you'll need to mount / -rw in order to make changes later once ssh is setup.
3) GUI is up and running on 80 - I use https (freenas/freenas default user/pass ) - Change this and obviously don't open this to internet. (use ssh tunnel)
4) Configure ssh from GUI and change default passwords
See http://doc.freenas.org/index.php/Main_Page for extensive info.
5) Configure disks and snapshots as required (I've got a couple of 500GB disks mirrored and a couple of smaller 200GB dedicated disks for downloaded media). Setup shares (Win/UNIX/AFP available)
6) Build MediaTomb (http://www.freshports.org/net/mediatomb/) - UPNP Server.
Very easy to use GUI driven. Ports is probably the easiest way to build it - it will grab dependencies as necessary. I execute it from rc.conf - you can run it in daemon mode to test using something like:
mediatomb -c /mnt<directory_of_your_choice>.mediatomb/config.xml -u www -g www (I'm dont like running as root, so I use www). Configure config.xml - mine is pretty much out of the box, but I've included support for PS3 by editing:
<protocolInfo extend="yes"/><!-- For PS3 support change to "yes" -->
I also hacked the .xml when PS3 code 2.70 came out. Avi's would no-longer play :-(
<map from=“avi” to=“video/divx”/> did the trick. (re-import all avi's)
Useful resource (http://mediatomb.cc/pages/documentation)
The important stuff (i.e. what you're sharing) can be configured from the GUI (default port 49152)
7) Torrent client - Transmission
Useful to download torrents direct to NAS; then use UPNP Server to share it out :)
(http://www.freebsd.org/cgi/ports.cgi?query=transmission&stype=name&sektion=net-p2p) - Very cool, easy to use and GUI driven too - (default port 9091). I save media to a dedicated 'torrent' share only with specific www user/group privileges. Remember - legal torrents only people.
# Transmission conf starts
# Transmission conf ends
Here's some useful doco's on settings.json:
https://trac.transmissionbt.com/wiki/EditConfigFiles - Can do just about anything from here like powering a small planet.