You could use any sever for that. Get yourself a Linux based server for cheap, put Samba (file server program) on it.
I got a dell poweredge 2950 server for free, from a friend that works IT for a company that was upgrading all their equipment. But you can find them on ebay for under $300 with dual quad core processors in them. They are old, not crazy powerful. But more than enough for a file server. They are better than using a PC for the server, because they have redundant power supplies, and more RAID options. You could put your several 1tb drives in there, and even run them on RAID if you want so that everything you store on one, is saved on another as a failsafe backup.
You would use Samba to set it up as a file server, then create account user names and passwords.
From there you just need a way to connect to it when your on a different network (not at home).
For that you use Dynamic DNS. There are some free DDNS websites out there, and some paid ones.
But basically you pick a domain (myhomefileserver.com for example) and the website will always link it to your ip address that you get from your ISP, when your ISP changes your ip address, the DDNS will automatically change you can always have access.
EDIT:
I guess you could really use any PC for the server too. But I would run a Linux one.