This blog is self-hosted, together with some other services on a FreeBSD virtual server over at RootBSD. Yes, I’m one of those weirdos who hosts their own servers - even if they’re virtual - instead of just using free or buying services.
I recently had to migrate from the old server instance I’ve been using since 2010 to a new, shiny FreeBSD 10 server. That prompted a review of various packages I use via the FreeBSD ports collection and most importantly, resulted in a decision to upgrade from PHP 5.6 to PHP 7.0 “while we’re in there”.
The basic procedure was as expected - install the basic PHP 7.0 port, then install the WordPress port so that the WordPress port dependency doesn’t pick up an older PHP version. So far, so good - after installing the database server (MariaDB) I was able to import all the posts and comments from the old WordPress instance and was up and running.
There were a few issues though when I tried to connect Jetpack, namely that the xmlrpc service wasn’t working despite it printing out the correct message when trying to access it via a web browser:
XML-RPC server accepts POST requests only.
Turns out that the basic PHP 7.0 + WordPress ports install doesn’t install a few packages that are necessary to get XMLRPC working correctly and that prevented Jetpack from connecting. After a lot of digging through the various log files, it turned out the following packages weren’t installed:
I also installed the optional package php70-mbstring - while I don’t expect to start posting in languages requiring multibyte strings anytime soon, I decided I could do without that particular warning message.