Creating a chrooted SFTP user

Creating a chrooted SFTP user can often be a bit tricky when it comes to ensuring they’re correctly restricted, whilst also still able to read/write files as needed. One way I’ve gotten around this is with bind mounts.

Using systemd-nspawn for PHP containers (and more)

systemd-nspawn can be used to run processes in a container (by mounting a debootstrap directory), without the need for Docker or other virtualisation tools. They’re often well suited for running updated packages on an OS which may not otherwise support it by default.

Creating a case insensitive directory with a local Samba share

I recently migrated a number of sites for a client from a Windows server to a new Linux server. This posed a few challenges – namely because the client had taken advantage of the fact that NTFS is case-insensitive in a Windows environment with IIS — but that’s not possible with EXT4 (yet). Instead, we…

GoAccess with rotating compressed web logs

GoAccess is a great tool for real-time web logs, but I recently ran into a bit of snag when trying to use it on a server with custom log rotation. I wanted GoAccess to process all of my web server logs, but continue to have the logs rotate on a daily basis, with compression on…