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:

  • php70-ctype
  • php70-filter

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.

Leave a Reply