I was asked by a friend the other day about the details on running a website. From the effort required in maintaining a site to hosting and domain costs and what you should look for in a web server. The best way I could figure to answer all of the questions was to go off the only thing I had on the subject, my experiences running the WordPress-driven 404 Tech Support and a phpBB forum. After writing this up and talking about my experiences with others, we came to the conclusion that this information might be insightful for individuals wanting to know how to start a website and informative for those that are paying somebody to setup a website and know where their money is going. Although my experiences have been based on WordPress and phpBB, by-and-large this carries over to any general web hosting experiences.
I’ve been self-hosting (paying a specific hosting company, not a computer sitting under my desk) for about 2 years now. Before that, my site was on WordPress.com and for the forums I used Jconserv and then FreePowerBoards, a set of free forum hosting services. I first established 404 Tech Support on WordPress.com in June of 2006 and had the forums started around the same time on Jconserv.
Unfortunately, a few months after being on Jconserv its downtime was only getting worse and worse. When you did finally get to the site, it was incredibly slow. It was free but that didn’t mean it didn’t cost me the months of information that had been posted there. After a particular bout of being inaccessible, I created a new forum (still using a modified version of phpBB) on FreePowerBoards. Unfortunately, there was no way to backup and transfer the database from Jconserv to FreePowerBoards, so that information was truly lost. FPB seemed to promise that you’d be able to transfer the database but lo when it came to migrate off of that service after another few rounds of down-time or really, really slow service access to the database was unavailable. Although the service has seemingly relaunched itself under much improvements I only migrated one forum to my current phpBB forum at great difficulty.
Using WordPress.com was a different story. It worked well and fast for establishing the site and my blogging habits. I was able to familiarize myself with the WordPress software and admin back-end before I would later have more administration responsibilities. I finally left WordPress.com and very simply migrated from WordPress.com to my own WordPress.org self-hosted site. The reasons I wanted to leave WordPress.com was that I had run into a few ceilings since you’re not able to run ads or anything with Javascript on the site. You’re also limited from running many of the really cool plugins or themes on the free version.
Pros of a free service:
Free
Software is installed and easily configured
Cons:
No control
Ads
May not be able to backup/transfer db
Service could shut down at any time
Limited abilities on the otherwise open-source service
After jconserv and then FreePowerBoards started sucking hardcore and I was feeling growing pains on WordPress.com, I bought my own shared hosting for $5/month from HostICan in October of 2008. HostICan also had a deal that they would buy a domain for your hosting plan. All the hosting has to have in order to run phpBB is Apache (or IIS), PHP and MySQL installed. This shared hosting has dozens if not hundreds of websites all running on the same machine. This is normal for most shared hosting plans but you should take concern with companies that oversell their servers. To prevent you from negatively affect the other sites (like the Digg effect) on the server, they capped how much of the resources you could use, like 32MB of RAM and 33% CPU at any one time. This caused quite a bit of pain because I had to really worry about the efficiency of the forum and other software on the site because it all pooled together to affect the quota. This limit was so strict that I couldn’t even run the search indexing within phpBB to make the search function work because the task was too CPU intensive and if I tried it would redirect all visitors to an error message page.
Pros of shared hosting:
Cheap
Database & software is in my control
Free domain
Cons:
Domain is in their control
Limited usage of the server
They blocked Digg’s crawler so websites couldn’t be promoted in Digg. (not that big of a deal but an example of a minor detail that they chose something opposite of what I would have preferred)
After traffic picked up enough on my main site and I started hitting the ceiling in server functionality too frequently, I moved the forum and other databases to new server space costing $20/month at MediaTemple called Grid-Service. MediaTemple was getting lots of good buzz and GS was supposed to be a better way of doing shared hosting because instead of limiting your site, it allowed it to expand and use the resources it needed from a big pool shared with other sites. At the time I wanted to leave HostICan I had to have them transfer domain control to me (domain transfer is not something for those without patience). I setup an account with GoDaddy and still use them today for all my domain needs. Transferring the domain to my control cost about $8. Buying a domain differs but costs about $10 for a year for a .com or .net domain. With MediaTemple, I setup WordPress and phpBB again and transferred the databases over. Exporting the databases took some time because the export process even hit the CPU limitations of the shared hosting a few times.
Pros of GridService:
No limits to CPU/RAM usage
Faster
Domain in my control
Cons:
Digg effect
Server had lots of downtime as MT started failing
Cost more
Database and account security concerns kept coming up near the end.
When MediaTemple started sucking and was having more downtime than up, I upped the ante and moved to a Virtual Private Server with WiredTree for $50/month. The virtual machine gives a lot more control than any of the previous shared hosting had and is like having a full server except it’s sitting on some physical blade somewhere that’s shared by a few other VPS accounts. When moving here I again had to setup phpBB and transfer over the databases to keep all of our posts. This is where I’m at currently. The speed and uptime is the best I’ve experienced yet. WiredTree is based in Chicago so we benefit geographically for speed and service as well.
Pros of VPS:
Lots of control
Lots more resources to throw at the services
Faster network and page serving
Cons:
Cost is higher (but well worth it)
Summary
Hosting: I would recommend that you check out WiredTree if you are going to need the capacity or LiquidWeb‘s Standard or Web hosting at $15 or $20/month, respectively.
You probably won’t need a VPS for just running a forum. A lot of the beefing up of the server I’ve had to do has had to do with traffic increasing to my blog, WordPress not being very efficient with the different plugins, and me loading some inefficient plugins on there until I realized their effects. I’ve heard reports for great uptime and excellent response time. HostICan would also be feasible for just a phpBB forum but LiquidWeb would give room to grow and mess around with other development things.
Domain: Buy your own. Control it. It costs a little bit every year (or discounted if you buy it for more than one year at a time) but that gives you the freedom to redirect it to whatever server you want. If a server/service goes down, you can at least salvage that you won’t have to get the domain out to people again. I recommend using GoDaddy. They work and have some nice features like forwarding that might come in handy. Their website is atrocious and really busy but once you learn where you need to go (the rare times that you do), you can get in, do what you need, and get out.
Effort Required: It varies wildly. It depends on how whiny people get about ways certain things work and whether or not I want to install a mod or other things. Installation for most php/SQL-driven web apps these days is pretty straight forward.
1. Download the software
2. Create a MySQL database
3. Create a MySQL User
4. Give the user full access to the database
5. Edit a file in the software for configuration with the database information.
6. Upload the files to your server.
7. Visit domain.com/install.php to install the service (essentially creating the database tables and other configurations)
phpBB Tips: Use AutoMod from the beginning to install any mods. Get some sharp BBCodes setup to make things more feature-full. Get everything fully setup before you tell people about it because it’s harder to satisfy everybody again.
I think that tells my story. Perhaps in another year or so, I’ll be on to dedicated servers. I bet I’ll still be with WiredTree though. Feel free to ask any questions and I’ll try to clarify.