Генеруємо сертифікат від letsencrypt для сайту в Debian

зупиняємо nginx

sudo service nginx stop

для початку потрібно встановити certbot, якщо не встановлено
https://certbot.eff.org/#debianstretch-nginx

sudo apt-get install python-certbot-nginx -t stretch-backports

згенеруємо сертифікат

sudo certbot certonly --manual

після вводу доменного імені та субдоменів,
нас попросять створити файл-підтверження володіння доменом

відкриваємо ще одну консоль і в неї пишемо наступні команди
(назву і вміст файлу в команді printf підставляєте свої)

mkdir -p /tmp/letsencrypt/public_html/.well-known/acme-challenge
cd /tmp/letsencrypt/public_html

printf "%s" OKfg5yfdhgt6534frtry54ewfregret > .well-known/acme-challenge/OKgfy5t4hjb34hrfg34fre3grvhgfv

# run once per server:
sudo $(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
s = BaseHTTPServer.HTTPServer(('',80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()"

після цього в першій консолі натискаємо ENTER
і повторяємо для кожного субдомена
(в другій консолі CTRL+C, далі створення файла з потрібною назвою та вмістом,
далі - знову запуск python-сервера, як вище,, далі - ENTER в першій консолі)

для оновлення сертифіката
(вимикаємо nginx, запускаємо python-сервер, далі наступна команда)

sudo certbot renew --dry-run

upd. про сертифікат з автоматизацією

Посилання

https://certbot.eff.org/#debianstretch-nginx