The announcement is here.
Month: April 2019
Smartfeed 3.0.10 released
Announcement is here.
Digests 3.2.12 released
This release incorporates three major bug fixes, so be sure to update the extension. Details in this topic. You can download it from my digests extension page or GitHub. If getting it from GitHub, place it in the correct place: /ext/phpbbservices/digests. With any extension, update it the correct way: disable it, remove the files, upload the new files to the correct folder, then reenable the extension.
Cloud service types and phpBB
Updated June 28, 2019
In a recent post I looked into putting phpBB in the cloud, the first in a series of related posts. In the first post I said that while it is possible to do it, phpBB is not a cloud-first software solution. There are advantages to putting phpBB in the cloud, such as scalability and potentially lower costs. But there are significant drawbacks for most forum administrators too, including almost no technical support and you must provide any system administration.
Cloud service are arranged around various service types. While the types can be breathtaking at times (look at Amazon’s many specialized web services) you can sort of lasso these into three types: IAAS (Infrastructure as a Service), PAAS (Platform as a Service) and SAAS (Software as a Service). As you will see, phpBB doesn’t fit neatly into any of these models.
IAAS (Infrastructure as a Service)
With IAAS, the cloud provider provides you with a set of basic tools and lets you have at it. The tools can be refined somewhat but generally you get an operating system (usually some variant of Linux), a web server (generally Apache) and a database (generally mySQL). The actual set of tools that you get depends on the package you select. In Amazon Web Services speak, this is the AMI (Amazon Machine Instance). Yes, there are AMIs for phpBB such as intuz’s and BitNami’s. However, these packages are not necessarily free. BitNami, for example, creates a “smart” integration of these tools along with other ones that are optimized for various cloud deployment patterns. You will probably be asked to pay for the privilege. A good package though it well thought out and cleverly integrated for maximum functionality and performance, and these phpBB AMIs should be finely tuned for phpBB. You might want to use one of these packages for an upfront cost and then rent it for a monthly fee.
Some packages/AMIs are free and come from a common library provided by the cloud vendor. You might want to install one of these instead. They likely won’t come as well integrated, but they will get the job done.
As much as an intelligent package/AMI helps, you still don’t get much in the way of handholding. You will generally get the most basic of control panels provided by the cloud provider and some SSH and database credentials. You are expected to know how to use SSH, FTP and relational databases. Of course as time goes on, your operating system, web server and database software will need updating. Generally, operating system and security upgrades are handled for you in the background. But you may be expected to figure out how to do this by yourself, so make sure you understand what will and won’t be done for you. It’s hard to escape doing some of your work using SSH and the Unix prompt.
If none of this intimidates you, IAAS is a great choice and probably cheaper than using a web host. But basically you are trading your own time and expertise to lower hosting costs, but as a bonus you should get a scalable cloud service to handle high and low demand periods, that is if you set it up right. There is an art to fine-tuning cloud service as you need to balance between potential high usage spikes and your budget.
PAAS (Platform as a Service)
In general, PAAS cloud services are oriented around developers. If you want to be the next Facebook, for example, PAAS will provide you not just with infrastructure as a service but also a set of development tools finely optimized for you to develop unique cloud services. They tend to be oriented around one or more programming languages, such as Java or PHP, and one or more deployment engines, such as Kubernetes. The nice thing about PAAS is that you don’t manage much. Should the Java J2EE engine need an update, that will be handled for you. Consequently, PAAS tends to cost more than IAAS. You and your development team are then free to focus on developing that next Facebook.
phpBB of course is a prepackaged software solution. You shouldn’t be developing anything, unless perhaps you are an extension developer like me. But if you are an extension developer like me, you don’t need to develop your extension using PAAS because phpBB is not typically deployed in the cloud. Instead, you have a local web development environment and do your development there. You might want to test it on a web server connected to the Internet, but you don’t need PAAS to do that.
So basically, using the PAAS cloud service type for phpBB makes no sense.
SAAS (Software as a Service)
In the SAAS model, you use a cloud provider to provide a software solution in the cloud. Perhaps the best known SAAS provider is Office 365. Why install Microsoft Office on a PC when you can run it as a cloud service instead? It’s a popular model that is making some companies like Adobe (and its Adobe Creative Suite) or Salesforce.com tons of money. They’ve already figured out an optimal solution and they are happy to rent it to you for a fixed cost per month. If you don’t need it anymore, you cancel your contract. In some cases, you do actually download some software on your PC that works optimally with these services in the cloud. Many developers using PAAS are actually hoping to market their solutions as SAAS. Since SAAS is deployed in the cloud, it is presumably finely engineered for optimal performance in all kinds of workloads.
The thing is, you can sort of get phpBB as SAAS already. phpBB has a knowledge base article on how to do it with Microsoft Azure. There are also a number of sites that allow you to create phpBB forums on their servers, which are often for free for low usage sites, sort of how you can host a blog on wordpress.com for free under a subdomain like myblog.wordpress.com. And if you have web hosting already, there is usually a scripting center that allows you to install phpBB. But are these really providing software as a service? They arguably don’t because once you install phpBB you generally don’t want to use it “out of the box”. You want to change the style, or add extensions, or do all sort of fine-tuning. If you don’t need to do these things, then maybe these “SAAS” services are what you need. They just aren’t really SAAS, since you can’t give your site this degree of customization, because there is no way to do this other than to use phpBB. And if you use phpBB you will need to be able to upload and edit files on your phpBB instance.
Conclusion
With a better understanding of the cloud service types, you should now understand why phpBB is so rarely placed in the cloud. At its root, it’s because phpBB is not a cloud-first product, and probably never will be. In a future post, I’ll look into deploying phpBB using IAAS to give you some idea of what you might be getting into.
March 2019 work summary
This was a fairly normal month work-wise for me. Here’s what I was up to for my clients during March.
- Client couldn’t login to Administration Control Panel. This was likely due to sloppy upgrade of p8pBB bridge software that blanked out user_permissions column in the phpbb_users table. p8pBB is a bridge between the Joomla content management system and phpBB. I set it to the default value for “webmaster” for this column from a test board I have for his login and this allowed login. I also provided instructions on how to comprehensively reset permissions in phpBB.
- Upgraded forum from phpBB 3.0.14 to phpBB 3.2.5. I installed the Spanish casual honorifics language pack. I also installed five extensions: Ultimate SEO friendly, Dynamic Meta Tags, Advertisement management, Akismet and ShareOn. I did not port the old ads for the Advertisement management mod since none were active. To work, the Akismet extension needs API key so I asked the client go get one on their website and enter it into the extension’s interface page. I added a home link and added a logo, but it was otherwise is vanilla prosilver style that was installed. Hid site title and description since it was in the logo image too. I configured reCaptcha V2 checkbox spambot countermeasure, disabled the contact form and provided instructions for making everyone use the Spanish language pack. I suggested he upgrade PHP to version 7. There followed additional work. I installed three additional styles and applied default logo to each. I installed the Quickstyle extension to have an easy way to change styles on the navigation bar but it conflicted with Ultimate SEO friendly extension, so I disabled it. And spent half an hour figuring out SEO friendly URLs for the Ultimate SEO friendly extension, sticking mostly with defaults and rewriting .htaccess file using code generated by the extension. Still to do: allow users to delete their own posts, but there are many groups so I need to understand their intended use. Later in the month, I installed and configured the Google Analytics extension. The client also wanted posts with a competitor’s URL in them removed. So used the MySQL replace function to change these to point to their website instead.
- I installed my approved digests extension, version 3.2.11, on two domains for an existing client. I set up system crons to run every 15 minutes, which would both send out digests hourly and send out email notifications as well. But both domains were on email blacklists when I checked, so I expressed a concern and suggested they take action to get these domains off these blacklists before using digests. I suggested a Skype conference to go through interface for using digests properly. I changed the email settings for one domain to use an email address for domain, to lessen the likelihood that these digests would end up in spam folders.
- Troubleshooting. Some newly registered users were not receiving sign up emails. I checked and the domain was not on any email blacklists. There were no relevant errors in phpBB’s error log. phpBB’s email settings showed FROM address as info@xxx.org instead of info@xxxing.org, so I changed the email address. (Note: the real domains were something else.) This might solved the issue. Advised that an update to 3.2.5 was available if desired. I changed the forwarders in Plesk for info@xxx.org to ensure any emails sent to it were received to a real email address.
- I upgraded forum from phpBB 3.0.0 to phpBB 3.2.5. It used a standard prosilver style with a logo. After the upgrade, I changed PHP to 7.2 and edited the forum’s config.php file to tell phpBB to use the mysqli driver. One error during upgrade required removing a row from the phpbb_config table, then there were no more issues. I disabled contact form and installed the reCaptcha V2 checkbox spambot countermeasure. I removed a number of dead modules manually from the database and replicated the logo. I installed the Recent Topics extension. Later, I answered many questions on their forum and made a number of minor changes to accommodate quirks and oddities.
- I upgraded a forum from phpBB 3.0.14 to phpBB 3.2.5. There was an error during upgrade, and I had to make prosilver style active to complete the upgrade. I disabled the contact form, created a new set of reCaptcha keys and enabled reCaptcha V2 checkbox spambot countermeasure. I added a home link. Then I installed the we_universal style to try to replicate the look they had under phpBB 3.0 with that version of the style. The only change was swapping the dashboard image. I changed PHP for domain to version 7.2. I installed the Advertisement management extension, porting the old ads. I installed my digests extension. But digests did not arrive. I suggested talking to web host since they were likely blocking outgoing emails. A day later I got a first digest unexpectedly. Then I started getting regular digests but they no longer appearing in spam folder, suggesting the client’s web host had solved the outgoing email issue. Except for delay, seems to be working correctly now. Later, I was asked to hide the site title and to make minor changes to the logo’s placement.
- Troubleshooting. Cleantalk is a service that is used to keep sites clean from spam. There is a Cleantalk extension for phpBB that was somewhat old on a client’s site that stopped working. This is because their software was poorly written to hardcode calls to mysql libraries, rather than use phpBB’s database abstraction later. But when the client upgraded their PHP to version 7, mysql drivers could not be used. mysqli drivers are required. This error made whole forum inaccessible with just the ambiguous Cleantalk error message coming up. To get the forum up, I deleted the Cleantalk extension with cPanel’s file manager and replaced it with Cleantalk version 5.6.9 which had fixed this bug. I disabled the extension in database and manually cleared the cache with the file manager. I refreshed the page and after a few minutes it took. I then reenabled the newer version of the Cleantalk extension. Later I updated the forum from phpBB 3.2.1 to phpBB 3.2.5. I also updated the Hexagon style to the latest version, updated the Advertisement Management extension to version 2.0.1 and Advanced BBCode Box extension to version 3.2.1.
- I updated a forum from phpBB 3.2.2 to phpBB 3.2.5, updated the prosilver Special Edition style in use, reapplied logo changes, then updated the NavBar search and Tapatalk extensions.
- I updated forum from phpBB 3.0.11 to phpBB 3.2.5. There was some wasted effort as the cPanel information I was given was old pointing to an old server. That explained when I tried to run the upgrade I got a file not found error message. The forum has about 800,000 posts. Finally on the right cPanel instance, I uploaded the new software to the right place, and ran database upgrade, which seemed to hang once. When I manually restarted it, it seemed to complete successfully. I replicated a streaming player in the navigation bar and in the forum’s header, which used old Flash technology. I also installed an extra style, SE Square Left; users can switch between both styles. I installed the Tapatalk and NavBar search extensions, the latter to make room for the player list in the header. I changed PHP to version 7.2 from 5.6. I disabled the contact form and setup the reCaptcha V2 spambot countermeasure. I installed the mChat extension, which was later disabled. I may change its permission to just let the site’s “music group” see it and keep it hidden from the rest. Some people on the site like to stream the same music at the same time and talk abou the music in a site chat area, which was the reason I installed the mChat extension. I installed an abandoned Radio Module extension which has a radio player to see if that would work instead of the old and buggy Flash player. It must be attached to a streaming service. I removed the link to old player from navigation bar and undid style changes to show playlist in the header.
- Client had rehosted a site but the forum but could not connect database, giving an error message he could not figure out. This was because the forum’s database was not loaded into a database. This set off a search for the most recent version of the forum’s database. We settled on one from 2015 as the one to load. I loaded this version into a database using phpMyAdmin. After creating a new mySQL user and giving it full access to the database, I edited the forum’s config.php file so it would use the right credentials. This allowed the forum to come up. I recommended updating from phpBB 3.1.3 to phpBB 3.2.5, which would require a different style because the subsilver one is not available. Later I did upgrade the forum to phpBB 3.2.5. The default prosilver style is now used because subsilver for phpBB 3.1 is not responsive and thus not allowed for phpBB 3.2.