Установка Let’s Encrypt клиента
$ sudo apt-get install software-properties-common$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-apache
Генерация SSL-сертификатов
$ sudo certbot --apache -d example.com -d www.example.comhttps://www.ssllabs.com/ssltest/analyze.html?d=example.com&latest
$ sudo certbot --apache -d test.com -d www.test.com
https://www.ssllabs.com/ssltest/analyze.html?d=test.com&latest
Обновление SSL-сертификатов
Сертификаты выдаются на 90 дней поэтому их нужно обновлять.Холостое обновление (просто для тестирования, как оно работает):
$ certbot renew --dry-run
Можно запланировать обновление через crontab:
$ sudo crontab -e
. . .
15 3 * * * /usr/bin/certbot renew --quiet
sudo ufw allow out on eth0 from ##.##.##.### to 23.193.72.10 port 443 proto tcp
Настройка файрвола
sudo ufw allow in on eth0 from any to ##.##.##.### port 443 proto tcpsudo ufw allow out on eth0 from ##.##.##.### to 23.193.72.10 port 443 proto tcp
На 443 порт юзеры приходят по HTTPS-протоколу.
23.193.72.10 - это IP-адрес сервера acme-staging.api.letsencrypt.org, на который бот ходит смотреть обновления.
Полезные ссылки по теме:
- https://letsencrypt.org/getting-started/
- How to Set Up Let’s Encrypt Certificates for Multiple Apache Virtual Hosts on Ubuntu 14.04
- https://certbot.eff.org/#ubuntuxenial-apache
- How to setup a UFW firewall on Ubuntu 16.04 LTS server
- How To Secure Apache with Let's Encrypt on Debian 8
- Linux / UNIX Crontab File Location