I decided to ask both of my questions in two separate threads
I would like to read people's thoughts and opinions on running a server, from people who currently have a server up and running, to people who've had experience in the field.
I ask simply because sometime in the future, I may want to run my own server so that I may host my own websites and other things on it. I am currently building a large scale community website, that I have some high hopes for, and hope I can make it successful. Should it become a hit, perhaps a shared web host that I am on could not handle the traffic and it would result in having to switch, which may cost more money, but having it on a server, it could be a whole different matter.
If I could read some of your thoughts and opinions, as well as maybe some up sides and down sides to running a server over having a shared host, as well as your own experiences, I would be grateful as I am very curious on this matter.
It was very sad the day when I realized I didn't have the money to keep on paying my dedi (layeredtech.com), but before that it was an awesome experience I personally find it highly amusing installing packages and the such.
My only bit of actual advice is, have 6 months of server cost at the ready upfront.
Running a web server isn't always as fun as it may seem :) Unfortunately, it does consume a hell of a lot of your time doing mundane routine mundane tasks.
I used to work for a dedicated server provider in the UK as a sys admin looking after some 450 servers and my daily task list went something like this:
1) check webserver, database server, mail server and general server logs for any errors / hack attempts / crashes / etc
2) Scan the relavant websites (php.net, mysql.com, etc) for updates to software and install / update them as nessacery (which usually involves spending 5 hours trying to get all the compiler flags correct for the modules you need :D)
3) Check server load to make sure nothing has hung and no processes are locked / crashed
4) Check the cron jobs (scheduled tasks) to ensure that they have run
5) Check the backups
6) etc...etc...etc... :)
If you just want to run 1 or more websites, I would fully recommend using a standard webhosting / reseller hosting account. The benifits of having a techie to do all your PHP / Apache / MySQL upgrades for you are priceless in my eyes :)
If you want to "try out" running a server before you decide to rent one, download yourself a copy of Linux (any brand of linux will do but Fedora is a popular free brand for servers) and install it on your own PC (duel-boot with Windows - most modern linux distributions can handle this without much trouble) and have a play.
One important thing to remember when you do this is that on a rented dedicated server it will all be command-line based - you won't have any fancy windows to point and click (well, unless you rent a Windows server of course :))
Colocation is usually the cheapest but you'll want to find one close to you so you can go in and replace hardware if it fails. That can get pricey. Colocation is where you provide the server and you rent space within a data center.
If you rent a server from someone then they will handle the hardware so you don't need anything close to where you live. This is usually more expensive than colocation. With this you can get managed and unmanaged. Managed is where the people you are renting from will keep software up to date and any other management tasks that need to be done on the server. Unmanaged means you do all of that. Managed is more expensive than unmanaged.
If you don't know anything about running servers and your website absolutely needs it's own box then I'd recommend spending the extra money to get a managed server.
There is also virtual private hosting. You share a box and resources with other people but you have your own server running as a virtual machine. You are guaranteed a certain amount of resources though. This is for those that need more than share hosting provides but don't have a need for a dedicated server. I believe you can get this in managed and unmanaged as well. Cheaper than a dedicated server and sometimes colocation.