For years, I have self hosted WordPress on Linode with no encryption. Using Ubuntu and Apache. This has been alright, but in recent months (years?) browsers display a symbol showing they are insecure sites. I decided to address this.
From a little reading it appears that I need some signed certificates and to reconfigure my apache config files to add support for SSL and https. I looked into doing this with self signed certificates, but I do not think that is an option after a little trial and error. The easier solution by far to this is using certbot from EFF, using a let’s encrypt certificate.
Install certbot for apache
Using the following commands (from here), install certbot.
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository universe
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache
Add SSL to sites
Run command to run through the wizard to download the certificate and change the apache .conf files to add SSL to your hosted sites.
certbot --apache
You will be asked to select the site, and if you want to direct all requests to the secure version (you should, it is option 2). The first time you run it you have to provide some information about yourself to the EFF.
That is it, nothing to do in WordPress at all and traffic between your visitors browser and your server are now secure.