December 2019 work summary

New year, but this also gives me an opportunity to review work I did for client in January and look at how I did overall in 2019.

Revenue-wise, it looks like 2019 was about as profitable as 2018. With a few quiet months, it didn’t look like it would be that way. How well I did depends on how you count the income. If you count it based on the date when people paid me, revenue was up 12% over 2018. If it’s based on when I did the work and how much of it was collected, then it’s down 1%. There are several hundred dollars owed me at the moment and one client that won’t seem to pay me the $45 owed. I guess I’ll have to write that off. Thankfully, it’s the first time in years that I’ve been stiffed. Sometimes I have to nudge clients gently, but they usually pay me. Most pay within hours of completing the work.

In any event, since I count taxable income based on the date of receipt, I guess it was a better year than 2018. In 2020, I expect to publish a book for forum administrators. Hopefully there will be an additional revenue stream from that, but it will come with expenses, principally paying an editor to clean up my grammar and typos. That’s going well and I’m about ready to turn it over for editing. I’m using LibreOffice and noticed a big quirk saving it as a .docx then moving it back, which messed up page styles. So I have to redo all that in a clean version of the book, which is a lot of reformatting.

Work-wise, December felt pretty average:

  • For an existing client with a huge forum, I installed an extension that opens external links in new tabs. Later in the month, I did additional work. I fixed more incorrect links embedded in the post text and removing Javascript code to open links on the domain in new windows, all inside the database. I changed the Buy, Swap and Sell forum to require all new topics be moderated. I then updated board from phpBB 3.2.7 to 3.2.8, later adding back in http to https redirection code to .htaccess file that was accidentally overwritten. I found some WordPress blog links placed on the navigation bar directed to instances of WordPress that didn’t work when the hosting type was changed from Windows to Linux. So I created some database users that were missing and reattached them to their WordPress blogs. I fixed a number of outgoing emailing issues working with the client’s web host’s technical support.
  • I updated a board from phpBB 3.2.5 to phpBB 3.2.8. I also updated the IDFresh Launch style from version 2.0.1 to 2.0.7 and updated the Google Analytics extension from version 1.0.3 to 1.0.4. But the extension would not install and directed me to login. So I installed it manually via the database and uploading files, although migration is missing. I tweaked stylesheet.css to make the logo 77 pixels wide. Client asked about some special reports, doesn’t look like phpBB contains the data needed to give it to him. Eventually I convinced him that he could use Google Analytics to get the report he wanted.
  • Conversion and rehosting. Converted phpBB 2.0.21 forum to phpBB 3.2.8 by downloading files, converting on my machine, and uploading to new host. Client moved board to a new domain name too. 136,000 posts. I changed the internal links in posts to point to the new domain using the database. I added the External Links in New Windows extension so they would have nofollow attributes. Made the AllanStyle SUBSILVER style the parent style and created a custom style, overriding logo change and moved the poster profile to the left side of the view topic page. Removed 1111 inactive users, likely all spammers, with no posts. Added AWS S3 extensions to allow attachments to be stored on AWS. Installed Google Analytics extension. Recreated search index using the MySQL fullindex, since it was faster. I created a reCaptcha V2 checkbox spambot countermeasure. I changed time for being online to 4 hours. I enabled quick reply in all forums. Need certificate to do https. www prefix not available. Set up redirect rule for old domain to redirect traffic to new domain.
  • Later did more work for the last client. Forced www to use non-www URL. Forced http traffic to use https. There was more work fixing links in the posts for some edge case URLs. Made user registrations go through an email verification process. Removed image links in signature lines for 12 users. Created a robust robots.txt file. Disabled contact form to reduce spam. Enabled active topics feature for all forums. Removed the website custom profile field. Set email settings to use SMTP which required a lot of testing. Changed some administrator permissions to remove founder status and reduce the administrator’s roles for these users. Increased moderator permissions to give moderators full moderator role privileges. Then there were more styling changes. Removed who’s online from the index. Moved Quicklinks and FAQ to a different place on the navigation bar. Removed the style’s credit line. Changed default font size from 10px to 11px so style does not lay out with such a dense look. Changed the forumlist_body.html template to remove moderators for forums on index. Fixed breadcrumb issue with the style. Replaced the logo with one a bit larger. Later, there was more work. I installed the sitemap.xml extension. I changed digests so users would get weekly digests instead of monthly. Changed forum permissions for a whole lot of groups making a number of assumptions.
  • Helped a client think through the issue of bringing in the content in a closing Yahoo group into phpBB. After much discussion, client decided not to import them into a forum/post/topic structure, but to make them available outside of phpBB and link to them with a sticky topic. So my role was to figure out what the client really wanted and provide advice.
  • GoDaddy brought down a forum’s connection for database, which we eventually learned was due to exceeding 1GB of database quota. To solve that problem, I used phpMyAdmin to truncate the search tables, which brought it under 1GB, then turned off the board’s search interface. I then had to attach the database user to the database. GoDaddy had disconnected it. I deleted spam chat tweets in mChat. I removed a few hundred inactive users with no posts. There is a problem with spam posts, probably because his Cleantalk subscription failed silently and it did not get renewed. Those need to be removed, so I waited on him to pay Cleantalk to renew subscription. Updated the board from phpBB 3.2.2 to 3.2.8 and created a custom style based on prosilver that I enabled. Four extensions could be upgraded. Later, there was one more hour troubleshooting. I renewed the Cleantalk subscription for the client and added it to his bill. I backed up his posts table then used Cleantalk to remove spam. But there was still plenty of old spam left over. The issue seems to be that this Cleantalk feature does not check the post content itself for spam, but the IP of the poster when the post was made against its database and flags those. So if the IP address is no longer flagged as a spam IP address in their database, it gives it a pass. I did an analysis of posts per day and sent to client to help determine when spam started in earnest. Board looks largely infested with spam. If it could be rolled back to a time before spam, the content may be relevant again. I changed reCaptcha keys. Board is currently disabled. No automated way to clean up spam appears to exist. However, I did some investigation and it looks like an Akismet API could be used if I wrote a program to send the API the post text, IP of poster and post type. Waiting to see if the client will pay for this.
  • Assisted in rehosting a board and a site. Provided advice on new hosts. The files on old host were a mess, a lot of it (like the Joomla front end) weren’t to be used on the new hosting. The client had already transferred the domain so things weren’t hooked up. Moved forum files and database to new host. Also moved files only in public_html folder because a lot were references to these files in the forum. I reconfigured an ad on front page to fix its links. I made everything use https.I redirected the domain to forum folder. I set up reCaptcha V2 spambot countermeasure, and disabled contact form. I updated the American English language pack but there are missing strings. Then there was a lot of hassle getting the email settings working right. I had to set up an account for SMTP and puzzle through the settings. My digests extension was returning errors, so I upgraded it from version 3.2.3 to 3.2.16.
  • There were error messages on forum index. The issue was that PHP 7.3 was being used. In cPanel, changed PHP to 7.2 for the domain. They came back, so I reset PHP version back to 7.2. Later error occurred while PHP 7.2 was installed. Commented out an echo statement in /includes/functions.php made the error go away. The overlying issue may be he needs to upgrade phpBB. Moving PHP back to 5.6 seemed to make all these issues go away.
  • Updated nine packages in Plesk.

November 2019 work summary

This was a pretty busy month overall. I did not have time to work on my extensions, although two extensions went through a formal review (Digests and Selective mass emails) but were, alas, rejected for more code changes. I am working on the book on phpBB administration and nearly done with a first draft. I hope to get it professionally edited but it needs a lot of work.

  • Updated board from phpBB 3.2.5 to phpBB 3.2.8. I also updated the Cleantalk extension from version 4.6.9 to 4.7.1. I reapplied the logo. The forum uses the default prosilver style.
  • A client getting hammered by bots in China and probably Hong Kong too. He was experiencing lots of HTTP 508 (loop detected) errors. I installed by Filter by Country extension (beta) 1.0.8 to see if that helps, blocking IPs from both China and Hong Kong. Analyzed Awstats statistics for October that indicated a lot of Hong Kong access. Client also blocked the Hong Kong range of IPs in cPanel. I changed the spambot countermeasure to reCaptcha. I disabled the contact form. More work may be needed later depending on how well this works.
  • Troubleshooting. A client had an issue with “Secure connection failed” error messages. I advised to change server settings, change protocol to https and port to 443. Later, I gave advice to use the domain name instead of an IP in the server settings. This was peculiar in part because the client wouldn’t give me access to his forum, so I couldn’t directly see the problem. Also, for payment he mailed me cash!
  • Client was having an open_basedir error with his Joomla content management system. Although not my area of expertise, I worked on it. The /logs and /tmp paths in Joomla’s configuration.php were incorrect and had to be pointed inside the Joomla folder. I figured out the absolute path and made these changes. The issue, or at least the reported error, seems to have gone away.
  • I updated a board from phpBB 3.2.7 to phpBB 3.2.8. I updated the board’s prosilver_se style to latest version, as well as Danish and German casual honorifics language packs.
  • The previous board owner has been non-responsive. He may be dead, and board issues were piling up. Traded some emails with an alternate administrator with no founder privileges on what I could do for her. I moved some users between groups. I also made her a founder. I answered questions on how to change group color, and ranks vs. groups.
  • Client failed trying to upgrade a board from phpBB 3.0.8 to phpBB 3.2.7. All files in the board’s root folder were missing including config.php, but the folders were there except for files, images and store folders, which I uploaded. I uploaded missing files too and created a config.php file, after finding the database and creating a database user. I then could update the board. Attached images in posts may be missing, along with avatars, ranks, etc. I changed folder permissions as necessary. Later, ran the update to phpBB 3.2.8. There were no issues after I corrected the username to use. I disabled the contact form. I did not change their spambot countermeasure.
  • I updated a board from phpBB 3.0.14 to phpBB 3.2.8. There were no mods on the old board, but AutoMOD was installed that I cleaned up manually. About 180,000 posts. No issues during upgrade but entering the ACP caused a VigLink error that I fixed by removing a row from the phpbb_config table. I installed the proprietary Milk style, which also meant installing its extension first. I gave the style a default color so I could see it, otherwise it was washed out. I disabled the contact form and added reCaptcha V2 checkbox spambot countermeasure. I changed the board’s config.php file to use mysqli. I recommended upgrading PHP to 7.2.
  • I converted a forum from phpBB 2.0.22 to 3.2.8. About 120,000 posts. I kept the default prosilver style for now. I installed the German Casual Honorifics language pack. I installed the GDPR Extension (Release candidate) and Advertisement Management extension. I disabled contact form and recreated the search index. I set up reCaptcha V2 spambot countermeasure. Client watched the whole process online with Skype. I suspect he will do the fine tuning.

October 2019 work summary

I kept busy in October, more so in the first half of the month than the last half. But that’s the paid work.

I’m still working on a book, the working title is “Mastering phpBB Administration”. Even if you cut the topics down, it’s a lot of material.

I updated all my extensions in October, with the last being an update to the digests extension. Two are in development: Filter by country and Selective Mass Emails. The latter got a review by the phpBB extension review team and is now back in the queue, along with Smartfeed. Filter by country is having issues and is back to Beta status. I haven’t yet submitted the latest version of Digests for review. It may wait until the next version.

As for paid work, here’s a summary of it. It was a reasonably profitable month.

  • I upgraded a forum from phpBB 3.0.12 to 3.2.8. I applied the prosilver_se style and added the advertisement management extension, which was used as a mod on their phpBB 3.0 board. The old ads were retained from the mod. I tried to replicate the old header. Ads were placed in a HTML table inside it. That won’t work with the extension, as it has defined places where ads are injected in various templates. So all ads currently show at the top. I placed the old logo on the new style. I was asked to make the phpBB search use a Google Custom Search instead. I couldn’t get that to work and got recurring HTTP 401 errors trying to install a Google Custom Search extension instead. I removed the standard Quick Links and FAQ links from the navigation bar as requested.I added a home link. Also added the Mandarin Traditional language pack. Later, user noted a lot of HTML was embedded as text in various posts. I used the SQL replace function to remove post text that had onclick Javascript code. I suggested asking web host to troubleshoot 401 issues in Administration Control Panel and suggested embedding static ads in various forums.
  • I updated phpBB from version 3.2.5 to 3.2.8. Also updated the board’s ne_greenblack style to version 3.2.8. Created a custom style and moved all changes there. Updated PHP from 7.1 to 7.2. Changed site’s .htaccess file to force https and the www prefix. Added two new extensions: Cleantalk and Hide Newest User & Stats Permissions. Set phpBB to use https including using a secure cookie. Later, I added template logic to viewforum_body.html and viewtopic_body.html to show custom ads on particular forums. A HTTP 401 error occurred when trying to install the Google Search extension on this forum too. I tried lots of things, but there was no clue in the error log. I suggested that his web host should resolve it. He didn’t want me to spend any more time on it. Later, there was some additional labor figuring out why Cleantalk wasn’t working: service wasn’t paid for was the most likely cause. Also, made main web links use SSL and set up .htaccess for forum to redirect http to https. Changed board settings and cookie too.
  • I updated a forum from phpBB 3.2.0 to 3.2.8. Updated the Board Announcements, Lightbox and Cleantalk extensions. I created a custom style to insulate his style changes.
  • A client of about ten years standing has decided to let me handle their new user requests, outsourcing it you might say. It’s pretty simple ad-hoc work when I get it, but they are happy to pay my commercial rate for the service. I also updated their forum from phpBB 3.2.7 to 3.2.8, updated two extensions and one style. Added or troubleshooted issues for about ten users over the course of the month.
  • I updated a board from phpBB 3.2.7 to 3.2.8. There were no issues. It was a very vanilla installation of phpBB. Client noted a new high for the number of users online. These were likely spammers, but it didn’t seem to be impacting performance.
  • Extended the logical volume containing forum, adding 400 gigabytes to the volume.
  • Client was running out of quota. I removed excess backups from the forum’s store folder. I suggested getting the web host to add space to the logical volume containing the forum for a more permanent fix.
  • I updated a board from phpBB 3.2.7 to 3.2.8. As part of it, I updated the following extensions to the latest versions: ABBC Box, mChat, Media Embed, Precise Similar Topics and Recent Topics.
  • I updated a board from phpBB 3.2.5 to 3.2.8. I also updated the Cleantalk extension to latest version and disabled the Advertisement management extension. All this work had to be done with file manager because FTP credentials would not work.
  • I created a custom style for a client, which meant taking their changes to an existing style and moving them into a custom style that selectively overrides the primary style, so that updates can be done easier. Changes were applied to phpBB 3.2.1 to a testbed forum. These changes would need to be replicated to a production forum, which the client will handle.
  • Client paid me for some additional work and advice regarding hosting issues. I providing a better understanding of Cleantalk integration issues he was experiencing. The Tapatalk required a refresh of current version to work. I helped with making site use https and redirection to folder containing the forum. Client’s server IP was blacklisted in the Cleantalk dashboard. I made it a whitelisted IP and was able to register.
  • I updated a board from phpBB 3.2.4 to 3.2.8. I added the following extensions: Simple spoilers, simple mentions, media embed, advanced BBcode box, best answer and Cleantalk. Extensions were slow to install and sometimes required many retries to install them. The media embed installation failed and I had to add two rows to the phpbb_acl_roles table manually to get it to install. I added the Cleantalk key and updated the American English language pack. I got occasional errors getting into Administration Control Panel.
  • I updated two forums from phpBB 3.2.5 to 3.2.8. I created a custom style on each forum to encapsulate the style changes from the primary style. I updated three extensions on the first forum and 4 on the second one. There was an issue with ads being served may because the width of the ad exceeds the 980 pixel margin for the forum. I had to change config.php files to use mysqli instead of mysql to update the forum, as it was using PHP 7. I also updated AllanStyle-SUBSILVER to the 3.2.7 version for both forums.
  • I updated my digests extension from version 3.2.4 to 3.2.15 for a client, to address a bug that was encountered. I noticed in file manager that files and store folders were missing. I created them manually but the 777 folder permissions would not stick. I suggested a ticket with the web host. Likely some security software is doing this.
  • I updated a forum from phpBB 3.2.5 to 3.2.8. No one had an admin username and password, so I had to create my own access. However, I could not get into the database in cPanel. No credentials worked. So I installed phpMyAdmin in a folder of the same name off the domain, and got in that way, made myself a founder and then was able to do the upgrade. I noticed some dead AutoMOD modules that I removed, otherwise it was completely generic forum. This work was a referral from another customer, which is always nice!

Enhancing your security: I now use U2F authentication

At last count, I have had 391 different clients since I started this business in 2006. So that’s at least 391 times that customers have had to send me confidential information on how to access their forums so I could work on them.

For many years, I have been using two-factor authentication. Since the data clients share with me is largely sent via email, it usually ends up in GMail. I don’t normally delete emails you send me because there are often issues, and the conversations over email help me remember what I did for you. With two-factor authentication, it’s not enough to know my Google username and password to get into my account. You would also have had to enter a code sent by text message to my cell phone. This helps explain why to the best of my knowledge the information you sent me has never been compromised.

However, it was still possible that someone malicious that knows my cell phone number could hijack it, and do a two-factor authentication that way. Now that’s no longer possible because I am using U2F (Universal 2nd Factor) authentication.

U2F authentication is what Google employees use to work remotely. It’s a physical key they have that they use for two-factor authentication. Depending on the key and your device, you either plug it into a USB port, use your device’s Near-field Communication, or a Bluetooth signal as part of logging into sites that support U2F. The key issues a public key while hiding a private key. It will issue the public key to the authentication service, but only when I authorize it by pressing a button. The key will work only with that service, like Google.

What this all amounts to is that the safety of the information you send me is even safer, exponentially so. Now a malicious person would need not only the username and password to my Google Account, but would have to get one of these physical keys from me. That’s not impossible, but so unlikely as to be effectively impossible.

I do depend on Google’s security system, however. But if Google’s accounts are successfully hacked, millions of us are going to be in a heap of trouble. Hopefully such a breach would affect only those not using two-factor authentication.

Google always lets me know if a new device has attached to my Google account, via various means including text messages and emails to my primary and alternate email accounts. So in the event something like this happens, hopefully I could take action to mitigate any danger before any vulnerabilities are exploited.

So rest assured your information is as safe as I can practically make it. I would never betray the trust you place in me.

New service: making a custom style from your style changes

In this post I detailed how you can create a custom style that encapsulates the changes you made to your style to give your bulletin board a unique look and feel.

I now offer this as a service. See my pricing summary for my current rates, which at this time are $30 noncommercial and $60 commercial.

What I will do is analyze all the changes you made to your style by comparing your changes with a referenced version of the style that you modified. Once I have done that I will create the custom style with all these changes, inheriting from the original style. And I will replace the style that you marked up with the original style. Your custom style will inherit from it.

This has some advantages:

  • When updating phpBB, your custom changes are insulated. You no longer have to reapply these changes, or be scared to update phpBB or your primary style, at least if you follow phpBB’s update procedures.
  • You can make tweaks to your custom style in one place. Stylesheet commands are all placed in the stylesheet.css file of the custom style.

If you have made changes to templates, you may want to update these in your custom style from time to time. New template events are added to templates occasionally with new releases of phpBB or your primary style. I can do this for you as a service too at my general hourly labor rate.

September 2019 work summary

Slow month for incoming business, similar to April and May. Not that there weren’t jobs in the hopper, but these are slow moving jobs, of which I get many, mostly waiting on events from external actors. In response I’ve been working on my filter by country extension. I’m also drafting a book on phpBB. Let’s see if I finish it. If finished it will be a guide to the proper administration of phpBB forums, something that doesn’t exist outside of documentation on phpbb.com. The documentation tells you how to fill out screens, but doesn’t do much to present the bigger picture of give you ways to troubleshoot problems. Obviously if I finish it I hope to monetize it. It would be nice if it generated some passive income for when certain months are slow.

Of course October started off with a bang and I have something of a job queue at the moment. No accounting for this business.

  • Updated a board from phpBB 3.2.1 to phpBB 3.2.7. I updated the prosilver_se style and reapplied the custom logo. I also updated the digests extension from version 3.2.4 to 3.2.15 and updated the Authorized for URLs extension from version 1.0.3. to 1.0.5. No issues noted. Customer will update PHP from 5.4 to 7.2.
  • Two step job. First updated a development board from phpBB 3.2.5 to phpBB 3.2.7. I updated the Pages and Stop Forum Spam extensions. I reapplied the custom style. I removed what looked like a lot of unnecessary files with _ in the file name. Later I updated the production forum repeating all the steps for the development forum. There were no issues. The extensions on the production forum were already up to date.
  • A client insisted on prepaying me to stand up a new forum and likely later tutoring. I set up a new board on a new domain, after first creating space for the domain. I installed phpBB 3.2.7 and the prosilver_se style. I set up reCaptcha credentials as a spambot countermeasure. Later in the month, I provided guidance on using and integrating the board as part of a larger website, which will be using WordPress. I moved the forum into a subdomain. Since a new version of phpBB was released, I updated the new board to phpBB 3.2.8 and prosilver_se style to latest edition too. I also added home link to the WordPress master site. More work on this project is likely in October.
  • Invalid reCaptcha keys were causing issues for users of a board for a longstanding (ten-year!) client. I generated a new set of keys, entered them in the ACP and that resolved the problem.
  • Updated a board from phpBB 3.2.7 to phpBB 3.2.8. Initially I did some troubleshooting. HTTP 500 errors were occurring. This appear to be because of too much traffic and BlueHost simply cut off further use until some time period elapsed. Later, I installed the Cleantalk extension as a spam firewall so only legitimate traffic would get through. But it doesn’t seem to have fixed the issue. I suspect security software on Bluehost is overwriting cache folder permissions is part of the problem, because many folders have 755 permissions when they should have 777 permissions, and many files have 644 permissions when they should have 666 permissions. Changing these permissions with FTP don’t seem to stick. Something is reverting the changes. Cleantalk may not be working because it cannot talk to the Cleantalk server. Enabled the allow_url_fopen PHP setting to see if that addresses the problem. (Cleantalk was not showing any traffic from the forum.) This work is still ongoing. Right now the forum is largely inaccessible generating HTTP 500 errors. The error log suggests the client is over quota and it is rudely not allowing access when some quota level is hit.
  • Client tried to update board from phpBB 3.2.4 to phpBB 3.2.8 and it failed due to a resource issue, reportedly. I tried again and had no issues. Didn’t know what logo to apply so I applied the blue phpBB logo that was already there, but had to change the background area size so it didn’t repeat. Client later reapplied the correct logo.
  • Client needed to rehost and update a phpBB 3.0.13-PL1 forum to the latest version. Client decided to rehost first and save upgrading phpBB for later. It turned out that the client did most of the work. I acted as an advisor. I determined PHP 5.4 was not available on the new hosting (only PHP 7 was available) but was needed as phpBB 3.0 won’t work with PHP 7. He got GoDaddy to add PHP 5.4 to his new hosting. He ended up moving the files and database. The database was moved twice because new posts had been made. I had to create a new database user and tie it to the new database to bring the rehosted forum up. I changed folder permissions and edited config.php to tell phpBB to use mysqli (being proactive). Upgrade to come?

August 2019 work summary

The first half of the month was slow, the second half medium busy. After the very busy months of June and July, I didn’t mind that things slowed down. Some of the work was a continuation of work not quite completed in July:

  • Here was more work for a client mentioned in my July report.  This was a large rehosting effort off of Microsoft servers to Linux for a client in Australia
    • August 1. I answered various questions, investigated DNS settings for client’s domains, and moved files for a dormant domain from Windows to Linux. I created database user “root” on the Windows MySQL database so his web host could create a successful extract of this database, which I couldn’t do with their control panel. It seemed strange the host couldn’t figure this out or chose not to, and I had to do it just to get the database exported.
    • August 2. I discovered one of the client’s domains was blacklisted. I recommended remediation procedures. I moved the database for a Wiki based on Windows technology from Windows to Linux hosting, and placed in a .sql.gz extract of the database in a specified folder so it could be created later when the client chooses to take this up as a project.
    • August 3. I created a scheduled task (cron) to run every five minutes to use with the forum to send out board emails. The limiting factor here is that the web host’s policy is to not allow more than 200 emails per hour outgoing per domain, so a scheduled cron in phpBB was needed. To do this I set the email package size to 16 with the cron to be invoked every five minutes. This got it under 200 emails per hour quota for domain. I also changed the queue_interval in database to 300 so phpBB crons would not run more often than every 5 minutes, to avoid going over quota. Created a test.php email program to help with troubleshooting emails.
    • August 4. I tested emailing using contact form. The email was received but appeared to be sent outside of normal email queue. I found and looked at queue.php in the /cache/production folder and discovered emails were being, albeit sent slowly and there were several thousand email notifications in the queue that would take a couple of days to clear. I changed the cron (which used curl) to use www in the URL to call to avoid HTTP 301 messages.
    • August 5 and 6. Provided additional guidance and answered questions.
  • Styling work on new forum. Trying to get a logo to meet with width of the content (used CSS cover attribute) but leaving a proportional amount of vertical whitespace. I couldn’t figure out a way to do it with CSS, so wrote a little jQuery code to do it tied to window resize and page loading events. Glad to figure this out. This required advanced skills I rarely get to use and which I suspect are beyond most web developers.
  • Troubleshooting. The forum was not sending emails. I noted messages in phpBB error log saying “Email message was blank”. I tried a number of things, but eventually determined that if the SiteSplat BBCore extension was disabled it wasn’t an issue, so the issue had to be somewhere inside the extension. The latest version of that style and its extension was installed. It’s possible a newer version of the extension will fix the issue. I suggested client talk with SiteSplat’s technical support to see if it’s been addressed and to update style plus extensions if there is a fix. Otherwise they have the ability to reproduce the issue. There is a user interface for the style. The client eventually figured out the if the Minify HTML setting for the style was checked, then allowed emails to go out. This is still a bug with the extension.
  • This was a multistep project, still not completely finished. A domain had two phpBB forums, one an old legacy phpBB2 forum, the other a phpBB 3.0.11 forum. Server upgrades were making upgrading both of these to phpBB 3.2 important.
    • In the first phase, I converted forum from phpBB 2.0.19 to phpBB 3.2.7. There were 548,000 posts that had to be converted. Placed in new folder for analysis, old forum is still in the original folder so it could be used. I recreated the search index. No issues during the conversion, but it was tedious taking about three hours overall. I disabled the contact form and new registrations, added a home link and installed PRO_UBUNTU LUCID style. This parent style was to be tweaked with additional styling changes to be used on both forums.
    • Had a conversation on the phone to discuss styling requirements. I ended up doing 4.5 hours of styling work, including adding a banner, logo, moving site title and description, changing column for profiles in view topic, adding a line with links under the navigation bar, etc. Later, I did more styling work based on refined requirements.
    • With the styling changes done, I upgraded the main forum from phpBB 3.0.11 to 3.2.7. I had to empty the phpbb_modules table and repopulate it from a 3.0.14 reference because nonstandard changes had been made to the ACP interface that triggered an error during the upgrade. Once I did that, the upgrade completed. I replicated the styling and extensions on the converted old forum. I changed the not logged in message, which is different on the active forum. I disabled the contact form. I set up and enabled the reCaptcha V2 spambot countermeasure. I moved the old converted phpBB 2 forum to its proper folder and moved the unconverted forum to a new space for the time being. I provided guidance on upgrading PHP to 7.2 and files and databases that can be deleted. There is at least one loose end on this work: a third-party program failed because with the move to phpBB 3.2, the old coding standards fail in the new environment. User may opt not to have me fix this program.
  • I did some online tutoring on new forum that needed to be set up properly. I answered lots of questions, mostly related to permissions and moderation, roles and such, and how to configure phpBB correctly. I did ninety minutes of tutoring in total.
  • I upgraded a forum from phpBB 3.1.10 to 3.2.7. The forum has 17,000 posts. I updated the following extensions: 24 hour activity stats, Lightbox, LMDI Delete Re:, Profile side switcher and Media Embed. Installed updated Lucid Lime style and reapplied style changes. I updated the German language pack. Noticed that an invalid SSL certificate needed updating. PHP should go from 5.6 to 7.2 when client is ready. I encountered HTTP 500 errors related to extension name changes in the file structure.
  • A forum was rehosted but database was not loaded, so basically I was asked to stand it up again. I loaded the database from a database extract provided. The forum is a phpBB 3.0.11 board in a PHP 7.2 environment. I had to step PHP to version 5.6 to get it to come up. I added two statements to config.php so that mb_string support would work, and enabled mysqli so it would work when the forum is upgraded and moved to PHP 7.2. I recommended upgrading of forum to phpBB 3.2.7.

Siteground hosting sale September 2 – 8

If you are looking to rehost your site, you might want to take advantage of a Siteground web hosting shared server sale coming up. The event begins September 2, 2019 and lasts through September 8, 2019. I use Siteground’s shared hosting to host this site.

While I like Siteground, it doesn’t make sense for everyone. In particular, before you move to Siteground’s shared hosting make sure that your databases are not too big. There are limits from 400MB to 1GB on the size of your databases, depending on the plan you choose. More details are on my rehosting page.

Also, in fairness I should note that Siteground recently raised their prices. Their GoGeek plan, their most feature-laden shared hosting plan, used to be about $20/month regular price and is now $34.95/month. However, they are a quality shared host, which is a rarity in their business. To maintain their completely solid state infrastructure means they need more revenue that hosts that still use slower disk drives.

New customers get a first year discount anyhow of $3.95/month, $5.95/month or $11.95 depending on whether you choose the StartUp, GrowBig or GoGeek plan. This represents a first year discount of between 66% and 70%.

During the sale, the GoGeek plan is discounted to $7.95/month for the first year, a savings of 77%.

Siteground will rehost you for free if you choose the GrowBig or GoGeek plan.

If you decide to sign up during the sales period, please be kind and use my affiliate link. You won’t pay anything extra and I will earn a commission.

You can see more details on their shared hosting plans and limitations here.

July 2019 work summary

My work in July kept me quite busy and was quite profitable. A number of projects for clients started earlier continued in July, but some concluded. It’s hard to remember all the details and clients, so I will be more succinct than usual.

I’ve been getting a lot of Aussie clients lately. Not sure what’s going on. Maybe my name is being passed around by word of mouth. I live in the United States but likely 75% of my work is foreign. It used to be mostly for clients in Europe. Lately it’s been more in Asia: Australia and the Philippines in particular. The time difference is a challenge but it can be an advantage too. The larger, hairy jobs are usually complex upgrades. I can work in the day while the board is offline in the night halfway around the world.

After a slow April and May, I’m now more than caught up with my revenue goal. If the rest of the year continues the way the first seven months have, I should surpass my 2018 revenue by a bit.

  • More work for a client I’ve had for a few years now. Originally I worked on her forum, which is now dormant. Now I mostly help her with hosting and domain issues. I completed the domain registry transfer of one of her domains from GoDaddy. Not sure why it didn’t happen last year as I thought it was taken care of. It’s a .ca domain and they make you wait 60 days between registry transfers. Also, her Let’s Encrypt certificate kept failing. I generated a new one in cPanel on her web host. I also assisted in the procurement of another domain she had. A “friend” of hers controlled the domain and wouldn’t release it. It expired, she bought it, and I redirected it to a new domain.
  • I finally got paid for two reseller commissions by siteground.com. I appreciate clients who use my affiliate link. You don’t pay more and I netted $100.
  • More work for an Aussie client I did work for last month: same domain, just more tweaks. I had it all on a spreadsheet but I deleted the spreadsheet, so I don’t recall the details. But it was a significant amount of work for which I was paid $300.
  • I redid all the work I did for a client last December. It was a strange case of moving and converting a phpBB 2 forum. He had the extract I provided back then, just never got around to rehosting it. Meanwhile, users kept posting on the forum, so I did it again. Client lives in the United Kingdom.
  • Upgraded a forum from phpBB 3.2.4 to 3.2.7. FTP seemed flaky. Also, there was an issue getting into the ACP after the update. I had to upload the media embed extension using the cPanel file manager instead of FTP because it was flakey. I also needed to use cPanel to turn off SuperCache for the logo to reappear.
  • Updated a forum from phpBB 3.2.5 to 3.2.7. No issues. A couple weeks later, I also updated the advertisement management extension.
  • Did something that was actually unusual: an installation of phpBB on a new server. It will be a brand new forum! Client spun up a server just for the forum. Very nice client and paid very well. There was plenty of work aside from just installing phpBB. Work included: long requirements discussion, installing phpBB 3.2.7, resolving some issues with FTP and SSH, working around an iconv() error I’ve encountered before (no real solution has been addressed), creating the requested forums, the requested groups and assigned appropriate forum permissions. Client also paid for three hours of future time when issues or changes are needed.
  • Another huge job, for another Aussie client, that is not quite complete.
    • In part one, I updated their forum from phpBB 3.2.2 to 3.2.7. The major issue is that email notifications exceeded the web host’s quota and buying more email quota is not allowed, so emailing needed to be staggered using a system cron. The mailing program in phpBB, /includes/functions_messenger.php was renamed by web host technical support to stop emails from going out. They looked like spam to the web host. Made a phpBB email package size of 50 because hourly quota is 500 emails, so 50 emails every 5 minutes should keep him under quota. But doing a system cron on Windows proved impossible on this particular web host. I asked my client if there was a compelling reason not to move from a Microsoft server to a Linux server. I should be able to program a system cron there and thus address the staggered emailing issue because the technical limitations won’t exist on the Linux server
    • In part two, the client takes my advice and makes the leap to a Linux server, which meant moving a number of domains, forums, one Wiki and a host of other content including a Joomla front end. Client’s web host was not terribly responsive to his needs, which meant lots of fruitless back and forth emails. The project is mostly done but there are a few loose ends. There is a huge 6GB MySQL database tied to a Wiki that uses Microsoft ASP. Client understands the Wiki won’t be accessible on Linux but doesn’t care too much, just wants to retain the data. It was too big for me to move with the only tool I had (Plesk). Web host tried and failed too. There may be integrity issues with the database. So that’s still going on, and I’m waiting on some information to program the system cron which because I asked is 200 emails per hour per domain, 500 per hour for all domains hosted for the client. But I did move over three phpBB forums including the databases, one Joomla front end and lot of static pages. This seems to keep going on and one, but hopefully I’ll report a successful conclusion in my August report.
  • Troubleshooting on phpBB 3.0.12 forum. The client, an administrator, could not login or access the ACP. I registered as myself with no issues. Via the database, I gave myself founder privileges. But I didn’t see the ACP link. I had to copy the phpbb_users.user_permissions value in the database from an administrator’s permissions to get the ACP link. I changed his password in the ACP and provided an idea of the cost to upgrade to phpBB 3.2.7. That work may show up in a future report.
  • Installed a SSL certificate for domain.
  • A client’s third party script was failing. I thought it was because old mysql driver calls were in the code, but the real problem was that a common include file containing the database access information referenced the database server name and it was not localhost. Made it 127.0.0.1 to match the phpBB config.php file and the scripts started working.
  • Spent about 90 minutes online tutoring a client who had taken over a large forum. The web host is flaky. I showed her how to backup database and files on her hosting. I also made backup of the database and files and posted them to Google Drive. The Network Solutions file manager could not make an archive to contain all the files, so I had to download all the files using FTP and create the archive myself. It turned out to be 16GB, so I paid for extra space on my Google Drive to transfer them to her. My slow Comcast upload speed though meant it took over three hours to upload!
  • Additional labor for a client I did a lot of work for last month. Mostly I answered lots of questions. I created a special report for her using SQL and phpMyAdmin. It shows duplicate posts, many of which are spam posts. Her moderators will go through all 600 of them manually and remove the obviously spammy ones. She wants a clean board again. I also removed a style credit line from footer of her forum.
  • Updated a forum from phpBB 3.2.0 to 3.2.7. The client will take care of updating the prosilver_se style with his changes and one extension.
  • Updated a forum from phpBB 3.2.5 to 3.2.7. The site uses a proprietary SiteSplat style. There was also an error on the manage extensions page. I had to go into the database and remove the bogus extension from the phpbb_ext table, and then purge the cache for the issue to go away. I did not update style or the SiteSplat extension.
  • Updated a forum from phpBB 3.2.5 to 3.2.7. I also updated the following extensions: Advanced BBCode, phpBB Media Embed, Cleantalk and Tapatalk. I disabled the beta Copy new topic extension that I had installed some months ago for the client. No issues, but the proprietary Dreamhost web host control panel took quite a while to puzzle through — I really don’t like it, it’s so confusing! The FTP settings I had no longer works, so I had to figure out correct FTP settings again.