Technical 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”

Technical 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”

Technical 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”

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)”

Technical 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”

Technical 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”

Technical 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”

Technical 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”

Technical 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”

Technical Writing Sample > WordPress on Amazon EC2: Launch an EC2 Instance to Create a WordPress Site

Screenshot: Creating an AWS EC2 instance to host a WordPress site using Bitnami.
info

Update: May 2020

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


This is the first tutorial in my series Introduction to Hosting WordPress on Amazon Web Services (AWS).

In this post I am going to walk through the steps for launching an EC2 instance in Amazon Web Services (AWS). I will be launching an Amazon Machine Image (AMI) from the AWS Marketplace that is specifically created to run a WordPress site. The image is provided by Bitnami, a software company that specializes in deploying open-source software. I am using Firefox on a Mac, but these steps are platform- and browser-agnostic. You need an AWS account and the ability to log in to that AWS account as either the root user, or, if you have set up separate IAM (Identity and Access Management) accounts, then an IAM account with admin privileges.

Continue reading “WordPress on Amazon EC2: Launch an EC2 Instance to Create a WordPress Site”