Установка сертификатов Letsencrypt на Ubuntu 20.04 (но актуально и для других версий, плюс минус, а так же для Debian)
Рассматриваю вариант standalone, т.е. сертификаты устанавливаются без наличия веб-сервера на хосте. Но если он уже есть и занимает порт 80 (или что-то другое его занимает), то надо это дело погасить на время работы certbot. Сначала установка certbot и тут нет ничего проще:
apt install certbot
Домен уже должен быть прописан в DNS (на всякий случай проверить с другого хоста, то он пингуется). Далее одна магическая строчка:
certbot certonly --standalone --preferred-challenges http -d domain-name.com
Будет запрошен e-mail (можно прописать любой, туда присылаются оповещения о том, что сертификат кончается и прочее, на что подписались) и задано пара вопросов. В результате должны сформироваться сертификаты и будет выведено сообщение с информацией о том, как их обновлять и где они находятся:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates below have not been saved.) Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/
В общем-то всё. Далее они прикручиваются куда надо (nginx,apache, etc). В cron для обновления можно прописать:
* * * * 1 certbot renew --non-interactive
Будет обновляться по понедельникам, т.е. раз в неделю.
Вариант обновления через —standalone, если по каким-то причинам по другому не получается:
certbot certonly --standalone --http-01-port 8080 -d domain.com
Чтобы не задавало лишних вопросов (если надо в скрипт прописать или cron добавить):
certbot certonly --standalone --http-01-port 8080 -d domain.com --agree-tos --non-interactive --email _email