{"id":1502,"date":"2023-12-21T03:40:07","date_gmt":"2023-12-21T08:40:07","guid":{"rendered":"https:\/\/www.rfdm.com\/blog\/?p=1502"},"modified":"2023-12-21T03:40:07","modified_gmt":"2023-12-21T08:40:07","slug":"web-server-os-upgrade-woes-freebsd-12-4-stable-to-13-2-stable","status":"publish","type":"post","link":"https:\/\/www.rfdm.com\/blog\/?p=1502","title":{"rendered":"Web server OS upgrade woes (FreeBSD 12.4-STABLE to 13.2-STABLE)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Well, I&#8217;m still working on it after 4 days, but&#8230; my web server is running FreeBSD 13.2-STABLE.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This all started with the desire to have C++20 on all of my general purpose computers.  Obviously I don&#8217;t get all of C++20 with clang++ or g++, but my web server was the only machine left that didn&#8217;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),<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The OS upgrade went fine as usual.  It&#8217;s dealing with all the other stuff that gave me grief.  A biggie was that &#8216;pkg upgrade&#8217; (which I did not intend to run without arguments) updated mysql57 to mysql80, breaking database access for Randy&#8217;s photo gallery and my blog.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A boost library upgrade rendered a bunch of my web apps nonfunctional due to incorrect shared library path.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There&#8217;s a long list.  But a lot of it is just due to procrastination on my part.  Making changes to a &#8216;production&#8217; 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).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lesson learned.  I&#8217;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&#8217;s old.  It was specifically built with an i5 2405S CPU to keep power consumption reasonable.  And the load is pretty light.  It&#8217;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&#8217;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&#8217;s reasonable to find a MicroATX board to replace it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Well, I&#8217;m still working on it after 4 days, but&#8230; 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&#8217;t get all of C++20 with clang++ or g++, but my web server was the only machine left that didn&#8217;t &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/www.rfdm.com\/blog\/?p=1502\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Web server OS upgrade woes (FreeBSD 12.4-STABLE to 13.2-STABLE)&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,82],"tags":[],"class_list":["post-1502","post","type-post","status-publish","format-standard","hentry","category-computing","category-freebsd-computing"],"_links":{"self":[{"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1502"}],"version-history":[{"count":1,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1502\/revisions"}],"predecessor-version":[{"id":1503,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=\/wp\/v2\/posts\/1502\/revisions\/1503"}],"wp:attachment":[{"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.rfdm.com\/blog\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}