Tech Writing Sample > Automate the Renewal of a Let’s Encrypt SSL/TLS Certificate on an AWS EC2 Instance

Screenshot illustrating the process to automate the renewal of a TLS certificate.
info

Update: May 2020

This article was originally created in December 2018 and completely updated in June 2019. I will not be updating it going forward.

Although the instructions remain valid, if you are using the WordPress Certified by Bitnami and Automattic Amazon Machine Image to create an EC2 instance to host a WordPress site, Bitnami has more recently integrated its own Let’s Encrypt certificate client into the Bitnami Helper Tool, which you can read more about in WordPress on Amazon EC2: Connect to an Instance via SSH.


This is part of my Introduction to Installing Let’s Encrypt Certificates for WordPress on Amazon Web Services (AWS) tutorial.

In Renew a Let’s Encrypt SSL/TLS Certificate on an AWS EC2 Instance I went over the steps to renew your Let’s Encrypt SSL/TLS certificate, which will expire every 90 days. It’s good to know how to renew the certificate yourself, but once you do you can write a bash script to automate that renewal process. Here’s a basic overview of how that works:

  1. Create a bash script that executes the same renew commands used in Renew a Let’s Encrypt SSL/TLS Certificate on an AWS EC2 Instance.
  2. Upload that bash script to your EC2 instance.
  3. Create a cron job. Cron is a function in Linux that allows you to schedule automated tasks, allowing you to run your bash script at a specific time and a specific interval. In this example, we will execute the bash script at midnight on the first day of every month.

Unfortunately, when I tried this, it didn’t actually work for me. So the steps below provide a description of the symptom, along with my workaround.

Continue reading “Automate the Renewal of a Let’s Encrypt SSL/TLS Certificate on an AWS EC2 Instance”

Tech Writing Sample > Renew a Let’s Encrypt SSL/TLS Certificate on an AWS EC2 Instance

Screenshot illustrating the process to renew a TLS certificate.
info

Update: May 2020

This article was originally created in December 2018. I will not be updating it going forward.

Although the instructions remain valid, if you are using the WordPress Certified by Bitnami and Automattic Amazon Machine Image to create an EC2 instance to host a WordPress site, Bitnami has more recently integrated its own Let’s Encrypt certificate client into the Bitnami Helper Tool, which you can read more about in WordPress on Amazon EC2: Connect to an Instance via SSH.

This is part of my Introduction to Installing Let’s Encrypt Certificates for WordPress on Amazon Web Services (AWS) tutorial.

In Install a Let’s Encrypt SSL/TLS Certificate on an AWS EC2 Instance, we learned how to install the Lego client to create and manage TLS/SSL certificates provided by Let’s Encrypt. The certificates issued by Let’s Encrypt expire every 90 days, so you will need to renew them before they expire to maintain your website’s HTTPS connection. Let’s Encrypt will send you an email to notify you that your certificate is expiring soon.

Continue reading “Renew a Let’s Encrypt SSL/TLS Certificate on an AWS EC2 Instance”

Tech Writing Sample > Install a Let’s Encrypt SSL/TLS Certificate on an AWS EC2 Instance

Screenshot illustrating the process to install a TLS certificate from Let's Encrypt.
info

Update: May 2020

This article was originally created in December 2018. I will not be updating it going forward.

Although the instructions remain valid, if you are using the WordPress Certified by Bitnami and Automattic Amazon Machine Image to create an EC2 instance to host a WordPress site, Bitnami has more recently integrated its own Let’s Encrypt certificate client into the Bitnami Helper Tool, which you can read more about in WordPress on Amazon EC2: Connect to an Instance via SSH.


This is part of my Introduction to Installing Let’s Encrypt Certificates for WordPress on Amazon Web Services (AWS) tutorial.

This post shows you to use your EC2 instance’s command-line interface to download and install Lego, a Let’s Encrypt client written in the Go programming language. Lego will allow you to create and manage SSL/TLS certificates from the Let’s Encrypt Certificate Authority.

In this example I am installing a Let’s Encrypt certificate on a LAMP-stack virtual server (in this case an EC2 instance from Amazon Web Services) over Secure Shell (SSH). After that, I’ll show you how to download a copy of your certificates and account information using an FTP client. I am using the macOS Terminal, which is Unix-based, but the Linux commands will be the same regardless of what command-line interface you are using. I am also using the Cyberduck FTP client, but any FTP client should work.

Continue reading “Install a Let’s Encrypt SSL/TLS Certificate on an AWS EC2 Instance”

Tech Writing Sample > Public-Record Property Investigation: Philadelphia Edition

Screenshot illustrating the process to research property and related water bill information on the Philadelphia Water Department's website.
warning

Update: May 2020

Since I created this article, the Philadelphia Water Department (PWD) introduced online accounts where customers can receive and pay their own water bills. It only took them until 2019!

Unfortunately, that means that they have discontinued the ability for anybody with an Internet connection and a PWD account number to look up the balance for that account.

This means that Part II: Use the PWD Account Number to Look up a Water Bill is no longer applicable. But it was good tech writing while it lasted.


info

Update: May 2020

This article was originally created in mid-2018 and completely updated in June 2019. I will not be updating it going forward.


The City of Philadelphia’s online presence has been a bad joke for a very long time. But in the past several years the city has taken steps to modernize its website and there are now a number of useful tools for citizens to easily access publicly available data, including basic property records and associated data about that property’s tax status, L&I records, and its water usage.

This tutorial, and particularly the part about gathering information about a property’s water usage, is based on a great article that used to be on Philadelinquency.com, but since the site’s archive is no longer available, I am reproducing the steps here.

Continue reading “Public-Record Property Investigation: Philadelphia Edition”

Website > Massolit-Media.com: v2.0, “MoBerry” Portfolio Website (2017)

Business Skills:
Editorial Skills: , , ,
Screenshot: Customized PHP, etc., for a WordPress child theme that is currently in production on massolit-media.com.
Continue reading “Massolit-Media.com: v2.0, “MoBerry” Portfolio Website (2017)”

Tech Writing Sample > WordPress on Amazon EC2: Permission Denied Error Message

Troubleshooting the Permissions Denied error message when using Cyberduck FTP client with an AWS EC2 instance.

This is part of my Introduction to Hosting WordPress on Amazon Web Services (AWS) tutorial.

  • Are you new to hosting WordPress with an Amazon Web Services (AWS) EC2 instance using the WordPress Certified by Bitnami and Automattic Amazon Machine Image (AMI)?
  • Are you having problems accessing the files in your WordPress installation via FTP?
  • Do you see a Permission denied error message when you try to upload, edit, or delete a file from your WordPress Installation using FTP?

Read these instructions for a quick (and dirty) fix to this problem. After that, if you want, you can read on for an explanation.

Continue reading “WordPress on Amazon EC2: Permission Denied Error Message”

Tech Writing Sample > WordPress on Amazon EC2: Connect to an Instance via FTP

Screenshot displaying connecting to an AWS EC2 instance using Cyberduck FTP client.
info

Update: May 2020

This article was originally created in 2018 and completely updated in May 2020. I will not be updating it going forward.


This is part of my Introduction to Hosting WordPress on Amazon Web Services (AWS) tutorial.

In this tutorial I will go over the steps needed to access your WordPress files by connecting to an Amazon Web Services (AWS) EC2 instance over FTP (or, more accurately, SFTP) using an FTP client.

Continue reading “WordPress on Amazon EC2: Connect to an Instance via FTP”

Tech Writing Sample > WordPress on Amazon EC2: Connect to an Instance via SSH

Screenshot: Connecting to an AWS EC2 instance using SSH.
info

Update: May 2020

This article was originally created in 2018 and completely updated in May 2020. I will not be updating it going forward.


This is part of my Introduction to Hosting WordPress on Amazon Web Services (AWS) tutorial.

SSH, or secure shell, is a protocol that allows a user to remotely connect to another computer, such as a server. SSH provides an encrypted connection from the local machine that you are using (like your laptop) to another computer, or “host,” in this case, an AWS EC2 virtual machine in the cloud. Although SSH does have a password option, in practice the Public Key Infrastructure (PKI) is used to enforce stricter security: a public key is stored on the machine that you are SSH’ing into, and you use a private key on your local machine to authenticate.

Continue reading “WordPress on Amazon EC2: Connect to an Instance via SSH”

Tech Writing Sample > WordPress on Amazon EC2: IP and Domain-Name Addressing

Screenshot: AWS EC2 instance, Elastic IPs, Route 53 DNS management, and restarting or shutting down the instance.
info

Update: May 2020

This article was originally created in 2018 and completely updated in May 2020. I will not be updating it going forward.


This is part of my Introduction to Hosting WordPress on Amazon Web Services (AWS) tutorial.

In the first two articles of this series I went over the steps to create an AWS EC2 instance from the WordPress Certified by Bitnami and Automattic image to host a WordPress site. In this article I am going to go over the steps to access that instance with an IP address, and how to assign a domain name to that instance using the Route 53 service from AWS. But first I’m going to go over something else: restarting or shutting down an EC2 instance.

Continue reading “WordPress on Amazon EC2: IP and Domain-Name Addressing”

Tech Writing Sample > WordPress on Amazon EC2: Managing Your EC2 Instances

Editorial Skills: , ,
Screenshot: naming AWS EC2 instances and volumes, and creating snapshots.
info

Update: May 2020

This article was originally created in 2018 and completely updated in May 2020. I will not be updating it going forward.


This is part of my Introduction to Hosting WordPress on Amazon Web Services (AWS) tutorial.

In Launch an Amazon Web Services (AWS) EC2 Instance to Create a WordPress Site we set up an EC2 instance as a server for a WordPress site. Regardless of what your EC2 instance is a resource for, these tips can help you better manage your EC2 instances. I am using Firefox on a Mac, but these steps are platform- and browser-agnostic. In addition, you will need an AWS account and you will need to log in to that account as a root user or as an IAM user with admin privileges.

Continue reading “WordPress on Amazon EC2: Managing Your EC2 Instances”