====== Letsencrypt Certbot ====== * [[https://letsencrypt.org/ru/getting-started/|Приступая к работе]] * [[https://certbot.eff.org/|Certbot]] * [[https://dvmn.org/encyclopedia/deploy/renewing-certbot-certificates-for-nginx-using-a-systemd-timer/|Автоматическое обновление сертификатов Certbot для Nginx по таймеру Systemd]] * [[https://www.8host.com/blog/sozdanie-sertifikata-lets-encrypt-dlya-nginx-v-ubuntu-20-04/|Создание сертификата Let’s Encrypt для Nginx в Ubuntu 20.04]] ===== Настройка DNS ===== $ host siteN.mgtu.ru siteN.mgtu.ru has address 195.19.40.42 ===== Установка certbot ===== ubuntu# snap install --classic certbot debian# apt install certbot ===== Проверка по HTTP ===== ==== C использованием Apache ==== * [[Сервис HTTP#Установка и запуск сервера Apache]] === Создание сайта === * [[Сервис HTTP#Использование виртуальных хостов]] vps:~# mkdir /var/www/siteN.mgtu.ru vps:~# cat /var/www/siteN.mgtu.ru/index.html

siteN.mgtu.ru

vps:~# cat /etc/apache2/sites-available/siteN.mgtu.ru.conf ServerName siteN.mgtu.ru DocumentRoot /var/www/siteN.mgtu.ru vps:~# a2ensite siteN.mgtu.ru vps:~# apachectl -t vps:~# systemctl reload apache2 * http://siteN.mgtu.ru === Запрос и подтверждение сертификата "вручную" === * Только для обучения, в дальнейшем использовать [[#Запрос и подтверждение сертификата "автоматически"]] vps:~# certbot certonly --manual -d siteN.mgtu.ru Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): Enter ... You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Account registered. ... Create a file containing just this data: MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM And make it available on your web server at this URL: http://siteN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN ... Press Enter to Continue * !!! Оставляем эту и открываем новую консоль !!! vps:~# mkdir -p /var/www/siteN.mgtu.ru/.well-known/acme-challenge/ vps:~# cat /var/www/siteN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM $ curl http://siteN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN * !!! Возвращаемся в предыдущую консоль !!! ... Press Enter to Continue Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/siteN.mgtu.ru/fullchain.pem Key is saved at: /etc/letsencrypt/live/siteN.mgtu.ru/privkey.pem ... === Настройка SSL для сайта === * [[Сервис HTTP#Поддержка протокола HTTPS]] vps:~# cat /etc/apache2/sites-available/siteN.mgtu.ru.conf ... ServerName siteN.mgtu.ru DocumentRoot /home/val/siteN.mgtu SSLEngine on SSLCertificateFile /etc/letsencrypt/live/siteN.mgtu.ru/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/siteN.mgtu.ru/privkey.pem vps:~# apachectl -t vps:~# systemctl reload apache2 * https://siteN.mgtu.ru === Продление сертификата "вручную" === vps:~# certbot certonly --manual -d siteN.mgtu.ru Renewing an existing certificate for siteN.mgtu.ru - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create a file containing just this data: MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM And make it available on your web server at this URL: http://siteN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue val@val:~$ vim siteN.mgtu/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM $ ###curl http://siteN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN vps:~# service apache2 reload === Запрос и подтверждение сертификата "автоматически" === == Apache == * [[#Создание сайта]] vps:~# apt install python3-certbot-apache vps:~# certbot --apache -d siteN.mgtu.ru ... vps:~# less /etc/apache2/sites-available/siteN.mgtu.ru-le-ssl.conf vps:~# less /etc/apache2/sites-available/siteN.mgtu.ru.conf vps:~# ls -l /etc/apache2/sites-enabled/ $ curl https://siteN.mgtu.ru -v $ curl http://siteN.mgtu.ru -v == Nginx == * [[Сервис HTTP#Установка и запуск сервера Nginx]] vps:~# cat /etc/nginx/sites-available/default vps:~# vim /etc/nginx/sites-available/siteN.mgtu.ru vps:~# cat /var/www/siteN.mgtu.ru/index.html * [[Сервис HTTP#Подключение, тестирование, применение и мониторинг конфигурации]] $ curl siteN.mgtu.ru vps:~# apt install python3-certbot-nginx vps:~# certbot --nginx -d siteN.mgtu.ru vps:~# more /etc/nginx/sites-available/siteN.mgtu.ru == DNS bind == * [[Let's Encrypt для внутренних сайтов]] * [[Let's Encrypt для внутренних сайтов]] ===== Отладка certbot ===== vps:~# ls /etc/letsencrypt/renewal/ vps:~# less /etc/letsencrypt/renewal/siteN.mgtu.ru.conf vps:~# systemctl show certbot.timer vps:~# systemctl show certbot.service vps:~# tail /var/log/letsencrypt/letsencrypt.log