How to install your own Ubuntu 20.04 Linux server | Part 6 of 10

linux hetzner cloud virtual server tutorial

In Part 6 of the tutorial we'll install SSL certificates and force the web server to serve SSL only.

It's recommended that you have read the previous steps of this course. You'll find the overview at the end of this blogpost.

Course ingredients:

12. Get free Let's Encrypt SSL certificates

Instead of buying a certificate at one of the many sources on the internet we'll create free certificates at Let's Encrypt. That's one of the advantages if you have your own remote server up and running. The freedom to choose whatever you would like to install.

Let's Encrypt recommends that most people with shell access use the Certbot ACME (Automatic Certificate Management Environment) client.

Certbot is a free, open source software tool for automatically using Let’s Encrypt certificates on manually-administrated websites to enable HTTPS.

Install Certbot

Open a second session in a new terminal.

Switch to root user and navigate to /etc/apache2 directory.

cd /etc/apache2
apt update && apt install certbot python3-certbot-apache

Confirm with yes

13. Request certificate, active https and force SSL

Request a certificate for domain

certbot -d <DomainName>

For Apache

To use certbot for both a http://domain and http://www.domain use the following command:

certbot --apache -n -d -d --agree-tos --email --redirect --expand

Without specifying both domains, you will get a certificate error for the domain not specified during creation.

Renew certificate

First check status of certificates:

systemctl status certbot.timer

Renew certificates:

certbot renew --dry-run

The Course Syllable:

22.05.2021 – Part 1

  1. Introduction & reasoning

29.05.2021 – Part 2

  1. Create Hetzner Cloud Server
  2. Connect to Server

05.06.2021 – Part 3

  1. Update and upgrade Ubuntu installation and install apache2
  2. Install PHP

12.06.2021 – Part 4

  1. Establish ssh keys
  2. Add new sudo user
  3. Deactivate root user
  4. Make new sudo user owner of ssh service

19.06.2021 – Part 5

  1. Buy Domain and point it to Hetzner Server
  2. Create Virtual Host for domain

26.06.2021 – Part 6

  1. Get free Let's Encrypt SSL certificates
  2. Request certificate, active https and force SSL

03.07.2021 – Part 7

  1. Install Git on Remote Server
  2. Create CI/CD user and ssh keys for Gitlab on Remote Server

10.07.2021 – Part 8

  1. Create Gitlab Repository
  2. Establish ssh keys and configure CI/CD

17.07.2021 – Part 9

  1. Install MySQL
  2. Install phpMyAdmin

24.07.2021 – Part 10

  1. Summary of project development workflow
  2. I'll be back – The course update log

See you next week for more


Previous Post Next Post

This site uses cookies to store information on your computer. Some of these cookies are essential, while others help us to improve your experience by providing insights into how the site is being used. ×
Necessary Cookies

Necessary cookies enable core functionality such as page navigation and access to secure areas. The website cannot function properly without these cookies, and can only be disabled by changing your browser preferences.

Analytical Cookies

Analytical cookies help us to improve our website by collecting and reporting information on its usage.

Marketing cookies

We use marketing cookies to help us improve the relevancy of advertising campaigns you receive.