Web Hosting - Roll Your Own vs Hosting Company?
Case42 asks: "My former webhost company was recently acquired by a larger company that I find myself increasingly dissatisfied with. This presents me with a dillema and a question for all you slashdotters. Do I find another webhost or bite the bullet and host the site myself? I have a decent DSL connection and my site is low traffic, so i'm not concerned about the bandwitdth too much. I'm a sysadmin by trade so i can handle the technical aspects of setting up and running the site without a problem. Despite the fact that it means yet another system to administer i'm leaning towards hosting the site myself, anyone have any horror stories trying to host their site from home, any excellent webhosts out there?" How much traffic could a typical, residential DSL connection take out there, anyways?
...for a while anyways. I've always run a Linux gateway for my home network, so I figured, adding Apache would not be a big deal. And it wasn't, so I was happily hosting my own website, plus a couple more for a friend of mine.
This of course was in the good old days when Rogers Cable was not yet Rogers@home, and they were giving out static IPs. (I live in Toronto, Canada). Right now they have dynamic IPs, and they actually drop your connection on purpose, just to change your IP. Kiling dhcpcd and then restarting it solves the problem, but it's annoying nonetheless. This would definitely be a problem with DSL too.
There are some work-arounds. One is to get a domain name with dyndns.org (e.g croco.dyndns.org), which can be updated through scripts any time the IP changes. Then set your real domain name to resolve to croco.dyndns.org I haven't tried it, but it might work. Of course, it adds one more layer of latency on an already slow connection. Not to mention another failure point (what happens if dyndns craps out on you?)
Another way that I can think of is everytime the IP changes to log into your registrar and change the IP the domain resolves to. But this is tedious, unless they also support changes through scripts. I am yet to find a registrar that does.
But those are not the biggest problems (small bandwidth and dynamic IPs). The show stopper for me was the reliability of the connection. You might not notice the out times during the night or when you're at work, or simply away from your computer. But believe me, they happen. And someone trying to visit your web site will too. Worst of all is that in my case, Rogers doesn't even bother announcing the outage. The worst example? I was in the middle of my university course selection when the connection crapped out on me, and I lost all the changes I made. Needless to say, I was fuming! The fact that my web site wasn't available either was a minor issue by comparison.
So I say find yourself another decent web host, if you care about the reliability and availability of your site. There are plenty out there, good and cheap. But if you don't care if your web site might die on you without any notice, then by all means, host it yourself. It's an enjoyable experience, and you'll learn something.
While we offer DSL (and allow running servers on DSL, with static IPs), many members choose to colocate 1U or 2U servers to run their own web site(s).
This approach eliminates the reliability, latency and bandwidth issues that come from locating the server in your home, at the tail end of a DSL circuit. You get the same high-availability power, cooling, and connectivity as the managed services customers in the next room, at a fraction of the cost.
The biggest difference is that unlike hosting at home via DSL, turning up the bandwidth from 384K to X megabits is simply a matter of a cutting a larger check to the association, and a simple configuration change at the gateway router.
Each member gets a subnet (usually a /29) on a VLAN dedicated to their machine(s), with hard and soft bandwidth limits courtesy of Cisco's Rate Limit IOS Commands. This ensures that no one user can eclipse another, nor steal/spoof their IP addresses.
There are two major drawbacks -- This approach isn't cheap, and hardware upgrades and related repairs take some coordination for physical access to the shared rack space.
I do not deploy Linux. Ever.
We used to host our own mail and several small sites. There isn't much to it. You'll just need to set up a system and make sure it's secured. I used an OpenBSD firewall, but even one of the small NAT/firewall boxes will work fine.
The only downside is that you won't get the uptime of a colo center. I used SpeakEasy SDSL and while reliable, they weren't 100%. You just have to ask how important this site is and whether you can be down a day every month or two. Also, do you want other poeple using YOUR bandwidth?
Get a quiet system to run this on, as the whirring of a server will get old.
mod_gzip: use it. It will speed things up a lot
mail: if you are prone to outages, reboots or loss of power, you probably don't want to send your mail to your local box. Get a cheap $5 account and send all mail there. My connection went down when I was away on vaca and I lost lots of mail.
quiet: I kept my PC in my bedroom. My PC was loud. At times it would keep me awake or I would sleep on the couch. Get a quiet PC if possible
backup: Don't forget to backup. shit happens.
I used to host at home over SDLS, than northpoint went out of business. That sucked.
My replacement was an ADSL connection with a slower uplink and the tendency to drop the connection every few days. The only way to get the connection back is a hard reset of the DSL gateway/router. Damn!
I have since switched back to a 3rd party host.