SSL certs upgraded, Docker images upgraded, ready to go!

I had to renew my SSL certs for this site, so while doing so I upgraded and addressed a few other issues.

First, apparently when I deployed the SSL certs last time I missed out some of the root certs in the chain. The vendor I used gives you each of the root certs individually and you need to manually concatenate them together yourself. More in another post on the steps I too to do this.

Since certs are part of my nginx Docker image, I rebuilt my image upgrading everything to latest versions. Since it was a also a couple of years since I last did this, I also had to go back through my posts here to work out the steps I took to deploy last time. I’ll post another update on the steps I took for this also later.

Possibly my oldest source code, Sinclair BASIC from 1983 (and my original ZX Spectrum manual)

As everyone is receiving their shiny new ZX Spectrum Next computers from the successfully funded Kickstarter (that I’m kicking myself now for not backing), I’ve dug up my original copy of my ZX Spectrum BASIC Programming manual from 1983.

The ZX Spectrum was my first home computer, on which I had my first experience of programming. 37 years later, I’m a software developer still coding every day, and still fascinated with software development.

Although flipping through the manual itself is a historical treasure trove, there are a couple of pages which are possibly my first snippets of source code:

I’ve no idea what this was that I was working on (a question and answer game of some kind?), but it’s weird looking back at what was quite possibly some of the first code I wrote, 37 years ago.

Other hand written notes that are interesting, it looks like I was keeping a wanted list of games:

I don’t remember getting a joystick interface until much later, but I was keeping notes on available interfaces at the time. 16GBP for a Kempston joystick interface? Wow!

Plus some notes for a few games, Lords of Midnight, and some other games that I can’t remember playing:

Waiting now for the promised next production run of Nexts, and this time round I definitely plan to get one!

nginx and php-fpm configuration errors

Moving an nginx install from Ubuntu 14.04 to 18.04 and upgrading to more recent versions of nginx, php, php-fpm, I ran into this error in my nginx config:

2020/02/28 04:45:47 [crit] 11784#11784: *1 connect() to unix:/var/run/php7.2-fpm.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.x.x, server: , request: "GET /index.php HTTP/1.1", upstream: "fastcgi://unix:/var/run/php7.2-fpm.sock:", host: "10.x.x.x"

The “No such file or directory” error is talking about the nginx connection to the php7.2-fpm.sock, rather than the file the GET request is for.

On closer look at where the .sock file is located, this was a subtle error to find and fix, but the fix was simple as I was pointing to the wrong path.

In my nginx default config, I had this line (migrating from a config for an older nginx and pphp-fpm version, this is where it was before):

fastcgi_pass unix:/var/run/php7.2-fpm.sock;

… I was missing a /php/ dir in the path, so changing to the correct path was the fix:

fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;

nginx ssl cert error:

When you concatenated your SSL .crt intermediate and root certs together, it’s likely you ended up with lines line this:

—–END CERTIFICATE———-BEGIN CERTIFICATE—–

To fix this, manually edit to insert a newline between the end and begin like this, and you should be all set:

-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----