Raspberry Pi 2

Raspberry Pi 2 VS Raspberry Pi 3 on Slackware ARM

Let’s get ready to rumble: a battle of two Slackware ARM powered webservers.

Hosting your WordPress installation on a RPi2 can be a challenge on multiple levels. Apart from stability issues, my biggest concern is always subpar PHP performance and additional overhead with TLS connections. To determine the potential gain of upgrading my hosting platform to a RPi3, I’ve done a few tests with a MicroSD card I recently retired due to data corruption.

Slackware ARM on the Raspberry Pi 2- The 1 year mark

Since I hit the one year mark today I thought I would do a quick update on my RPi2 project. A short recap to kick things off: the project had a rough start due to some overly ambitious overclocking that eventually resulted in severe data corruption. However, after implementing the necessary modifications I enjoyed close to 300 days of easy uptime before a power failure took the RPi2 down. My initial thought after the power failure was that everything was still dandy, but a few weeks later things started to go downhill fast. It all began with a few file system errors:

Raspberry down

Due to a city wide power outage I lost just short of 300 days of uptime on the RPi2. The RPi2 did boot back up when the power returned, but since I had received a new IP address I needed to make a DNS update before the server was reachable again. That’s obviously the downside of running a server on a dynamic IP space, but hey it doesn’t cost me a cent. I have a 300 seconds TTL (Time To Live) on my blog.paranoidpenguin.net A record so I think it’s good enough for a hobby project.

Deploying 4096-bit HTTPS on the Raspberry Pi 2 was a bad idea

Who would have thought, right? :-)

After installing my certificate from Let’s Encrypt last week I was immediately confronted with the fact that I had made the wrong choice in regard to key sizes. By using a 4096-bit private key I was relying too heavily on the RPi2’s CPU. This became abundantly clear as page load times were increased by 500 – 1000ms.

HTTPS for WordPress on a Raspberry Pi 2

So you’re hosting your own WordPress blog on a Raspberry Pi 2 and want to join the HTTPS everywhere movement to ensure optimal privacy for your visitors. That’s great, but what kind of performance penalty can you expect as CPU intensive tasks are hardly a favorite with the RPi2. Is the extra computational cost of encrypting data and doing handshakes going to significantly slow down your site?

Well, you can probably answer that question yourself as your browser has just loaded this page over a secured TLS connection. Though WordPress can still serve static content generated by my caching plugin, there is no hiding the additional burden of doing handshakes and encryption. On my RPi2, the extra overhead is between 500 – 1000ms depending on latency.

Downtime and the perils of Slackware current

I woke up this morning to a mail informing me that WordPress had been upgraded to version 4.4.1. Shortly after I tried to access my blog to verify that everything had gone smoothly, but unfortunately my webserver showed no sign of life. Since I’ve previously had a few hard learned lessons with the RPi2, that made me a bit uneasy. A couple of hours later though, as I was reviewing my logs, the problem became pretty obvious:

WordPress on Raspberry Pi 2, six months down the road

So the last report from my Slackware based RPi2 hosting project ended on a cliffhanger (pun intended), as I was just recovering after suffering data corruption, the occasional kernel panic and random errors. Suspecting the instability might be caused by my overly optimistic approach to overclocking and overvolting, I decided to turn things down a few notches.

Slackware ARM on the Raspberry Pi 2- 38 days later

Excited by the prospect of hosting my blog on the new Raspberry Pi 2, I decided lately to wave goodbye to the local datacenter and unleash a Slackware Linux box into the wild (full story here).

Everything went (mostly) without a hitch until I wanted to get back in sync with the Slackware-current tree. After applying the available updates and issuing a reboot, the system seemed operational and nothing from the logs gave any indication of imminent failure.

WordPress on Raspberry Pi 2 running Slackware ARM

Two weeks ago, I decided to move this blog from its old hosting and deploy it on a Raspberry Pi 2. The geek in me could no longer resist the urge to discover if a $35 worth computer could replace the need for commercial hosting. Besides, what a great opportunity to finally get my hands on Slackware’s official ARM port.

RPi2 setup:

Raspberry Pi 2 Model B
Raspberry Pi 2 Micro USB Power Cable 1.2A
MicroSDHC Ultra UHS-I 32GB

LAMP setup:

Slackware ARM current
Package series: a, ap, d, l, k, n (and a few from “x”).
Apache 2.4.12 (rebuilt)
MariaDB 5.5.40 (rebuilt)
PHP 5.4.40 with mod_proxy_fcgi and php-fpm (rebuilt)

Non stock packages:
Modsecurity 2.9.0
Fail2ban 0.9.1

Why use Slackware and not a hard float port?

A hardware floating-point unit you say, well I’d never heard of it.