Just a few brief notes on the basics. It is assumed you are familier with Linux, PHP, WordPress, etc, and just want some additional information.
Watch, Read, Listen
OSM Misc
CSS Grid Grouping into columns
I keep forgetting this, so time to blog it. It does not work on Firefox due to limited subgrid support. The Goal is a large grid if items which are grouped in 3 rows at a time, and wrapping after 3 columns.
Basic HTML5 Template
Very basic…..
Adding an Openstreetmap map to a WordPress post
Spamassassin – sa_learn from Junk and Spam folders
Assuming the users are vhost users, using postfix and mysql. Root home users emailas are in /var/mail/vhosts.
Tar a directory and all subdirectories
Create the tar backup file Test the tar file To copy it to another server To extract it To backup the mysql database To import the sql
Dovecot Sieve : Run Bash shell Scripts to query Mysql
3 simple scripts to determine Out Of Office emails for Dovecot First, the Sieve file Then the two Bash Scripts
Ubuntu 22.04 Find Files
Find a file. Find In Files (File containing text), recursively from current folder. Find in specific file types only. Count the number of lines in specific file by extension, including all sub directories.
A Nightmare called Afrihost
And now for something completely different….. I just want to fill you in on what a rip off Afrihost is, and how they are either the most incompetant service provider on the planet, or as corrupt and crooked a company as you can get. Or perhaps everyone at Afrihost is simply dumb as nails…. who…
Using AJAX in WordPress
In the constructor of your PHP class add the following In your enqueue function add the localize script function so you have a variable to use in the js file to call admin-ajax.php Then add the callback functions to the same class Then in your js file add the following, assuming you have an element…
Creating a WordPress Class with Backend and Frontend functionality
Firstly, a bare bones PHP class. Add this in it’s own file, eg mynewclass.php, and include it in functions.php Now a slightly more sophisticated one to add an admin menu item and page, with page tabs.
Ubuntu 22.04 Fix Broken Pipe on apt-get
apt-get -o DPkg::Options::=”–force-overwrite” install <package name> This will force an overwrite.
Ubuntu 20.04 Node Server on localhost with SSL
To get SSL on your localhost for testing purposes you will need a SSL key and certificate generated. I do the following in a certs directory to call up later in the node server app. Import the rootCA.pem file into your browser under the ‘Authority‘ tab. Then create server.cnf as follows … and v3.ext as…
Installing Node on Ubuntu 20.04
Step 1 Do the usual first, i.e. and Step 2 Make sure npm is up to date as well It might take some doing to achieve the above, as I had a few issues to deal with ion Ubuntu 20..04 Firstly I had to update npm and node : Then I had to change the…
SQL to extract order report
This SQL string will extract multiple meta values from an order.
Ubuntu 18.04 Disable Auto Time Updates
Firstly disable automatic times Then simple set the time manualy, or the time itself will still automatically update. To re-enable automatic date/time updates use To check the status use You should see something like below. the three ‘no’ mean it’s disabled.
Cleaning Ubuntu boot partition
Often the Ubuntu upgrades will fail fue to a no space error. The only solution is to remove old kernels manually. The first step is to show which kernel you are currently running, as you do not want to delete this one. So change to the boot directory for simplicity and list all existing kernels…
WP REST with JWT
Using the WordPress REST API with JWT authentication Step 1. Install this plugin => https://wordpress.org/plugins/advanced-access-manager/. The free version will suffice. This goes on the site you will be xtracting data from. The REST API must be enabled in the WordPress settings. Step 2. Configure the plugin and on it’s Settings tab add the Secret as…
WordPress Security
This applies to self-managed Apache2 servers. Shared servers require different permissions, for example wp-config : set that file’s permissions to 440 or 400. Site Lockdown File permissions to lock down website, from the websites home folder. Do this from the root directory for example and you will break your server. Change the folder ownership of…
SSL Localhost
To enable ssl on a localhost website, and stop Chrome from showing is as “unsafe” …. Pertains to Ubuntu 18.04 Bionic, and running Apache 2.4.29 Create localhost.cnf Then use openssl to generate the certificates in 3 steps Edit /etc/apache2/sites-available/default-ssl.conf as below Enable the site … and restart Apache2 As things stand you will be asked…
WordPress Basic Plugin
Below is a very simple working example of a plugin. Create a directory in your plugins directory, create a php file and copy the below into it. Then from the wordpress plugins menu simply activate it. Just know that this plugin does absolutely nothing other than to show the basic setup, including public and protected…
Ubuntu Must Have Apps
As Open Office is part of the standard Ubuntu install, like other software installed as default, I have not listed it. There are a number of must have applications needed to get the most out of Uubuntu 18.04, but first thing to do is change the deskop. Ubuntu’s standard is way too slow and reminds…
Linux miscellaneous
Pertains mostly to Ubuntu 18.04.4 and Apache 2.4.29 Get Ubuntu version Get Apache version Get MySql version Find Files and hide all permission denied messages Copy file with ssh from server to localhost Copy file from localhost to server with ssh Copy directory from server recursively with ssh Copy directory to server from localhost recursively…
Exporting/Importing Woocommerce Orders with SQL 2020
Covers WordPress version 5.3.2 No matter how you use the SQL, be it on the command line, PhpMyAdmin or PHP, These are just the SQL commands needed. There are 4 tables invlovled not counting the variable product data. I’ll be adding that as soon as a get a free moment. wp_posts wp_postmeta wp_woocommerce_order_items wp_woocommerce_order_itemmeta wp_posts…
Sharing a Viynl Cutter over the Network in Linux
This setup works for a cheap Chinese no name brand Cutting Plotter I use. On the host PC add a new printer and set the printer model to “Raw Queue“ Set the device URI to, for example, serial:/dev/ttyUSB0?baud=9600. This assumes the servial device is attached to USB port 0. Make sure it is shared. On…
Setting up Inkscape for use with a Vinyl Cutter using Inkcut
Step 1 Download and install the InkCut Extension from the InkCut sourceforge page. Step 2 Install the following linux libraries : sudo apt-get install python-gtk2-dev sudo apt-get install python-cups sudo apt-get install python-serial Using InkCut to perform the cut Step 1 Select the objects you wish to cut Step 2 Ungroup the selected objects Step…
Raspberry PI Setup
use GParted to format SD to win32. sudo dd bs=4M status=progress if=~/Downloads/2018-06-27-raspbian-stretch.img of=/dev/sdc; sync NB note /dev/sdc, not /dev/sdb1. i.e. Must point to physical device, not partition. Edit config.txt on the SD to set hdmi hot plug support. put sd in the pi, plug in kb and monitor and boot. after install and upgrade process…