Thread: making a home server

  1. #1
    l'Anziano DavidP's Avatar
    Join Date
    Aug 2001
    Location
    Plano, Texas, United States
    Posts
    2,743

    making a home server

    I am looking into getting a mini-desktop computer to use as a home server which I could access from anywhere using DynDNS.

    I was wondering if yall had any suggestions regarding this.

    I have considered primarily 2 computers:

    Mac Mini
    Dell Inspiron Zino HD

    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

    Thanks for any input.
    Last edited by DavidP; 01-26-2010 at 01:54 PM. Reason: grammar correction
    My Website

    "Circular logic is good because it is."

  2. #2
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,412
    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.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    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.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  3. #3
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    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.
    Last edited by MK27; 01-26-2010 at 02:34 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  4. #4
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,412
    Quote Originally Posted by MK27
    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.)
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    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.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  5. #5
    l'Anziano DavidP's Avatar
    Join Date
    Aug 2001
    Location
    Plano, Texas, United States
    Posts
    2,743
    Personally, I feel that for #2 and #3 a VPS would be a better option.
    I had never really considered a VPS. I found these options going along that road that seem reasonably priced:

    SliceHost
    Linode

    In terms of just using an older machine:

    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.
    My Website

    "Circular logic is good because it is."

  6. #6
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    28,412
    Quote Originally Posted by DavidP
    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.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    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.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

  7. #7
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    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.

    For file, remote processing, etc just another old box running Debian. For video/audio serving we have three 2 TB NAS servers (all low-power):
    US Robotics USR8700 NAS Server ( USR8700 ) - Network Storage - U.S. Robotics Storage

    These have been running 24/7 for four or more years and have never messed up. They come with a nice web interface but run Redhat under the hood I think. Quiet, reliable. Time to buy more...
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  8. #8
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    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.

    Measure twice, cut once, so to speak.
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  9. #9
    l'Anziano DavidP's Avatar
    Join Date
    Aug 2001
    Location
    Plano, Texas, United States
    Posts
    2,743
    Thanks for the options you linked me to, jeffcobb.

    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.

    Anyways, thanks for the info! Still mulling over the options...
    My Website

    "Circular logic is good because it is."

  10. #10
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    Quote Originally Posted by jeffcobb View Post
    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).
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  11. #11
    l'Anziano DavidP's Avatar
    Join Date
    Aug 2001
    Location
    Plano, Texas, United States
    Posts
    2,743
    MK27, where do I find this unmanaged option of which you speak? The baseline for SliceHost is $20, and you implied through your post that you can get something cheaper than this if you go "unmanaged".

    Are you talking about the service offered by SliceHost, or a different company?
    My Website

    "Circular logic is good because it is."

  12. #12
    spurious conceit MK27's Avatar
    Join Date
    Jul 2008
    Location
    segmentation fault
    Posts
    8,300
    I've been using these people since last summer:

    Xen Hosting by VPS Village


    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.
    Last edited by MK27; 01-26-2010 at 05:17 PM.
    C programming resources:
    GNU C Function and Macro Index -- glibc reference manual
    The C Book -- nice online learner guide
    Current ISO draft standard
    CCAN -- new CPAN like open source library repository
    3 (different) GNU debugger tutorials: #1 -- #2 -- #3
    cpwiki -- our wiki on sourceforge

  13. #13
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    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.
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

  14. #14
    Woof, woof! zacs7's Avatar
    Join Date
    Mar 2007
    Location
    Australia
    Posts
    3,459
    Quote Originally Posted by davidp
    ...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.
    Code:
    zac@mercury:~ $ uname -mpi
    i686 VIA Nehemiah CentaurHauls
    zac@mercury:~ $ cat /proc/cpuinfo 
    processor	: 0
    vendor_id	: CentaurHauls
    cpu family	: 6
    model		: 9
    model name	: VIA Nehemiah
    stepping	: 8
    cpu MHz		: 1002.121
    cache size	: 64 KB
    ...
    zac@mercury:~ $ uptime
     14:26:08 up 206 days, 2:21,  4 users,  load average: 0.17, 0.30, 0.13
    I would say, try build a micro-ATX server (most CPUs are soldered on). That way you've got most of the components, the case from the AMD, hard-drives, perhaps even memory.

    And beware of making SSH visible to the world, the amount of attacks I get even running a non-standard port is bizarre.
    Last edited by zacs7; 01-26-2010 at 09:28 PM.

  15. #15
    Registered User jeffcobb's Avatar
    Join Date
    Dec 2009
    Location
    Henderson, NV
    Posts
    875
    Quote Originally Posted by zacs7 View Post
    Careful, they get pretty damn hot.


    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....
    C/C++ Environment: GNU CC/Emacs
    Make system: CMake
    Debuggers: Valgrind/GDB

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. "Blob" server?
    By cyberfish in forum Tech Board
    Replies: 10
    Last Post: 12-03-2009, 12:03 AM
  2. Replies: 15
    Last Post: 10-20-2009, 09:39 AM
  3. Connecting to Server
    By osal in forum Networking/Device Communication
    Replies: 58
    Last Post: 06-10-2004, 10:10 AM
  4. IE 6 status bar
    By DavidP in forum Tech Board
    Replies: 15
    Last Post: 10-23-2002, 05:31 PM