Drunkard's Walk Forums

Full Version: Home server - what do I want?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(Amazing how often I think of this forum as a tech resource...)

I need to set up an internet-connected server at home so that I can make some files available. Now, when I think "server," I think "2U rack-mounted box connected to the SAN and backup tape library, with firewalls between it and the Internet." That's overkill for what I want here.

I'll need to set this up so that only people with a password to be able to download files. A web server, or something that's equally as easy for a non-technical person to use, appears to be indicated here. I assume a firewall of some sort is also necessary - the firewall in most DSL "modems" is designed for incoming traffic, not outgoing traffic. While a FTP server, a wiki back-end (preferably the same one that FenWiki uses), and a VPN host (I have a static IP address, but nobody else in the possible VPN does) would be nice, they're future projects, not essentials at the moment.

I don't yet know what OS is going to be on this box - recommendations there would also be appreciated, but no OS-wars, please. The hardware will be a PC out of my spare-parts box, so definitely not cutting-edge. Or even "trailing-edge," probably.

While a turnkey solution would be considered - time is tight and I'm busy - "free" trumps "easy" here, and I do have security concerns about turnkey solutions in general.

What do I need, and where do I get it?
--
Rob Kelk
"Governments have no right to question the loyalty of those who oppose
them. Adversaries remain citizens of the same state, common subjects of
the same sovereign, servants of the same law."

- Michael Ignatieff, addressing Stanford University in 2012
I really don't know much for the server work, but I know the two main choices for software are either some sort of MSSQL Server or Linux. You might be able to set up some sort of network-attached storage or use a dummy machine for people to RDP/SSH into and use as a go-between.

The easiest (and free, too) way to handle this, though, is to get in on a Cloud network like Google Drive. Your guess is as good as mine for security, but so long as this isn't sensitive data you're transmitting I think it's a workable option.
---

The Master said: "It is all in vain! I have never yet seen a man who can perceive his own faults and bring the charge home against himself."

>Analects: Book V, Chaper XXVI
MSSQL (or MS*, for that matter) isn't free, is it? And why would I need a database of any sort to serve files?
--
Rob Kelk
"Governments have no right to question the loyalty of those who oppose
them. Adversaries remain citizens of the same state, common subjects of
the same sovereign, servants of the same law."

- Michael Ignatieff, addressing Stanford University in 2012
Hell if I know? I'm not really a network person. That's just the one way I'm somewhat familliar with.
---

The Master said: "It is all in vain! I have never yet seen a man who can perceive his own faults and bring the charge home against himself."

>Analects: Book V, Chaper XXVI
http://www.microsoft.com/sqlserver/en/u ... ry-it.aspx]MS SQL Express can be downloaded for free from Microsoft's website. Go down to the fourth bullet point on that page, "SQL Server 2012 Express".
-- Bob
---------
Then the horns kicked in...
...and my shoes began to squeak.
For simply serving files, I'm not sure what you'd need it for. I've read some stuff about serving files that are stored *in* a database, but that's getting kind of exotic.

On the other hand, databases might come up in relation to the "password" part, if your requirements for who gets access to what are very complicated.

If those requirements are simple, you might consider just starting with the ftp server, and maybe having a webserver with a page pointing to it if necessary. Access control is a standard part of ftp servers and shouldn't require you to do anything too exotic to get it working.

-Morgan.
Serving databases is an ENTIRELY different animal from what you want.  You want a file/web server, not a DB server.  Much cheaper and easier.
The first way to do this is Linux, and I will be the first to admit I have basically no idea what you need for that.  I suspect the right apps and/or distro could give you a LOT of server functionality in a fairly small amount of computer-space, but I'd not want to tackle that.
As far as Windows goes, the best options are, Windows Server 2008 and Win7.  Server is outside the budget (and I don't need to know the budget), and 7 is too big for a frankenputer.  If you wanted lost of options, simple configuration, and didn't mind spending some dosh, you could probably pick up a used copy of Server 2003 off the 'net.  It's XP-based, so that's not such a big drain on your hardware.  Short of that, XP itself, with the right apps, can be a file server, FTP/VPN server, and a number of other things.
As for firewalls, I'd say you should plunk down a software firewall on the server, and do some aggressive port blocking on your router.  Between the two of those, you'll get some quite decent security.

My Unitarian Jihad Name is: Brother Atom Bomb of Courteous Debate. Get yours.

I've been writing a bit.
I'm messing with Windows Home Server and I mean that literally for I'm not quite sure on what I want to do with it but I know I want it to do more than the two NAS boxes I've got. Picked up a HP ProLiant MicroServer to do it on, too. The obsolete Dell poweredge I got from ebay is just too loud for home usage. Still MS is dropping WHS, they'd want a procumer to use a version of Server 2012 instead.
Bluemage Wrote:Serving databases is an ENTIRELY different animal from what you want.  You want a file/web server, not a DB server.  Much cheaper and easier.
That's what I thought, which is why I asked when Ankhani suggested SQL.

(Sure, I could use a DB server for a different project down the road, but it would still need a front-end to the 'net... which is why I mentioned the wiki server in my original post.)

Bluemage Wrote:As for firewalls, I'd say you should plunk down a software firewall on the server, and do some aggressive port blocking on your router.  Between the two of those, you'll get some quite decent security.
I fully intend to use a deny/allow security structure (deny everything that isn't explicitly allowed), not the too-common and too-insecure allow/deny structure (allow everything that isn't explicitly denied - who came up with that bit of idiocy for a world-readable system?).
--
Rob Kelk
"Governments have no right to question the loyalty of those who oppose
them. Adversaries remain citizens of the same state, common subjects of
the same sovereign, servants of the same law."

- Michael Ignatieff, addressing Stanford University in 2012
The nice thing about a "real" server OS is that it includes some form of real user management.

If you go with Windows server, for example, you get Active Directory, which gives you a -lot- of control over user access, computer access, and so forth. I've worked rather extensively with it and am sorely tempted to use it on my home network, I've got a lot of stuff and an old copy of Server 2000 from a couple of jobs ago.
--
Sucrose Octanitrate.
Proof positive that with sufficient motivation, you can make anything explode.
There are some Linux-derived "server in a box" distros that essentially install as servers on any old hardware, and usually let you set up your config without needing to know how to edit the various config files.  I haven't played with any in a long time, but ClarkConnect is one that I recall seemed to have a fairly easy setup. 
Hm... now called "ClearOS," apparently.
This looks like a decent howto:  http://linuxhomeserverguide.com/

paladindythe

Here's a discussion of various options:
files in general:
http://twit.tv/show/know-how/1
Media in particular:
http://twit.tv/show/know-how/4
These are ~30 min techie shows