ublog

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

other [14]linux [12]

Вітаю!

зупиняємо 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

:)