Using GIT to remotely deploy a PHP project to production

Here is my tried and tested method for setting up GIT to allow pushing from a local repository to production. Note: this is not a post about whether GIT should even be used as a deployment tool so I would recommend you research the pros and cons before selecting any solution.

Setup WiFi on a Raspberry Pi 3 with Raspbian Jessie

Getting the WiFi to connect via the command line can be a real pain, especially with the numerous out-of-date guides and lack of feedback during the connection phase. The following guide covers some tips and tricks I have found.

LetsEncrypt SSL certificate on CentOS 7

So, it's been a year since I installed my (paid for) certificate and much has changed in web-land. Chief among them, on the SSL front, has been LetsEncrypt which offers free SSL certificates to anyone who requests them.

Adding an SSL certificate

SSL certificates are so cheap, there really isn't much excuse to not set one up, even on a small site like this. If you don't buy the security arguments, then Google giving a slight SEO boost should be enough of a reason on its own.

Setting up a CentOS 7.7 webserver on EC2

This is my entire setup process from start to finish. Although there are lots of guides on setting up a webserver with the basic software, they don't often cover the more practical decisions like where web files should be stored and how they are updated. Hopefully this guide should be of some help, if only to show how I have chosen to go.

BeagleBone Black Debian Config

Having got it for an excuse to play with node.js it was disappointing to find the included Angstrom Distribution couldn't even update to anywhere near the newest node.js version and so many tutorials referred to libraries which couldn't be used or didn't exist for it. Queue an embarrassing long time passing with it sitting idle on my desk...

Originally I had wanted to install Fedora, and while there is now support included with v20 (and postings suggesting it is possible to install), BeagleBone themselves have swapped to Debian so I will not fight against the officially chosen OS.

Gearman and GearmanManager build on CentOS 7.0

Gearman is useful when you want to run PHP scripts asynchronously e.g. to build a batch processing cluster or farm out slow running tasks such as email sending which should not block the view being rendered. The GearmanManager addon is not essential but does make the worker code simpler and provides a framework for managing the scripts. Here is my build process:

VIPS dzsave build from source on CentOS 7.0

VIPS is a great image processing system capable of working with very large images. In particular it is one of the easiest ways to create deepzoom image pyramids through the use of the dzsave feature.

Since 7.40 it now requires libgsf to be available for dzsave support. Without further ado here is my install process to build VIPS from source on CentOS 7.0: