Please note : This article (and the repo mentioned here) is deprecated. Certbot now recommends installation through Snap. For more details please see – https://certbot.eff.org/docs/install.html.
More info at: https://launchpad.net/~certbot/+archive/ubuntu/certbot
Electronic Frontier Foundation (EFF) provides Let’s Encrypt SSL Certificates through their Certbot service. They don’t provide any Organization Validation (OV) or Extended Validation (EV) certificate. As per plans, from January 2018, they will provide wildcard certificates also.
The Let’s Encrypt Policy and Legal documents can be found here : https://letsencrypt.org/repository/ and the FAQ page is at https://letsencrypt.org/docs/faq/
Below are the steps to install the free SSL certificate on an Ubuntu server running Apache
apt-get install software-properties-common
add-apt-repository ppa:certbot/certbot
apt-get update
apt-get install certbot
certbot certonly --standalone --standalone-supported-challenges http-01 -d <server fqdn>
It will ask, “Temporary” or “Standalone” server. Choosing temporary is fast and easy.
After that it will ask a few more general question like, email id for contact etc. Once all details supplied it will install the certificate and show the path where the certificates and key file is stored. Please make a note of the path for later use or reference.
The certificates are valid for 90 days only. After the 90 days it has to be renewed. What can be done to solve this is to set a cron that will automatically renew the certificate after every 60 days or so. Steps to set cron below
Open Cron file using
crontrab -e
Now put the following line to renew the certificate automatically every 2 months
0 0 1 */2 * certbot renew --noninteractive --post-hook "systemctl restart mosquitto apache2"
Save and exit Cron file.
All set for a secured connection.
Steps for other Servers can be found here https://certbot.eff.org/