making a home server

This is a discussion on making a home server within the Tech Board forums, part of the Community Boards category; I am looking into getting a mini-desktop computer to use as a home server which I could access from anywhere ...

The Dell is certainly the better of the two in terms of costs. For about $400, I could get a dual-core AMD processor, a 250 GB drive, wireless adapter, dvd drive, and 2 GB of memory. I'd probably repartition it and put Linux on it, and run LAMP.

The Mac Mini depends on the model I would get...if I went that route. All models are more expensive than the Dell. The $599 Mac Mini would be roughly equivalent in terms of specs to the Dell Zino HD that I've configured, while the $999 server edition would supercede it quite a bit by offering double the memory, an extra hard drive, and Apple's Mac OS X Server operating system, but at a sacrifice of the optical drive. The optical drive I'm not too worried about, but the price tag definitely is a factor.

If I did the $599 Mac Mini, I'd probably run MAMP, whereas if I did the $999 Mac Mini I'd probably use the server software that comes with Mac OS X Server (which I do have experience with from past jobs).

I'd like to get yall's input on what you think the best option is, or maybe even get ideas from yall based on solutions that you have implemented in your own homes.

I would use the server for the following:
1. backup data from my primary computer
2. use it as a code repository that i can access from anywhere
3. host a website
4. store audio/video media for personal use

Personally, I feel that for #2 and #3 a VPS would be a better option. For #1 and #4 an external hard disk drive would be a better option, except that it would still be better to use a VPS (or other online storage) to backup important data at a location away from your home.

I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.

Yeah, I have a VPS and it's great. Certainly, it's a way better option that running a dedicated box just for a web site and your own remote use.

Drawbacks:

1) if you can't deal with an unmanaged account (where you set up and run the server with no help), then it is going to be at least $20-30+ a month.

2) Storage space is limited, which laserlight addresses.

Beyond that, unless you are expecting a consistent load of several dozen clients or more, 24/7, just use a cheap old piece of junk. A half dozen instances of apache take up less than 100 mb of ram, and the OS itself (linux, sans GUI) only needs a few gigs of hard drive. The processor usage is also minimal. Serving web pages and other remote services on a small scale is very low stress and requires next to nothing WRT to hardware. If remote access for issues #1 and #4 are essential (hence, you don't want to pay monthly for storage) then it's just a bigger HD that's needed -- the rest of a nice new system will just be going to waste.

Beyond that, unless you are expecting a consistent load of several dozen clients or more, 24/7, just use a cheap old piece of junk. A half dozen instances of apache take up less than 100 mb of ram, and the OS itself (linux, sans GUI) only needs a few gigs of hard drive. Serving web pages and other remote services on a small scale is very low stress and requires next to nothing WRT to hardware.

Incidentally, if the website that you plan to host is completely static, you could consider using something like Nginx instead of Apache. (If it is not, you could still use Nginx to serve the static files and proxy to Apache for the dynamic stuff, but that may be considerably more work with little gain for you.)

I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.

I currently have 2 older desktops at my disposal, but I am hesitant to use either for the purposes I described. One of the desktops is a 486 running Windows 3.1, and I'd like to keep it that way

The other is a computer I built myself several years ago with an AMD Athlon processor (somewhere around the 1 GHz mark...can't remember exactly), GeForce 2, about 386 MB of memory, and two hard drives coming in at 40 GB and 8 GB. I've been planning on selling the thing off simply because it runs really hot and it's really loud. The extra case fan I installed in it a few years back sounds like an airplane getting ready to take off.

If I run a dedicated box in my apartment, I want it to be small, use very little power, and be extremely quiet. Hence the Mac Mini and Zino HD options I was considering.

In terms of off-site backup: I've got 2 GB of off-site backup storage with Mozy simply for files that I deem essential and cannot lose. That's the extent of my off-site backup right now.

I found these options going along that road that seem reasonably priced:

SliceHost

I have a 256 slice that I use for version control and test websites. Linode might have a slightly more bang for the buck package, but I decided not to switch given that I found Slicehost's admin interface and support to be very good.

I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.

Well we use a laptop with a broken lid for our webserver (WordPress and Apache on Debian) (http://jbcobb.net)since w/o a display the laptop is awkward, we use one of these as our mail server (and can act as a torrent/file host):Excito | Small and silent server for a pair of very low-power solutions.

David;
One thing I would like to add is this: home servers and networks are a highly-unique and personal thing; what is right for one person is horribly wrong for the next. Pick what you need, not what someone tells you to do. Some folks solve problems by throwing hardware at them; others figure out creative (although usually more work-intensive) solutions using existing hardware. For example instead of the dedicated NAS shells I use I could have (and used to) run FreeNAS on a scrap box. Power requirements are what lead me to this solution. Also I want more direct control over my website and other servers/services so I run it in-house which makes me happy. I don't want to depend on anyone else other than to give me my basic static IP.

The Excito looks like a nice option that rivals both the Mac Mini and the Zino HD. Although its processor seems less powerful, it has more disk space. It worries me that it doesn't have wireless, though, as I will need my solution (if I decide to go this route) to be able to connect to the internet wirelessly as it will not have direct wired access to the router. I know I can get some small USB devices to handle this though.

I keep looking for reviews by people who have tried setting up the Zino HD as a server running Linux, but I can't find much.

In terms of using an old laptop, I've also thought about that. My current laptop computer (my primary machine) may or may not be replaced soon (I'm thinking about getting a new laptop), and if I do so, I could always set up my current laptop to be a server of sorts.

I want more direct control over my website and other servers/services so I run it in-house which makes me happy. I don't want to depend on anyone else other than to give me my basic static IP.

That's why I like the "unmanaged" option: you get a slice with your choice of OS installed and ssh running so you can log in. After that, you can do whatever you want (such as configure and run a web server); the provider may maintain a local repository (for linux) or you can download software packs from elsewhere. There's no admin panel, you don't have to (in fact, can't) ask anyone to do anything, no one else touches your system. It's also half the price (and way less than paying for a static IP at home).

That is the "unmanaged VPS" branch of groknet, which when I signed up it was all together and clearly delineated, which now it does not clearly refer to the fact. I did look at slicehost and can't remember whether they do or not, and it's not clear on their site either. But googling "unmanaged VPS" turned up a few other names.

I run a dedicated chat server on this with a control client connected here whenever I'm online. The control client pings the server every five seconds, so I have a pretty good idea of whether it is running nicely a lot of the time (if the server slows way down, the ping will fail and I find out). In the past six months, there was one weekend when everything was out (and we got an apology and explanation). Occasionally (once or twice a month) I'll notice it becomes erratic for an hour or so. I know nothing about hypervisors, so it could be that someone else on that box is getting away with some expensive processing periodically -- since I'm only paying $11/month,* it doesn't bother me enough to complain. Someone in Asia once complained the connection time was slow, they are eastern seaboard I believe. Other than that, they seem pretty great to me, a competent sys admin type person answers the phone 24/7, friendly, etc.

If you're comfy with the command line and console apps, it's just like home. I logged in, installed mc as a file browser, and was off to the races.

*128 mb RAM, 8 gb storage. Right now I'm using less than half the storage (the initial OS, which is enough for a web server, is about 2 gb) and haven't once had any memory use issues -- altho I also never get more than 5-10 simultaneous connections. It does occupy (almost) the entire 128mb most of the time. I think I have apache set to run 4 instances of 25 threads or something, plus mod_perl (which is usually considered memory intensive; the reason I got into the VPS was because normal hosts will not provide mod_perl unless you pay more). I believe it could deal with a fair bit more traffic as is but have not tested that.

BTW one thing about using an old laptop as a webserver:
1. You have hands-on access to the HW if needed.
2. The battery in it means built-in UPS ^__^
3. If you like to experiment like I do you can change the SW/OS on it all you like w/o asking someone to do it.

...to connect to the internet wirelessly as it will not have direct wired access to the router. I know I can get some small USB devices to handle this though.

Careful, they get pretty damn hot.

My server is 1.0GHz and micro-ATX board. It's plenty for what I do, and it eats almost no power . I use it for backups, web server, svn server, schedule downloads so I can get them off-peak and a distributed compiler (distcc). It runs a tiny fan on the CPU, meaning the only other fan is the PSU. The only thing I want is a bit more horse-power to record live-tv, or run a headless virtual machine.

And beware of making SSH visible to the world, the amount of attacks I get even running a non-standard port is bizarre.

Agreed and seconded. I only make SSH available on an as-needed basis and then its with an intense password on a non-standard port.

I left a standard SSH port open for a while when I first moved here and one day was watching the slow lazy zombie attack in real-time....that I was being attacked did not bother me as much as the fact that it was a distributed, *coordinated* attack...I saw one hit come in from (say) illinois...then a few minutes later another come in from the UK using a password one character off from the previous...then a minute later one from alaska...same thing...checked my logs and it had been going on for a while. Moving to a non-standard port stopped it immediately and it has not repeated but in a "belt and suspenders" moment, I also set it up to only be open to the world when I command it to from this side of the FW. Also the password looks like the VIN number from my car...its NOT but it looks like it...IOW no dictionary attack will work which is what they were using before...

Miscreants...

And that is another thing: build the network that is right for you and more importantly make sure you feel comfortable about securing it....