phpBB and hosting choices

In this post I look at the three basic types of hosting out there and discuss their strengths and weaknesses: shared hosting, virtual private servers and dedicated servers from the perspective of phpBB.

Shared Hosting

Shared hosting means that one web server is being shared by many domains and customers. It’s generally inexpensive and for most people hosting a phpBB forum it’s a logical choice. And that’s because most phpBB forums have specialized communities interested in topics with a narrow focus. Total posts may be in the thousands. It’s rare for a forum to have more than 100,000 posts. Spending $5 or $10 a month to host a forum is certainly cheaper than the more costly alternatives.

Like Amazon Web Service’s PaaS (Platform as a Service) you generally don’t have to worry about the small stuff with shared hosting, which is good because chances are your knowledge of web technologies is not great. You want to leave the heavy lifting to those who know what they are doing. You often don’t know or care what operating system is being used and you sure don’t worry about upgrading it. The web host does all that for you behind the scenes.

But (and you knew there would be a but) you don’t get something for nothing. With shared hosting, many others are using the same machine and they may be using a lot of the server’s resources, slowing down your access or access for the people using your site. Shared hosting often comes with caps on resource utilization that tend to be not widely known. This can lead to some frustration and heartburn, but not always. Some shared hosts do a good job of balancing demand on a server. Others are trying to squeeze out all the profit they can and flood a server with many domains, leading to a lot of these problems. Those who are disgruntled move their domains elsewhere but many don’t because they don’t know how.

Even if you and your users don’t notice performance issues or resource limitations, there are some downsides to using shared hosting with phpBB. One I see all the time and keeps me gainfully employed. Resource limitations can cause upgrades to fail and there is no way to circumvent the problem as shared hosting means “one size fits all”. Some hosts will be embarrassingly far behind on the technology stack causing issues like you want to upgrade phpBB but they don’t support one of the newer versions of PHP that you need.

Busy boards generally find that at some point they outgrow shared hosting. There are too many mysterious HTTP 500 errors. Users get blank screens or posts take forever to process. Or they exceed quotas, like the number of inodes (files and directories) allowed.

With luck you can make shared hosting work for you, if you have a good web host and your needs are modest. It is the cheapest way to go.

Dedicated servers

The opposite of shared hosting is a dedicated server. This is a machine (generally with both a web server and a database server on it) that’s all yours. Even very busy forums will have a hard time making a dedicated server sweat, assuming it is properly configured and maintained. Performance is sweet but it comes at a price. Dedicated servers are expensive, typically hundreds of dollars a month to rent. Even worse from the perspective of many is that since it’s your own server, you are responsible for it. You have to worry about upgrading the operating system, database and various utilities. These are not skills most people have. They can be purchased but just buying the services of a system administrator to do this work for you can cost hundreds of dollars a month. Dedicated servers are great for those with deep pockets and for very busy boards with hundred or thousands of posts a day and lots of reading there may not be any other choice.

Virtual private servers

A virtual private server (VPS) is actually a shared server, but you have your own separate operating system and software and you are guaranteed your share of the server’s resources based on your contract. These tend to be a sweet spot for growing boards, but costs tend to start at about $50 a month. It’s called a virtual server because it appears that you have your own server but it’s not actually true. But from your perspective it is your own box, which means like a dedicated server you have to worry about upgrading the system, malware and all sorts of issues or pay others to maintain it for you. Some VPSes are not quite enough for very heavily trafficked boards. You may have to buy a dedicated server or close up shop. Most have generous quotas but if you have lots of files or very big files, the 100GB or 250GB quotas on these machines (including the operating system) may not be enough and hosting may get very expensive.

Where to host

There is a huge amount of competition among web hosts, which keeps costs down. But as you know you don’t get something for nothing. Hosts that charge $1.99 a month are probably going to be hard to get a hold of on the phone when issues arise. You are also likely to find lots of problems: slow page loads, frequent timeouts, etc. Moreover, with all the competition a good web host today may be a bad one tomorrow.

It helps to ask around for recommendations as well as check out online hosting reviews, but hosting reviews should be taken with a grain of salt. Many make money by steering you to certain hosts.

Over fifteen years or so I’ve moved from host to host many times, but I am fortunate to have the technical skills to do this if I don’t like the service. I’ve used both shared hosting and VPS hosting. Some of the hosts I used no longer exist, or were acquired by other more moneyed hosts. Here are some of my current hosting recommendations. FYI, I currently make no money in referrals so my advice is at least honest.

  • Shared hosting. I’ve had good luck with Hostgator now for about five years. It’s far from a perfect host. The ticketing support is slow and generally takes a day or two. Phone support is faster but wait times can be aggravating. But resource issues tend to be few and the hosting tends to be reliable. At $10 a month or so it tends to be a decent value. It gets a solid B grade, which considering the margins in this business is a good grade.
  • Virtual private servers. When I had more complex needs I had a VPS with MediaTemple. MT is a classy and solid web host with well engineered solutions. Their prices are not the cheapest but they tend to offer the best value. Their Grid Service is essentially shared hosting so if you have deeper pockets consider them for your shared hosting needs.
  • Dedicated servers. I’ve never needed a dedicated server myself but I often work with clients who have dedicated servers. Again, MediaTemple plays very well in this market. Softlayer (which also offers VPSes) also has thought through this hosting very well, and offers all solid state drives.

Some hosting notes

  • GoDaddy is the 800-pound gorilla host you probably have heard about already from all their advertising. It used to be terrible but now warrants a solid C+. Technical support in particular has improved from being abysmal. You can do worse than GoDaddy for sure, but it is heavily marketed and they are constantly trying to sell you services of dubious value.
  • Cloud hosting for phpBB is really not yet quite a thing, in that it’s hard to find installation packages with phpBB prebuilt. In addition there is a learning curve with cloud hosting. Unless you know what you are doing it’s probably best avoided right now. Moreover, you can probably get a better value with traditional hosts.
  • Many hosts offer CloudFlare or a similar Content Delivery Network (CDN) free in its basic form, but you have to specifically enable it in the web host’s control panel. This is a great way to improve the speed of your page loads, but it only works with static content like pictures. It does this by putting content geographically close to your users, usually meaning there are only 2 or 3 “hops” between a browser and the content. However, phpBB serves almost all of its content dynamically out of a database, so there’s little reason to pay extra for it. Ideally you will have a web host that is large enough to be its on CDN so the number of “hops” between routers is minimal.
  • I think it’s best to go with a one year contract. This way you are not out too much money, but you save some money compared to month-to-month leases. After a couple years of experience you might want to lock in a longer contract for additional savings.

March 2016 work summary

I did lots of upgrades for clients in March. Of course, client information has been anonymized:

  • I upgraded my digests mod installed on a client’s site from Digests 2.2.26 to 2.2.27 with the latest patches to address probable error of posts missing on a phpBB 3.0.12 board. phpBB was integrated inside a Joomla content management system, but there were no issues.
  • Troubleshooting. User was running out of quota again for physical volume. I deleted some archived error logs to give him some breathing room. I also deleted two unused databases that were triggering errors. Two days later I setup a cron job to remove error log archives monthly, hoping this would not trigger future quota emails. I also set client’s Web Host Manager (WHM) to give disk warnings at 90% and critical warnings at 95%.
  • Converted a forum from vBulletin 3.8.9 to phpBB 3.1.8 on new hosting. There were issues due to shared hosting limitations that triggered a MySQL max_questions limit error. When I ran the conversion program for vBulletin, I discovered some bugs in conversion program as well that I had to work around. I commented out code for populating the phpbb_banlist and phpbb_log tables, and some code that caused a HTTP 500 error on last=7 in the final step. None of these issues were critical to the integrity of the database.
  • I upgraded a forum from phpBB 3.0.12 to 3.1.8 applying the elegance style, the Board 3 portal extension and the Tapatalk extension. I integrated the old logo. To make the Administration Control Panel look like a new board, I had to manually remove many dead modules that were used for old phpBB 3.0 modifications. I also had to change the user_style to prosilver (user_style_id=1) for all users, add a row in the styles table for prosilver and remove the old bogus style from the database. The Board 3 portal had to have modules added and blocks added manually.
  • For an existing client who was going through the process of moving their phpBB3 database from SQL Server to MySQL, I continued work started in February. After the client approved the integrity of the data in MySQL, I made the test forum I created to hold the MySQL database the production forum. I archived the old forum’s files and database. Once on the new database, I upgraded phpBB from 3.1.6 to 3.1.8. I placed the logo on the new files. I then went through all the user groups and made sure they had no forum access. Group forum permissions are to be reset in a subsequent task.
  • Upgraded forum from phpBB 2.0.22 to 3.1.8. I installed the Blue Turtle style and Pages extension. I rebuilt the search index. I redirected content to the forum folder. Later I installed proformell style the user decided he liked better and added user’s logo to it.
  • Upgraded phpBB from 3.0.12 to 3.0.14 and my digests mod from 2.2.25 to 2.2.27 for an existing client. The user complained of missing poster names in digests. I upgraded digests hoping upgrade will solve that problem that curiously no one else had reported. Scoped out the customer for an upgrade to phpBB 3.1. However, he had me integrate some custom code for 3.0 to send out emails for every post made, so this functionality would be lost with an upgrade to 3.1 so will not be done now. Later, I upgraded the Tapatalk modification to the latest version. I removed modifications for ForumRunner and mChat since they are unused.
  • Upgraded a forum from phpBB 3.0.14 to 3.1.8. Installed “basic” style. Added a home page link. Enabled contact page. Modified overall_header.html to show a different logo. Installed a SCSS compiler extension if needed. Created 3 logos for various screen widths but in the end used the largest logo and letting it resize for all devices. I changed text on home link. I padded to area the left of the category image to make it look even. I had to resolve issues with FTP not working properly, which went away when I used the IP for the server name. The domain apparently pointed to Brilliant Directories for client’s eCommerce purposes.
  • Upgraded a forum from 3.0.14 to 3.1.8. Installed we_universal style. Installed beta advertising management extension, and tweaked templates so ad placements looked better to accommodate the style. I changed the overall_header.html template to add the logo, remove the background image and constrain header height. Added the Advanced BBCode extensions.
  • Upgraded a forum from phpBB 3.1.7pl1 to 3.1.8.
  • Consulting. A client asked for hosting recommendations based on his usage. I suggested MediaTemple Managed VPS at $55/month.
  • Client had a forum that blew up in the middle of an upgrade from 3.0.11 to 3.1.8. He had backups of database and files. Since the upgrade was likely due to server resource limitations, I moved them to my machine, converted them there and uploaded them. Some images were missing from the files folder, but the client restored them from a backup. Installed a logo.
  • Client had tens of thousands of forum spam posts and hundreds of bogus forum users. I removed some users in the ACP using prune users and certain topics using prune topics, but certain topics had to be removed via a database backend to avoid removing legitimate topics. Since the forum is in Spanish, the Q&A spambot countermeasure would could not be enable until I created a Spanish question. The main index counts were off after this backend cleanup, so these had to be reset manually via phpMyAdmin. To avoid another spam plague, I changed the spambot countermeasure to Q&A and changed the registration to require user respond to a link in an email to complete registration.