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”

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”