Author Archives: Mark Headrick

Blog Updated to WordPress v4.9.4

I just updated my blog to WordPress v4.9.4 which contains a quick bug fix to correct automatic updates. As always, I backed up my files and database first. Since I have automatic updates disabled, this bug wouldn’t have affected me anyway. Even so, I updated just to clear the message that there’s an update. The update seems to have gone smoothly. (This post sure does have update in it a lot LOL.) 😃

Converting the Pelicar SMF Forum from HTTP to HTTPS

Pelicar Forum using HTTPS in Firefox 58.0.1

While it’s not really used anymore, I decided to also convert the Pelicar Forum to use HTTPS. It’s running the Simple Machines v2.0.15 forum software. Before doing anything, I backed up the files and database. I did some Googling, and followed this thread to the repair_settings.php file on SMF’s Tools page. I placed the file in the forum’s main directory and ran it using HTTPS. I then clicked on all the links where it recommended using https://forum.pelicar.info/ in the URL for placement of avatars, themes, and so on. After double-checking everything, applied the settings.

I then tried a test post which ended up not working. It still had http in the URL. It turns out, if you are using the Pretty URLs mod, you need to make an additional change. I found the answer at prettyurls – TroubleShooting.wiki. I had to change the pretty_root_url value in the smf_settings table of the database to https://forum.pelicar.info. After this, creating new posts worked fine. I then deleted the previous post that had the wrong URL.

I also modified the .htaccess file at the top to force redirection to https:

# PRETTYURLS MOD BEGINS
# Pretty URLs mod
# http://code.google.com/p/prettyurls/
# .htaccess file generated automatically on: February 4, 2016, 22:43

RewriteEngine on
RewriteBase /
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

# Rules for: actions

Everything seems to be working fine now and hopefully this helps someone else running a Simple Machines forum that needs to do this conversion. 😃

Changed WordPress Blog to Use HTTPS

A few days ago I noticed some odd errors in my PHP error log indicating some HTTPS accesses to my site which shouldn’t have been possible. Upon further investigation, it turns out that my web host, Surpass Hosting, had enabled cPanel’s AutoSSL on their shared servers back on January 24th, 2018 or so. I decided to take advantage of this and began migrating my blog to use HTTPS. 

I first went into the General Settings and changed the WordPress Address (URL) and Site Address (URL) to use https. I then followed the directions at Replacing Image Links in WordPress After Installing an SSL Certificate – WPMU DEV to manually update my database using SQL commands. While there are plugins that could probably do this, I wanted to know exactly what SQL commands were being executed on my database. Note: I made a backup of the database before starting any of this. These are the commands I used to change my image and other links to use HTTPS (I replaced my actual domain name here to confuse bots):

UPDATE wp_posts
SET post_content = REPLACE(post_content,'src="http://blog.(domain.com)','src="https://blog.(domain.com)');

UPDATE wp_posts
SET post_content = REPLACE(post_content,'src="http://www.(domain.com)','src="https://www.(domain.com)');

UPDATE wp_posts
SET guid = REPLACE (guid, 'http://blog.(domain.com)', 'https://blog.(domain.com)') WHERE post_type = 'attachment';

UPDATE wp_posts
SET post_content = REPLACE(post_content,'href="http://blog.(domain.com)','href="https://blog.(domain.com)');

Because some of my featured images are external images on my main site being handled by Featured Image From URL, I also needed to update the wp_postmeta database. I used

SELECT * FROM wp_postmeta
WHERE meta_key = "fifu_image_url" AND meta_value != "";

to list the posts that had one and just manually updated these entries in my SQL editor directly.

I also had to modify the code in my widgets to avoid loading mixed content from my gallery and main website, which will also work over HTTPS now.

To make my local development environment match the web host, I then began to figure out how to get SSL working on my local Apache installation. I’ll save that endeavor for another post (which I did get working). 😃

Anyway, so far, so good.