When I wrote the first edition of the Raspberry Pi User Guide, I had an entire chapter dedicated to setting up a LAMP (Linux, Apache, MySQL, PHP) stack and installing the popular WordPress blogging platform on top. It wasn’t exactly a straightforward process, and by the time the third edition of the book came around, actually getting LAMP and WordPress working on a stock Raspbian install was more effort than it was worth, and the chapter was excised in favor of a project that was more encouraging for beginners.
Clearly, I’m not the only one unimpressed with the difficulty in getting a blogging platform up and running on a Raspberry Pi, because WordPress developer Automattic has decided to address this issue with the launch of Blog In A Box.
At its heart, Blog In A Box is a relatively simple piece of software that serves to automate the creation of a micro-SD card running Raspbian Linux, a LAMP stack and the latest stable release of WordPress. I really do mean ‘automate’ too – there’s very little physical interaction required on the part of the user.
Blog In A Box (BIAB) is available for Windows, Linux – more on which later – and macOS, and all you need is a couple of gigabytes of free hard drive space and an SD card reader into which you can stick a microSD card – plus, of course, the micro-SD card REVIEW Blog In A Box itself, and a Raspberry Pi to accommodate it when you’re done.
The BIAB download itself is pretty small at under 100MB, but don’t let that fool you – on first run, it downloads a Raspbian disk image, plus the latest WordPress build, which is going to take a while on slower connections.
Well, that’s what it’s supposed to do on the first run anyway. I installed the Linux build on my Ubuntu 16.04 desktop, and what actually happened was that it alerted me that I needed kdesudo – the version of the ‘sudo’ privilege escalation utility written for the KDE desktop environment. This should have been marked as a dependency in the BIAB .deb package and installed automatically, but that wasn’t the case. I then had to wait while nearly 300MB of other KDE packages – taking up nearly 600MB of hard drive space when extracted – were downloaded and installed just to get kdesudo. Not a great start.
With kdesudo installed, BIAB behaved a little better. It downloaded the latest WordPress and disk images and then requested Wi-Fi credentials – a step you can skip if you’re using your Raspberry Pi via a wired connection.
At this same screen, I was offered the opportunity to add an SSH public key for passwordless login, although it turns out this feature doesn’t work quite as intended.
Carrying on through the steps, you find out just how far the whole process is automated: the next screen offers defaults for everything from the Pi itself to WordPress, with usernames and randomly generated passwords already filled out.
Naturally, you can also customize these options to your liking. Then, when the disk image is burned to the micro-SD card, your settings are transferred.
At least, that’s the theory. In practice, when the burn process finished, I was given an error message asking me to reinsert my SD card, and no amount of ejecting and reinserting it would make the message go away. Eventually I gave up and restarted the process on a macOS machine; strike two for the Linux build.
With the installation process finally completed, all that was left was to insert the micro-SD card into a Raspberry Pi and wait for it to boot. Sure enough, I had a working WordPress blog running from the Pi – and complete with a clever plug-in that offers native integration with a CSI-connected camera or GPIO-connected Sense Hat.
Sadly, other aspects of the installation proved less clever. Manual plug-in and theme updates were impossible, as the system runs no FTP server. Also, my SSH public key turned out to be wasted, as SSH was disabled, which seems like an oversight likely to be fixed in a future release. A Samba server was running, though, providing access to the WordPress directory for manual plugin installation and theme editing, once it had been authenticated with the password chosen earlier in the process.
It would be good for BIAB to be a little smarter though; working SSH would be a start, as would be the ability to enable HTTPS with a certificate from Let’s Encrypt, similar to the feature set of the Pi-based Nextcloud Box. The fact it checks for WordPress updates and installs them automatically daily, however, is welcome.
The biggest feature of BIAB, though, is its simplicity. Compared with my instructions on manual configuration from way-back-when, it’s practically foolproof – and, with a little more work, Automattic could have a special product on its hands. Blog In A Box is available now as a free download from https://inabox.blog