Blog

January 2023 work summary

January was a nice and profitable month. I kept busy! I haven’t collected for all the work I did in January yet, but it should amount to more than $4500 when it all comes in. I should add in case that you want to get into a similar business that this was far from typical. Close to $2700 will be from my major commercial client.

For that client, I did a number of tasks. One I actually finished was a new version of a custom extension I wrote, that allows moderators or administrators to broadcast their learning page. When enabled, the link shows up under their profile information on the view topic page.

I also improved another custom extension that tells moderators and administrators if a poster has an orders with the company in their profile information on the view topic page.

I also figured out a way to change the new topic icons on the index and view forum page for the client.

My main focus was to figure out why in a customized search page I created the unread posts icon are not showing. The logic is quite complex because of the way the phpBB Group implemented this logic. I think I have the main issue puzzled out and am waiting permission to try it.

For other clients in January:

  • Converted a board from phpBB 2.0.20 to 3.3.9. I had to solve a number of issues during the conversion. A configuration variable was missing but attachment tables existed but the interface that were not in the ACP. I had to manually create an attachment_count column in 3 tables to get the convertor to work. There were some errors but quickly were overwritten so I couldn’t read them. Created a custom style to change the logo and match a custom footer message, otherwise a standard prosilver style was shown. I turned off contact page, created reCaptcha V3 countermeasure and added a home link. Later I moved files and database from old hosting to new hosting.
  • Upgraded board from phpBB 3.2.11 to 3.3.9. Replaced the logo and installed the American English language pack. I changed the spambot countermeasure to reCaptcha V3 and disabled the contact page as it was apparently the root of an emailing issue. I had to delete in the database the Google Plus profile field to avoid a profile page error. Fixing the issue of outgoing emails not getting received took over an hour plus a long conversation with a great GoDaddy tech. Basically automated replies to spam emails caused outgoing emails to be blocked. It took some time to get the mailbox unblocked. I set up a SSL redirect rule for the forum subdomain. I suggested the main domain be turned into a WordPress site with an integrated shopping cart. I installed and set up the Custom Registration Agreement extension, and disabled the Board Rules extension. Later, changed some language strings in ucp.php (3 total) to add text the way the client wanted, set up a redirect rule for the main domain to the forum subdomain and did a test registration.
  • A client paid for an hour of time for tutoring which didn’t happen as one participant did not show up. He paid for my time and a week later we were able to do the tutoring online using a shared screen.
  • Updated a board from phpBB 3.3.8 to 3.3.9. There was a concern that emails were going out sometimes with http instead of https in the links. Changed the redirection rule to a wildcard rule, tested it, and expect that will solve the problem. Complaint that in some cases only some emails in a batch were being received. Email package size was 100. I changed it to 20. Hope these work. I updated the American English language pack and reinstalled the board logo on a prosilver style.
  • Updated two boards on two domains from phpBB 3.3.3 to 3.3.9 for a commercial client. I updated the parent AllanStyle-SUBSILVER styles on both domains. Updated Advertisement management, Digests and Cleantalk extensions to latest versions on both domains. Updated Smartfeed extension to latest version on one domain. I changed a Cleantalk setting so it could check the contact page for spam. I set reCaptcha V3 on first domain, tried on second one but it failed with a HTTP 504 error so reverted to reCaptcha V2. Registration emails are not being received. Both domains are on email blacklists, so I provided guidance on getting off them. Later, there was an issue with registering users getting an error on registration. Something was trying to put more than 255 characters in the config_value column in the phpbb_config table. Changed column to allow up to 510 characters. Worked, but it’s something of a hack. Reported the bug to Cleantalk and suggested a solution. They have subsequently put out a new version of the extension.
  • I completed a long project I began in October 2022. It involved converting board from phpBB 2.0.22 to 3.3.8 and the rehosting it on a new server and subdomain. About half a million posts. Work was time consuming and tedious for various reasons including the servers were unmanaged and the client did not have a lot of the skills needed to manage it. Lots of coordination and communication issues. The work on upgrading and rehosting the board was relatively straightforward. The main problem was other content on the domain, about 3000 articles that needed to be moved. A developer had written some programs to display these articles but multiple PHP error occurred with the move to PHP 7 as part of the conversion. These were also many gigabytes of files and images that had to be moved too with this content. Ultimately determined the articles were in a database, and to keep the content would mean installing WordPress and having a WordPress developer write a program in PHP using the WordPress API to grab the content, image, etc. and put them into WordPress pages. As for the content on the main domain, it was a custom job by some long gone developer. As it needs to be transitioned to WordPress I recommended he connect with my friend John who could do the work faster and better. I had technical issues that slowed getting a SSL certificate installed. Installed a Damaio style and applied the logo. I converted based on phpBB 3.3.8 being current, but 3.3.9 was later released so I updated phpBB to version 3.3.9.
  • Updated a board from phpBB 3.3.8 to 3.3.9. All extensions were up to date. Reapplied fix to go to portal page rather than the index page by default to .htaccess file. Note: the portal extension was template file for the extension that was affected.

Save even more on registry services

Some time ago, I mentioned that I moved my domain registrar from GoDaddy to NameSilo. I came to the general realization that registry services were mostly commodities, so there was little point in paying more. GoDaddy charges fees for services that are standard on most registrars, such as privacy protection. They also add a hefty markup to fees charged by the top level domain registrar. NameSilo was a registrar that didn’t, and their markup was minimal. So I switched.

It wasn’t a huge amount of money that I was saving per year as I have only a handful of them; it was more the principle that I shouldn’t reward companies that provide overly costly services. And if you’ve been on GoDaddy, you know that’s their one true talent: marketing. They are constantly looking to nudge you into paying for extra services of dubious worth. Their site is so overwhelmed with internal marketing that doing common tasks like getting into cPanel becomes a multistep process that’s hard to find, probably because they want you to see pages of marketing material first. Obviously, GoDaddy is not subtle, and they seem to cater to web hosting newbies familiar with the brand and often with a deficiency of web administration skills.

It turns out though that by using Cloudflare’s registry service, you don’t pay any markup and popular registry services like domain protection and privacy are free. You don’t even have to sign up for one of their paying services to get the deal. It’s all explained in this blog post. They write:

For instance, Verisign, which administers the .com TLD, currently charges $7.85 per year to register a .com domain. ICANN imposes a $0.18 per year fee on top of that for every domain registered. Today, if you transfer your .com domain to Cloudflare, that’s what we’ll charge you per year: $8.03/year. No markup. All we’re doing is pinging an API, there’s no incremental cost to us, so why should you have to pay more than wholesale?

Some months back I transferred my condo association’s registrar to Cloudflare. For the moment, I’ve kept my other domains on NameSilo as the cost difference between their services and Cloudflare’s is pocket change. But likely at some point at my convenience I’ll move mine to Cloudflare’s registrar too.

Changing registrars can be a pain as it generally takes about a week and there is an exchange of EPP codes between the registrars. But if you are paying too much to your registrar, the time and cost are justified.

December 2022 work summary

Considering I had brain surgery on November 29 and had to recover from that, phpBB work kept me pretty busy in December. Strange how work can be slow when you want it to be fast, and fast when you are okay with it being slow. It is fair to say that I did less of it in the first half of December. I wasn’t quite up to par, as I was recovering. So I concentrated on more relatively simple tasks like upgrades while deferred on more complex work that required focus and duration. Happily, as December went on, I was able to start handling the more complex stuff, just at a slower pace. Work for my major commercial client resumed at a slower pace. It’s a great company to do work for because they are understanding of such things are letting me take things at my own, reduced pace. Among the other work I did in December:

  • Upgraded a board from phpBB 3.2.8 to phpBB 3.3.9. I was unable to get my filter by country extension. Old files were not moved that contained old content for domain.
  • Helped install and configure the board rules extension. Chatted with client online using Google Meet.
  • Updated a board from phpBB 3.3.5 to phpBB 3.3.9. Also updated the MultiDesign style to 1.2.0, but the logo at the top didn’t go away by trying to hide it with CSS. Probably a Cloudflare or Supercache issue, neither of which I could access, so the client had to handle that part.
  • Did a board rehosting to Dreamhost from Siteground plus upgraded a board from phpBB 3.3.1 to phpBB 3.3.9. I also moved over all the files for the domain, about 10GB in total. The whole process was pretty frustrating as it was hard to get good credentials for Siteground and Dreamhost and eventually did the upgrade twice, once to a temporary Dreamhost subdomain. I also set PHP 8.1 and enabled PHP logging for this version. Moving the database was easy. Also updated six extensions.
  • Got a nice $500 holiday bonus from my commercial client!
  • Updated a phpBB board from version 3.3.7 to 3.3.9. I also updated the Board announcements extension from 1.1.0 to 1.1.1 and Lightbox extension from 2.0.3 to 2.0.4.
  • Updated a board from phpBB 3.3.7 to phpBB 3.3.9. I also updated the Absolution style to 3.3.6. No issues, but it took a while to get proper FTP credentials and to reactivate my board account. Encountered a TWIG error with Advanced Polls extension, caused by a change to the TWIG library in phpBB 3.3.9. So I had to update that to version 1.2.4.3 to fix the HTTP 500 error.
  • Updated a phpBB board from 3.3.7 to 3.3.9. Updated the Metrolike style to 2.1.7. Updated the Advanced BBCode extension to 3.3.5 and the Board Announcements extension to 1.1.1. Very slow uploading and downloading to GoDaddy. It took hours to upload the files for the new version of phpBB.
  • Developed some responsive Javascript that serves different ads based on screen width. It is used by the client with the Advertisement Management extension.

November 2022 work summary

This report is a bit late because, unexpectedly, I’ve been dealing with some major medical issues. It’s definitely affected my ability to provide services, particularly in the last half of November and much of December so far. In fact, I’ve never had a medical issue quite this major or complicated. Without getting into too many details, a tumor was found on my brain. It was removed about a day later by a renown surgeon at Massachusetts General Hospital in Boston. I spent four nights in the hospital and am resting comfortably.

I’m hopeful for a full recovery but it’s too early to know yet. The tumor did affect the balance on my left side somewhat marginally. I’ve got forty two staples in my scalp that come out later this week. I’ve done little client work since I got home from the hospital. The truth is recovery from this is kind of hard. There’s little to no pain, but it’s not hard to feel confused and have muddled thinking. Most likely I will make a full recovery, but my work for clients may be impacted for a few months. Definitely keep reaching out. If I feel a task is beyond me, I’ll let you know.

Fortunately, things are already on the mend and I’m regaining my ability to help clients. More complex tasks though like developing extensions is a bit beyond me at the moment, but more routine tasks like upgrading boards and general troubleshooting are not, just that I may need to take things at a slower pace. Part of this is likely due to aging. I get the impression those of us in the phpBB community tend to be older than most, and I am in my sixties. Anyhow, further events if warranted may show up in future work summaries.

For November, I mostly completed tasks started in October that weren’t quite done. I also did some work for my commercial client whose major upgrade was delivered in August, mostly involving various miscellaneous issues. I’ve done a few things since coming home from the hospital that should show up in the December report.

October 2022 work summary

During October, it often felt like I was spinning gears. I generally had plenty of work to do, but couldn’t finish or even get started on much of it. This happens sometimes. Mostly this happens when the work is specialized and nuanced and requires a lot of communications and planning. Much of this in October was due to two potential phpBB 2 forum conversion projects.

I’m still surprised when I receive these requests. phpBB 3.0 was released in the mid 2000s, so phpBB 2 boards are fifteen or more years obsolete. They should have been converted a decade or more ago, but some board owners keep them working somehow despite of the changes in technology. To do this, you have to hold onto old versions of PHP, like PHP 5.2, which was long ago deprecated. You also have to put up with many arguably now-annoying aspects of phpBB 2, including its non-responsive design. So on mobile devices, these boards lay out poorly and to see the content you either have to unpinch your screen to see the full width of the screen. At some point, most web hosts set a deadline and tell clients they are out of luck if they have applications that use these old versions of PHP after a certain deadline.
Also, these old PHP versions are not patched with potential security bug fixes, making their use dangerous.

But a lot of board owners have an “if it ain’t broke, don’t fix it mindset” and somehow keep it going until they can’t anymore. Then I often get these requests. Conversions from phpBB 2 are still possible as the convertor software is still in phpBB’s installer package, but the phpBB Group would like to retire the software. I’ve urged them not to do so as I still make probably at least $1000 a year converting these old forums.

But to convert them the client must have new hosting with the correct technical requirements (such as PHP 7.1.3 or higher) and that takes time. Also, downtime must be scheduled and often there are unique requirements. One client has a heavily modified phpBB 2 board which should convert okay, but I won’t know until I try. It all amounts to being somewhat risky not to mention time consuming. Anyhow, I’m sitting on two of these jobs waiting for clients to have the new hosting in place so I can do these jobs.

I also had a family reunion in October which took me away for about a week, so that didn’t help. My large commercial client had only a little work for me so there was little to bill there. Of the few things I did finish in October, these jobs were included:

  • Upgraded a board from phpBB 3.3.0 to 3.3.8. I moved board to a folder from a subdomain but the database did not move. The hard part was removing spam. My spam remover extension falsely identified too much spam as it was about 99% spam. Moved to my machine because it was so slow. Eventually I figured out when the spam started and removed all topics created after that and a lot of obvious spam posts that remained, leaving a few hundred legitimate posts. Work spanned some weeks and was tedious.
  • Updated a board from phpBB 3.3.4 to 3.3.8. Updated three extensions: media embed, quick style, advanced BBCode Box and added Google Analytics extension. Updated prosilver_se style and reapplied custom changes. Issue unable to install advanced BBCode Box extension due to invalid directory structure.
  • Updated a board from phpBB 3.2.8 to 3.3.8. Changed PHP to 8.0. Updated we_universal style to the latest and reapplied style changes. Later, the client decided to replace the style with prosilver_se and provided logos for me to integrate.
  • Installed phpBB 3.3.8 generic on a subdomain. Tutoring to come.

That’s all folks!

Using phpBB’s command line interface

Most forum administrators are unaware that phpBB has a command line interface (CLI). Most popular software solutions for the web have CLIs too, for example, WordPress. A CLI allows you to do from a command prompt a lot of tasks that would otherwise have to be done with a browser.

In fact most tasks, including upgrades, can be done through the browser, which may explain why phpBB’s CLI is often unknown. Also, to use the CLI you have to be able to connect remotely to your server, usually via Secure Shell (SSH). For those not technically inclined, this is a bit of a hurdle.

Also, for the most part, phpbb.com doesn’t say much about it, other than to allude to it. Nonetheless, it has its own set of instructions, fully detailed here.

Using SSH

If you are not familiar with using SSH, there may be a substantial learning curve. SSH is a method of connecting remotely to external servers using the command line.

But you can only use phpBB’s CLI if you web host supports access via SSH. Most do, but often it takes some digging to figure out how to do this. Often you have to use a supplied username and password, or upload a set of cryptographic keys. Generally though it’s straightforward once you learn a few things. You may have to ask your host if SSH is allowed. They will usually point you to their knowledge base where you can learn more.

Your computer needs a terminal program to access SSH. With Linux or a Mac, simply use the terminal app. Since Windows 10, this has been built into Windows. You can learn how to configure your Windows machine to use SSH here. Earlier versions of Windows can use Putty, a third-party application, to run SSH.

In the most typical case, once the right terminal program is running, the following command is used to connect via SSH:

ssh username@hostname.com

The standard port for SSH is 22. If you are told to use a different port, such as 2222, the command changes to:

ssh -p 2222 username@hostname.com

hostname.com can be a domain name or sometimes a special IP address provided by your web host.

You may have to authenticate with a password. If so, type in the password and press Enter or Return when done.

Typically you get a command prompt from the server if you login successfully, generally >.

If you need to exchange cryptographic keys, you may first have to upload or download some keys. You may have to reference the key as an argument for the command.

So it can be time consuming just to connect with SSH to your web host, but usually it’s straightforward.

Once connected, you need to navigate to the root folder of your phpBB installation. Assuming it’s /var/www/mydomain.com/board the following command would work:

cd /var/www/mydomain.com/board

If you are unsure what folder you are in, type:

pwd

CLI Basics

The CLI is the program /bin/phpbbcli.php. To run it you need to preface the command with php, so the php interpreter is run. Your web server and database server should be up to avoid errors.

From your phpBB root folder, try either of these commands:

php ./bin/phpbbcli.php list

or

php ./bin/phpbbcli.php help

If a path to php is not defined, you may have to preface php with its path, e.g.:

/bin/php ./bin/phpbbcli.php help

The version of PHP that you use should be compatible with the version used by your version of phpBB, generally PHP 7.1.3 or higher.

In some cases you must change the file permissions to phpbbcli.php to make it executable for it to work, ex:

chmod 644 ./bin/phpbbcli.php

What can I do from the phpBB command line?

The functionality from the CLI is just a small subset of what can be done through the web interface. It is most useful if you need to automate installing or upgrading phpBB. This method largely avoids potential timeouts and resource limitations doing it through the web interface.

But there are other commands available. For example, you can purge the cache:

php ./bin/phpbbcli.php cache:purge

The user command allows you to activate, add, delete or re-clean the usernames.

Extensions can be enabled and disabled through the interface.

phpBB’s cron is invoked through this command:

php ./bin/phpbbcli.php cron:run

You can also ask if your version of phpBB is up to date:

php ./bin/phpbbcli.php update:check

I recommend just playing with the CLI to gain some basic familiarity with it, then consider how you can use it as an administrator to make your life easier.

September 2022 work summary

Here’s a summary of the work done for clients last month:

  • Updated a board from phpBB 3.3.2 to 3.3.8. As part of the job, I pdated two extensions: Precise Similar Topics and Topic Preview. I had to retrofit the old changes to prosilver to reintegrate the WordPress theme at the top, bottom and the sides. This involved two templates and one stylesheet. There was an issue getting into the ACP that was solved by disabling temporarily the WordFence plugin. Asked about moving to a subdomain but there was no web hosting control panel so I could not do that.
  • Updated a board from phpBB 3.3.7 to 3.3.8. I updated the advertisement management extension to version 3.0.0. I edited the .htaccess file to show portal page first. I also provided guidance on ad placement and to not show them for certain groups.
  • A client couldn’t get into the ACP. It turned out to be HTTP authentication issue for adm folder. I renamed the .htaccess file in that folder and I was able to get it.
  • Troubleshooting. A client was having trouble setting up forum permissions so guests would only see one forum and that the rest would be for posting by registered users. Also set up a forum accessible only to administrators.
  • Updated a board from phpBB 3.3.4 to 3.3.8. I also updated four extensions: Board rules, Notify admin on registration, Pages and Who visited this topic to latest versions.
  • Added a user for a client to the administrators group so the user could access the special forum.
  • Upgraded a board from phpBB 3.1.7-pl1 to 3.3.8. I also updated the Google Analytics extension, the Sortables captcha extension, the Danish language pack, and Elegance styles. I had to edit overall_header.html to put the old logo back in place. I also had to manually add a line to the .htaccess file to assert to use UTF-8 as the default character set. There was an issue figuring out how to connect using FTP and access files on the web host control panel.
  • Upgraded a board from phpBB 3.2.5 to 3.3.8. I had to insert a directive into the .htaccess file to tell it to use PHP 7.4. I reapplied custom changes to prosilver style. I upgraded the Cleantalk extension to version 5.7.5 and fixed one services.yml incompatibility issue. I also updated latest version of American English language pack.
  • Received a Dreamhost commission. Nice $99.61 commission, basically the first year of hosting for the client on a VPS solution.
  • On a test board already upgraded to phpBB 3.3.8, I tried to replicate the old style and its custom changes to 3.3.8. Came very close and provided the style via a Google Drive share link. Still working with the client on tweaks to this.
  • For my major commercial client, despite deployment of the upgrade in August, there is still work coming in. It amounted to about $1500 in work and it put me over my revenue goal for the year.