Backups on a Budget

Being on a budget and paying $5 a month to perform backups on a $10-a-month VPS seems a bit excessive. This is how you can achieve that goal gratis.
First and foremost, you don't need to backup every single file on your VPS: Identify which ones need to be backed up; keep a list, if you find it helpful. For example, your web root directory and database are good candidates. Install a cron job that will run every night, say at 4, to backup these essential files:

# Website backup
0 4 * * * /root/backup

How to Blacklist an Entire AS with Shorewall

AS stands for Autonomous System and is a collection of connected Internet Protocol (IP) routing prefixes under the control of one or more network operators (or Internet Service Providers, ISP). In this article, I offer an example of preventing any connection attempts from the whole set of IPv4 IP addresses assigned to the French ISP OVH using Shorewall.

How to Fix the Infamous "Error sending email" on Drupal 8/CentOS 7

I had this problem recently on this site that was really baking my noodle. It turned out to be a mixture of SELinux and reCAPTCHA misconfiguration.

First, check if SELinux allows the web server to send emails from your site:

$ su -
# getsebool httpd_can_sendmail

If the boolean is off, turn it permanently on:

# setsebool -P httpd_can_sendmail 1

Drupal 8 on Centos 7 with Nginx and PostgreSQL

This article details the steps needed to install Drupal 8 on CentOS with Nginx as a web server and PostgreSQL as a database. At the time of writing, CentOS 8 is still in the works, so we will use the current CentOS 7 release instead, 7.6.1810. Since Drupal 8 requires a more modern version of PHP than the one supplied by CentOS 7 (PHP 5.4), we will use Remi Collet’s RHEL repository to install PHP 7.3. Follow the instructions on Remi’s site to install and enable the Enterprise Linux 7 repository, remi-release-7.rpm.