User Tools

Site Tools


letsencrypt_certbot

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
letsencrypt_certbot [2024/05/03 09:45]
val [Продление сертификата]
letsencrypt_certbot [2025/12/16 11:09] (current)
val
Line 4: Line 4:
   * [[https://​certbot.eff.org/​|Certbot]]   * [[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 ===== 
 +<​code>​ 
 +$ host siteN.mgtu.ru 
 +siteN.mgtu.ru has address 195.19.40.42 
 +</​code>​ 
 + 
 +===== Установка certbot ===== 
 +<​code>​ 
 +ubuntu# snap install --classic certbot 
 + 
 +debian# apt install certbot 
 +</​code>​ 
 + 
 +===== Проверка по HTTP ===== 
 + 
 +==== C использованием Apache ==== 
 + 
 +  * [[Сервис HTTP#​Установка и запуск сервера Apache]] 
 + 
 +=== Создание сайта === 
 + 
 +  * [[Сервис HTTP#​Использование виртуальных хостов]] 
 <​code>​ <​code>​
-val@val:~mkdir mgtu+vps:~mkdir /​var/​www/​siteN.mgtu.ru
  
-val@val:~cat mgtu/​index.html+vps:~cat /​var/​www/​siteN.mgtu.ru/index.html
 </​code><​code>​ </​code><​code>​
-<h1>val.mgtu.ru</​h1>​+<h1>siteN.mgtu.ru ​from Apache</h1>
 </​code><​code>​ </​code><​code>​
-root@val:~# cat /​etc/​apache2/​sites-available/​val.mgtu.ru.conf+vps:~# cat /​etc/​apache2/​sites-available/​siteN.mgtu.ru.conf
 </​code><​code>​ </​code><​code>​
 <​VirtualHost *:80> <​VirtualHost *:80>
-  ServerName ​val.mgtu.ru +  ServerName ​siteN.mgtu.ru 
-  DocumentRoot /home/val/mgtu +  DocumentRoot /var/www/siteN.mgtu.ru
-  <​Directory /​home/​val/​mgtu>​ +
-    Require all granted +
-  </​Directory>​+
 </​VirtualHost>​ </​VirtualHost>​
 </​code><​code>​ </​code><​code>​
-root@val:~# a2ensite ​val.mgtu.ru+vps:~# a2ensite ​siteN.mgtu.ru
  
-root@val:~# systemctl reload apache2+vps:~# apachectl -t 
 + 
 +vps:~# systemctl reload apache2
 </​code>​ </​code>​
  
-  * http://val.mgtu.ru +  * http://siteN.mgtu.ru
-===== Запрос сертификата ===== +
-<​code>​ +
-root@val:~# snap install --classic certbot+
  
-root@val:~# certbot certonly --manual+=== Запрос и подтверждение сертификата "​вручную"​ === 
 + 
 +  * Только для обучения,​ в дальнейшем использовать [[#​Запрос и подтверждение сертификата "​автоматически"​]] 
 + 
 +<​code>​ 
 +vps:~# certbot certonly --manual ​-d siteN.mgtu.ru
 </​code><​code>​ </​code><​code>​
 +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: Create a file containing just this data:
Line 41: Line 74:
 And make it available on your web server at this URL: And make it available on your web server at this URL:
  
-http://val.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+http://siteN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 ... ...
 Press Enter to Continue Press Enter to Continue
-... +</​code>​
-</​code>​<​code>​ +
-val@val:~$ mkdir -p mgtu/​.well-known/​acme-challenge/​+
  
-val@val:~cat mgtu/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+  * !!! Оставляем эту и открываем новую консоль !!! 
 + 
 +<​code>​ 
 +vps:~# mkdir -p /​var/​www/​siteN.mgtu.ru/​.well-known/​acme-challenge/​ 
 + 
 +vps:​~# ​cat /​var/​www/​siteN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 </​code><​code>​ </​code><​code>​
 MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
 +</​code><​code>​
 +$ curl http://​siteN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 </​code>​ </​code>​
  
-===== Настройка SSL для сайта =====+  * !!! Возвращаемся в предыдущую консоль !!!
  
 <​code>​ <​code>​
-root@val:~# cat /​etc/​apache2/​sites-available/​val.mgtu.ru.conf+... 
 +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 
 +... 
 +</​code>​ 
 + 
 +=== Настройка SSL для сайта === 
 + 
 +  * [[Сервис HTTP#​Поддержка протокола HTTPS]] 
 + 
 +<​code>​ 
 +vps:~# cat /​etc/​apache2/​sites-available/​siteN.mgtu.ru.conf
 </​code><​code>​ </​code><​code>​
 ... ...
 <​IfModule mod_ssl.c>​ <​IfModule mod_ssl.c>​
   <​VirtualHost *:443>   <​VirtualHost *:443>
-    ​ServerName ​val.mgtu.ru +  ​ServerName ​siteN.mgtu.ru 
-    DocumentRoot /home/val/mgtu +  DocumentRoot /var/www/siteN.mgtu.ru
-    <​Directory /​home/​val/​mgtu>​ +
-      Require all granted +
-    </​Directory>​+
     SSLEngine on     SSLEngine on
-    SSLCertificateFile /​etc/​letsencrypt/​live/​val.mgtu.ru/​fullchain.pem +    SSLCertificateFile /​etc/​letsencrypt/​live/​siteN.mgtu.ru/​fullchain.pem 
-    SSLCertificateKeyFile /​etc/​letsencrypt/​live/​val.mgtu.ru/​privkey.pem +    SSLCertificateKeyFile /​etc/​letsencrypt/​live/​siteN.mgtu.ru/​privkey.pem 
-</​VirtualHost>​+  </​VirtualHost>​ 
 +</​IfModule>​ 
 +</​code><​code>​ 
 +vps:~# apachectl -t 
 + 
 +vps:~# systemctl reload apache2
 </​code>​ </​code>​
  
-  * https://val.mgtu.ru+  * https://siteN.mgtu.ru
  
-===== Продление сертификата ​=====+=== Продление сертификата ​"​вручную" ​===
 <​code>​ <​code>​
-root@val:~# certbot certonly --manual -d val.mgtu.ru+vps:~# certbot certonly --manual -d siteN.mgtu.ru
 </​code><​code>​ </​code><​code>​
-Renewing an existing certificate for val.mgtu.ru+Renewing an existing certificate for siteN.mgtu.ru
  
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Line 87: Line 141:
 And make it available on your web server at this URL: And make it available on your web server at this URL:
  
-http://val.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+http://siteN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
  
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
 Press Enter to Continue Press Enter to Continue
 </​code><​code>​ </​code><​code>​
-val@val:~vim mgtu/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+vps:~vim siteN.mgtu/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 </​code><​code>​ </​code><​code>​
 MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
 </​code><​code>​ </​code><​code>​
-val@val:~$ curl http://val.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+###curl http://siteN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN 
 + 
 +vps:~# service apache2 reload 
 +</​code>​ 
 + 
 +=== Запрос и подтверждение сертификата "​автоматически"​ === 
 + 
 +== Apache == 
 + 
 +  * [[#​Создание сайта]] 
 + 
 +<​code>​ 
 +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 
 +</​code>​ 
 + 
 +== Nginx == 
 + 
 +  * [[Сервис HTTP#​Установка и запуск сервера Nginx]] 
 + 
 +<​code>​ 
 +vps:~# cat /​etc/​nginx/​sites-available/​default 
 + 
 +vps:~# vim /​etc/​nginx/​sites-available/​siteN.mgtu.ru 
 + 
 +vps:~# mkdir /​var/​www/​siteN.mgtu.ru/​ 
 + 
 +vps:~# cat /​var/​www/​siteN.mgtu.ru/​index.html 
 +</​code><​code>​ 
 +<​h1>​siteN.mgtu.ru from Nginx</​h1>​ 
 +</​code>​ 
 +  * [[Сервис HTTP#​Подключение,​ тестирование,​ применение и мониторинг конфигурации]] 
 +<​code>​ 
 +$ 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 
 +</​code>​ 
 + 
 +== DNS bind == 
 + 
 +  * [[Let'​s Encrypt для внутренних сайтов]] 
 + 
 +===== Отладка certbot ===== 
 +<​code>​ 
 +vps:~# ls /​etc/​letsencrypt/​renewal/​ 
 + 
 +vps:~# less /​etc/​letsencrypt/​renewal/​siteN.mgtu.ru.conf 
 + 
 +vps:~# systemctl show certbot.timer 
 + 
 +vps:~# systemctl show certbot.service
  
-root@val:~# service apache2 reload+vps:~# tail /​var/​log/​letsencrypt/​letsencrypt.log
 </​code>​ </​code>​
  
letsencrypt_certbot.1714718712.txt.gz · Last modified: 2024/05/03 09:45 by val