Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm wondering what's the best option for me if I want to move all my hosted websites (from a hosting company) to a server at my own home? Basically, the needs I have are:

  • be able to host websites using PHP/ASP.NET (haven't really decided yet - both would be preferred!)
  • enable FTP so I can create accounts for my family members to access the server for file handling
  • SSH
  • SSL - for secure connections (this is something you have to buy/apply for per domain, not sure if there are any server side settings that have to be made)
  • be able to stream video
  • remote desktop
  • host home-brew applications that can run as services
  • use either MySQl/SQLite/SQL for relational database storage

What should I think of before I buy a server? What hardware will I need, what will limit my server? I basically want to learn networking better as I'm a software and web developer but haven't had the resources to acquire any serious toys until now. At the time of writing, most of my websites have 60 visits/day so I don't suspect them to be very demanding.

Is there something I haven't thought of that I should have?

What OS would you suggest I run? FreeBSD vs Windows Server vs ?

share|improve this question
add comment

closed as not constructive by Mark Henderson Jan 15 '12 at 5:26

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

4 Answers

up vote 3 down vote accepted

Hey Zolomon, congrats on taking up this initiative! Get ready for a long, but exciting and rewarding path.

Here are my tips (short and sweet): 1. If you are doing anything where you need reliability, I'd keep yourself on a host to be safe so if you have hardware failures, etc. the host is liable for that and you don't have to worry about running to your local hardware store to replace the hard drive. 2. If you want to use the server at home, usually residential ISPs don't really give you the umph you need if it's serious, but if you are just running something small scale you should be fine. 3. If you want to save money, try hosting in the cloud. For a cheap rate (RackSpace imho), you can get a good server to mess with, have the backing of enterprise grade hardware, plus it's relatively cheaper compared to buying the hardware outright. 4. In addition to point 1, you can start at home, experiment, etc. and later on have it backed by the cloud if your server ever goes down at home for better redundancy. 5. I hate to be a fanboy, but I recommend trying this at RackSpace. You get all the fun of working with either Linux or Windows without the liability of maintaining your own hardware.

I'm in your shoes, or was. I have a linux box at home I use for gaming as well as development. I dual boot it. I do have a dyndns pointed to it and I occasionally use that to test a website I'm working on locally before pushing it to the host. I used to do shared hosting until I started hitting their server caps.

So, I switched to RackSpace (Amazon is good too, but their pricing is a little weird imho), because I can add servers, resize, delete, etc. and I only pay for what I use. I host various websites, icecast and shoutcast streams, and storage space all on a 512MB instance and pay roughly 20-25 USD per month.

So, I pay roughly 300 per year and I don't have to worry about hardware issues or data loss as even if the host unit my server is on goes down, RackSpace gives you the ability to have 3 images: A daily backup, a weekly backup, and a third at any time you wish.

share|improve this answer
    
I live in Sweden and I have to say that even though RackSpace.com seems like a very nice choice (even if they don't have any servers in Europe), they are very annoying to deal with. In almost every step from applying to cancelling your account they want human interaction with you (phone calls etc.), which I can understand but I really dislike. Thanks for the tip though! I'll look into VPS:s. –  Zolomon Apr 2 '10 at 17:32
    
I ended up buying an account at linode.com! :) –  Zolomon Apr 3 '10 at 8:34
add comment

I dont know where you are located, but here (EUROPE) the number ONE concern would be the uplink connectivity. i.e. for a 10Mbit/10Mbit up/down 1:1 leased line we pay something like 3000 EUR p.m.

I dont know what your availability/bandwidth requirements are. Maybe you can do just fine with a ADSL.

share|improve this answer
    
I have a 100Mbit/10Mbit up/down line, though I haven't checked with my ISP whether they would allow me to host a server or not. I use Telia at the moment. –  Zolomon Apr 2 '10 at 11:01
    
+1. End user connections of any sort are normally assymetric - more bandwidth down than up. THis means any visitor of your system would get the lower bandwidth as HIS downlink. Depending on your uplink speed that may or may not be a problem. Most DSL lines top out below 1mbit up - some VERY high ones go to 1mbit. THis is pretty good for a personal homepage without many pictures, but kills you once you get many visitors or do serve large (r) files, like an image collection. –  TomTom Apr 2 '10 at 12:19
add comment

Doing something like this is great experience, especially if things are not critical. There is nothing like controlling everything. You will be surprised at how little hardware you need. You do not need super powerful servers for low volume websites. The main thing will be security. Make sure you understand how to lock down your servers. You will get more of an education in security doing this than networking. Good luck!

share|improve this answer
    
I was hoping to learn both, since having a server I can play around with client/server solutions better. :) Thanks for a nice answer, can't upvote though! –  Zolomon Apr 2 '10 at 11:20
add comment

well when you want to run ASP.NET you are "stuck" with windows really. Not that such a thing is bad or anything... it'll do all the things you need just fine.

However,

I've experienced from my own VPS and my work that Windows servers "need" to be a bit beefier then *nix servers by default.

however, since you wish to run your own apps as services I take it those app's will probably be .NET based (since you are inquiring about ASP.NET hosting as well) as such, you ARE "stuck" with windows hosting.

Again, that being said... a Windows 2008 Server Web edition should suit you just fine and do all you want, and then some.

Question for you: What level of uptime do you want / require and how heavy will the load be ?

because... if you are expecting relatively low load, and have a machine capable of doing so (and don't need High Availability and failover clustering) you can look into Hyper-V R2 / ESXi as virtualization tools and then run VM's to do all your needs. you can then run the VM's in a virtual environment with for instance a Smoothwall firewall setup, Windows server as hosting OS and if need be perhaps FreeNAS (although I don't know how freeNas behaves in a VM environment) to do all your needs "professionally" but on a cost effective and fairly cheap solution.

Bonus to running freeNas (if able):

Make iSCSI volumes and you'll have shared storage for both your Web Severs so they can access a centralized storage medium for hosting, which will make your footprint for the server itsself fairly small (about the size of the OS and that'd be all).

share|improve this answer
    
And if I chose to go with *nix as an OS, if I can sacrifice ASP.NET? –  Zolomon Apr 2 '10 at 11:41
    
Many *nix (Linux and FreeBSD included) environments are supported by the Mono project, which provides .net support; including ASP.NET –  Chris S Apr 2 '10 at 12:55
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.