Well, I’m still working on it after 4 days, but… my web server is running FreeBSD 13.2-STABLE.
This all started with the desire to have C++20 on all of my general purpose computers. Obviously I don’t get all of C++20 with clang++ or g++, but my web server was the only machine left that didn’t have the parts of C++20 that I need. And my only FreeBSD host not yet running 13.2-STABLE (I have 5 FreeBSD hosts, 2 of which are Raspberry Pis),
The OS upgrade went fine as usual. It’s dealing with all the other stuff that gave me grief. A biggie was that ‘pkg upgrade’ (which I did not intend to run without arguments) updated mysql57 to mysql80, breaking database access for Randy’s photo gallery and my blog.
The php upgrade meant I had to hack some php in Piwigo, update WordPress for my blog, and fix some of my rudimentary php classes.
A boost library upgrade rendered a bunch of my web apps nonfunctional due to incorrect shared library path.
There’s a long list. But a lot of it is just due to procrastination on my part. Making changes to a ‘production’ server at home is always risky, but it gets worse the longer you wait. I mean, I had waited so long on php that the language changed (and broke existing code).
Lesson learned. I’m mostly back up and running, but I still have a to-do list. That includes possibly migrating to different hardware. My web server was built in November of 2012; it’s old. It was specifically built with an i5 2405S CPU to keep power consumption reasonable. And the load is pretty light. It’s in an overkill 4U case with 12 hot swap bays wired to onboard SATA and an HBA in a PCI slot. It also has a Mellanox 10G ethernet card. All I’d really like is modern I/O (NVMe) and 8 or more cores. The 2405S does not have HyperThreading. The current motherboard is MicroATX, so I think it’s reasonable to find a MicroATX board to replace it.
The other option is to buy a replacement for my storage server (dual Xeon L5640) and then use the existing storage server to replace my web server.