Should I host phpBB in the cloud?

So I’ve been playing with cloud providers, most recently looking at the Google Cloud in context with a WordPress group that I belong to. But over the years I’ve also studied Amazon Web Services, the original cloud provider. There are other cloud providers but really the only other major player is Microsoft Azure. Host on another cloud and you may find out that it won’t last in the long term, or is not a real cloud service. My goal is to eventually demonstrate how to run phpBB in the cloud, starting with the Google Cloud that I am currently exploring, and bring you along for the ride.

Characteristics of cloud services

There are lots of definitions of cloud services and cloud computing. From the perspective of someone who owns and manages a forum, all you probably really want to know about it what makes these services different than your typical web host like Siteground or GoDaddy. You will get lots of answers. Last year I helped move a big forum to Amazon’s EC2 cloud service. I got some preliminary answer from that work. Some differences:

  • Cloud services are scalable. If you have a host like GoDaddy and you outgrow the resources you are allowed to use inside the scope of your contract, you will get a little leeway. But generally you will be asked to move up to a higher class of hosting. This contrasts with cloud services. Its architecture lets your site grow seamlessly, at least if you set it up right, scaling up by a factor of 100 or more as needed, and maybe dropping back down after demand eases. So if you expect to have a forum that will get suddenly very, very popular, hosting with a cloud service should be a big selling point. Whereas, moving to a higher class of hosting at GoDaddy is potentially a lot of hassle.
  • You don’t get handholding with cloud services. Don’t expect to have a support hotline or a phone number that you can call to reach someone to help you struggle with technical issues. You either brings these skills with you or pay someone to leverage them for you.
  • Cloud services are not for cheapskates. It’s not that cloud services are inherently more expensive than traditional hosts. In many cases, cloud hosting is the better buy because you pay for what you use. Cloud services are elastic to scale on demand, so sometimes your costs will go way up for a given month. That’s because you are getting a lot more traffic or are using a lot more space or require additional virtual CPUs. Very tech savvy people who have small sites might be able to host for free in “micro instances” of these cloud services. Here’s a video that shows how a tech savvy person can spin up a site on a cloud service for less than a dollar a month, providing you know your site’s usage will be minimal. But you really have to know what you are doing. 

Why to not use a cloud service

  • You’re not a techie and want to stay that way. If you are paying $20 a month to Siteground, for example, it will seem like a rip off if you can do the same thing for $1 a month on the Google Cloud and it fits in a micro instance. But in most cases, it’s not. With web hosts, someone else is managing the infrastructure, providing 24/7 support and they provide a host of tools like cPanel to easily do things like manage files, create backups and create email addresses. You are free to concentrate more on what matters: your site and its content, and leave the heavy lifting to a company which is probably doing it for hundreds of people using the same machine you are. Someone else worries about security patches, system upgrades and site vulnerabilities. Yes, often if you manage a phpBB forum, you do have to put your hands into the soil, so to speak. You might have to create email addresses or tweak something in a database, generally in a control panel like cPanel or Plesk. But that’s a whole lot easier than trying to upgrade a Linux kernel or managing an email server’s firewall rules.
  • You prefer fixed costs. You don’t like surprises, particularly financial surprises. With a contract and a good web host, you know what you are paying for, for how long, and what you can expect while you host with the provider.
  • You don’t need to worry about your site getting quickly popular. Your forum is not the next Instagram. It may grow some during the year and there may be some spikes in traffic here and there, but it’s manageable.
  • You like having tech support on speed dial. Hosts of course vary in the quality of the technical support they provide, but knowing you can call a technical person on the phone or chat with them online about some weird problem you are having is comforting.

With phpBB in particular, while it can be made to work in the cloud, it is not a cloud-first product. In truth, cloud-services are mostly for developers and large organizations. Generally they want the reliability and high “up time” that cloud services provide. Organizations use cloud services to mitigate their risks and lower costs; maintaining their own servers and technical support staff is expensive. Most of these organizations though do have developers. They are writing or maintaining systems or services to handle lots of needs, and most of these are proprietary, not using off the shelf software like phpBB. The exception is the Software as a Service model. Some companies like salesforce.com offer their solutions as services you can rent, and put their services in either a public or a private cloud of their own.

In my next post, I’ll look at the other two models cloud services offer, Platform as a Service and Infrastructure as a Service and explain why neither is a great match for phpBB. That said, sometimes you might want to put phpBB on one of these service types anyhow. We’ll explore why and the tradeoffs involved.

February 2019 work summary

February was a pretty typical months work-wise. Neither too much work nor too little. Nothing particularly challenging. Mostly updates and upgrades, which is typically the bulk of my work.

I did pass 1000 service requests in January. I current stand at 1010 service requests since I started the business in 2006, with 362 distinct clients.

  • Troubleshooting trying to get forum redirection to work. An error message was coming up instead. I chatted with web host and put in a ticket and they eventually solved it. Also upgraded the forum from phpBB 3.2.2 to 3.2.5. I did not update six extensions where updates were available or the Platinum style.
  • Updated a forum from phpBB 3.2.2 to phpBB 3.2.5. Did not update the custom style or any extensions. Registrations emails were not being received. I tested the process. Mine ended up in a spam folder. I then looked on a blacklist site and discovered that client’s host had reported spam from his site. I suggested that he talk with DreamHost about getting off these blacklists. He also wanted some registration text changed, so I made an edit to /language/en/ucp.php, initially, then again after the update since the file had been overwritten. I also changed the email address to the forum to use one for his domain so emails were less likely to be flagged as spam. I installed a beta extension that copies post from one forum to another automatically. Later, I set up a special group the client wanted and set permissions accordingly to NEVER for posting privileges in the one main forum. This work inspired this post.
  • I updated another forum from phpBB 3.2.3 to phpBB 3.2.5. Client reported that there were spam posts that moderators are catching and deleting. There was no obvious reason why, but it was likely that the Q&A spambot countermeasure was guessed and that was being used as a vehicle for creating accounts that were then used to create spam posts. Newly registered users get automatic moderation, which is how they got flagged. I changed the spambot countermeasure to reCaptcha V2 checkbox. Later, I installed the Cleantalk extension. But I went back to Q&A spambot countermeasure because allow_url_fopen PHP setting would not take on Hostgator hosting. Later, I sent info on allow_url_fopen issue for Hostgator for them to take action on. There was an issue with Javascript when creating new registrations. Clearing the cache fixed the issue.
  • Client reported a database error accessing forum. I assumed the issue was with the database credentials but that wasn’t the problem. Four folders did not have 777 permissions, changed to 755 permissions, but it didn’t solve the problem. I checked the database and it reported phpBB 3.2.5 was installed, so I assumed an incorrect upgrade was done. I first copied vendor folder but that didn’t solve the issue. I then copied all the other files from a 3.2.5 reference and that worked, once I had a good set of login credentials.
  • A client had my digests extension installed and blank digests were reported going out. I investigated the issue and found a bug in digests that affects lowly trafficked forums that use the default phpBB cron, documented here. I created a patch and placed it on the domain to test it. I changed the server setting to explicitly use a system cron, even though curl is used in the cron in cPanel. Later, I determined that the old cron job was set up to use http but https is now used on the forum, so a redirect was happening in the cron, causing it to fail. I changed it to use https and added the -k flag to curl to not check the certificate. Later, I updated the forum from phpBB 3.2.3 to phpBB 3.2.5.
  • Updated two forums for the same client that are largely identical, updating the software from phpBB 3.2.3 to phpBB 3.2.5. I also updated the AllanStyle Subsilver style retaining customizations. I updated the Advertisement Management, Google Analytics and Cleantalk extensions. For one forum only, I also updated my Smartfeed extension.
  • I upgraded forum from phpBB 3.0.4 to 3.2.5. This was kind of an emergency because the client’s the host changed PHP version to 7.2 meaning the old software no longer worked. Just figuring out what the client had meant looking inside the database to determine the version of phpBB they were using. The forum has about 440,000 posts. There were some timeouts during upgrade, but I worked around them by removing the migration that did not finish from the migrations table and then restarting the database upgrade. (Using CLI was not an option as SSH was not an option.) I installed the Tapatalk extension. The client had to provide me his Tapatalk key to complete its configuration. I disabled the new contact form feature so it wouldn’t attract spam. I set up a reCaptcha V2 spambot countermeasure. I removed a lot of smilies that were missing images by deleting rows from the smilies table in the database. Then, a test post timed out. I spent an hour on the phone with technical support, trying all sorts of things. What worked was my suggestion to repair all the tables, something I could not do in phpMyAdmin because of hosting timeout. I provided some advice on procuring a SSL certificate and changing tables to the InnoDB storage engine to make future timeouts less likely. I installed a non-default style (Anami) which included an extension as a user interface.
  • Updated a forum from phpBB 3.2.4 to phpBB 3.2.5. FTP was very slow and had lots of errors, timeouts and zero length files. I uploaded archive of vendor folder using the file manager to fix 0 file length errors.