Using .htaccess to redirect an entire domain

Every so often I need to redirect from one domain to another. Maybe I’m configuring both a .com and .co.uk domain to point to just one of them. Maybe I need to redirect an directory/path to a different domain as part of a site migration or segmentation (e.g. redirecting https://example.com/account to https://account.example.com). Response codes Before setting up a redirect, make sure you know what kind of redirect you want. There are several different response codes which change how search engines (e.g. Google) behave when the see the redirect. ...

29 June 2025

Store more than 100 Yealink VoIP phonebook entries with a simple remote phonebook

I recently was tasked with setting up a Yealink VoIP telephone system which misleadingly states on it’s spec sheet that it can hold 1000 phonebook entries (up to three numbers per entry: mobile, office, other). Specifically I was using several “Yealink W73H DECT Handset” and a “Yealink W70B DECT IP Base Station”, however I expect this will be the same for all other Yealink models. “Local phonebook for up to 1000 entries (store in the base)” ...

9 June 2025

Combine PDFs on the CLI / command line / terminal

I sometimes get asked to combine several PDF files into a single PDF file. Here’s how I do it. Combining PDF files on the terminal List all PDF files (two, or more) then as the last argument specify the output file name (and remember to do this - you also won’t be warned if the output file already exists, it will just be overwritten). pdfunite in-1.pdf in-2.pdf in-n.pdf out.pdf “Considering that pdfunite is part of poppler it has a higher chance to be installed, usage is also simpler than pdftk. ...

23 April 2025

Setting up Sympl with LetsEncrypt DNS-based SSL certificates, using Dehydrated

Update 2024-08-29: Rolling over a certificate in Sympl doesn’t seem to work without also changing the set name, so I have updated the deploy-cert script to rename the set on each renewal. I’ve also added a section to remind you to automate the renewal with cron. Based heavily on the SSL setup in my forgejo instructions (coming soon), these instructions should setup Sympl.io with DNS-based SSL certificates. This is useful for servers behind a firewall, such as a corporate network or homelab, where LetsEncrypt can’t do http-based domain validation. ...

29 April 2024

Setting Up a Blog with Hugo

Well suffice to say that starting a blog has been on my list of things to do for a while. Today I have finally got round to setting one up, thanks in part to a brief discussion this last week on the fediverse (in the aftermath of the birdsite’s recent takeover). Being something of a perfectionist I’ve been reluctant to get started worried both that each post would take hours and without having fully planned out the whole blog I didn’t want to end up with another “half done” project. ...

9 November 2022