The server is up-to-date on everything. WordPress is up to date, its themes and plugins are all up to date, PHP is the latest version, Pi-hole is current, and all Linux packages are updated.
But what a pain! 😬
One of the biggest problems was updating PHP to 7.4. It’s (still? 🤨) too new, so official repositories don’t still currently support it for ARM/PIs, and even installing from an unofficial repository doesn’t help because some PHP extensions aren’t available. One extension that wasn’t available was imagick and I ended up having to compile it myself. Fortunately (or should I say, miraculously), it actually worked.
I finally took the time to fix the HTTPS redirection (I disabled Really Simple SSL altogether and manually dealt with SSL). After hours of debugging, the solution ended up being to remove the ServerName entry at the top of the Apache configuration (outside of the VirtualHost block). 🤦 I still need to clean out the configuration file some day, but it’s currently much more streamlined than before and working correctly.
Updating WordPress wasn’t hard, but the update to PHP messed some things up and the site-check/health-check function was no longer perfect. I had to jump through a few hoops to change the site and home URLs to be HTTPS, and had to compile imagick to get a perfect status again. Likewise, I had to adjust a few things to restore the security rating in the WIP Security AIO plugin after it fell a bit. I also tweaked and streamlined Autoptimize’s settings, so hopefully it’ll perform better.
Pi-hole was recently updated, but it broke the dashboard. Filing a bug-report didn’t help because they don’t support Apache at all and just dismissed the issue. Fortunately, checking the Apache error log pointed me to the solution: installing the sqlite PHP extension (which for some reason, wasn’t already installed 😕). It’s fixed now, and even better, they’re going to stop requiring nginx in a future version and serve the web-interface from Pi-hole’s own server.
The latest version of WordPress with the latest version of PHP are supposed to provide better performance, but I’m not sure if I’m seeing it. I think it might feel slightly faster, but that might be a placebo effect, or it might actually be slightly faster. 🤷 Either way, I assume the Orange Pi is the bottleneck despite it having more cores than my laptop. 🤔
It took literally all day (~13 hours), but it all worked out in the end. A few days ago, I had a similar day where I spent all day (over 14 hours) working on the server.
I got it set up to auto-update the DDNS when its IP changes. Unfortunately, there’s no way to auto-renew the DDNS; that’s a paid feature, only auto-updating the IP is possible. They won’t even increase the expiration to 31 days instead of 30 days so that it can be possible to renew on the first of the month rather than having to choose between the renewal date drifting over time or having the site down for a day every other month. I tried explaining this to them, but they just said I could pay for a subscription. 😒 I need to get an actual domain…
I also fixed AJAX queries in the web-server (the solution was to prevent caching), this was really annoying but it’s working now—I just have to remember to prevent caching whenever I use AJAX in the future. I fixed the ServerFileEditor, but it turns out this isn’t even necessary anymore because the NppFTP plugin for Notepad++ lets me edit files directly on the server like they’re local files. 👍 I fixed my Identity Survey. I also updated my sorted-table plugin that’s used in some list posts.
There have been two hyper-productive days of work on the server in the past week. It’s pretty much set and as good as I can make it. Now I just have to wait a week to see if LetsEncrypt will auto-renew the SSL certificate like it used to or if it’s still broken. 🤞