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 [2025/11/18 10:21]
val
letsencrypt_certbot [2025/11/27 10:32] (current)
val [C использованием Apache]
Line 3: Line 3:
   * [[https://​letsencrypt.org/​ru/​getting-started/​|Приступая к работе]]   * [[https://​letsencrypt.org/​ru/​getting-started/​|Приступая к работе]]
   * [[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 ===== ===== Настройка DNS =====
 <​code>​ <​code>​
-$ host host4.mgtu.ru +$ host siteN.mgtu.ru 
-host3.mgtu.ru has address 195.19.40.152+siteN.mgtu.ru has address 195.19.40.42
 </​code>​ </​code>​
  
-===== Создание сайта ​=====+===== Установка certbot ===== 
 +<​code>​ 
 +ubuntu# snap install --classic certbot 
 + 
 +debian# apt install certbot 
 +</​code>​ 
 + 
 +===== Проверка по HTTP ===== 
 + 
 +==== C использованием Apache ==== 
 + 
 +  * [[Сервис HTTP#​Установка и запуск сервера Apache]] 
 + 
 +=== Создание сайта ===
  
   * [[Сервис HTTP#​Использование виртуальных хостов]]   * [[Сервис HTTP#​Использование виртуальных хостов]]
  
 <​code>​ <​code>​
-val@val:~mkdir hostN.mgtu+vps:~mkdir /​var/​www/​siteN.mgtu.ru
  
-val@val:~cat hostN.mgtu/​index.html+vps:~cat /​var/​www/​siteN.mgtu.ru/index.html
 </​code><​code>​ </​code><​code>​
-<h1>hostN.mgtu.ru</​h1>​+<h1>siteN.mgtu.ru</​h1>​
 </​code><​code>​ </​code><​code>​
-root@val:~# cat /​etc/​apache2/​sites-available/​hostN.mgtu.ru.conf+vps:~# cat /​etc/​apache2/​sites-available/​siteN.mgtu.ru.conf
 </​code><​code>​ </​code><​code>​
 <​VirtualHost *:80> <​VirtualHost *:80>
-  ServerName ​hostN.mgtu.ru +  ServerName ​siteN.mgtu.ru 
-  DocumentRoot /home/val/hostN.mgtu +  DocumentRoot /var/www/siteN.mgtu.ru
-#  <​Directory /​home/​val/​hostN.mgtu> +
-#    Require all granted +
-#  </​Directory>​+
 </​VirtualHost>​ </​VirtualHost>​
 </​code><​code>​ </​code><​code>​
-root@val:~# a2ensite ​hostN.mgtu.ru+vps:~# a2ensite ​siteN.mgtu.ru
  
-root@val:~# apachectl -t+vps:~# apachectl -t
  
-root@val:~# systemctl reload apache2+vps:~# systemctl reload apache2
 </​code>​ </​code>​
  
-  * http://hostN.mgtu.ru+  * http://siteN.mgtu.ru
  
-===== Запрос сертификата ===== +=== Запрос ​и подтверждение ​сертификата ​"​вручную" ​===
-<​code>​ +
-ubuntu# snap install --classic certbot+
  
-debianapt install certbot #​python3-certbot-apache+  * Только для обучения,​ в дальнейшем использовать [[#Запрос и подтверждение сертификата "​автоматически"​]]
  
-root@val:~# certbot certonly --manual -d hostN.mgtu.ru+<​code>​ 
 +vps:~# certbot certonly --manual -d siteN.mgtu.ru
 </​code><​code>​ </​code><​code>​
 Enter email address (used for urgent renewal and security notices) Enter email address (used for urgent renewal and security notices)
Line 62: 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://hostN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+http://siteN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 ... ...
 Press Enter to Continue Press Enter to Continue
Line 70: Line 82:
  
 <​code>​ <​code>​
-val@val:~mkdir -p hostN.mgtu/​.well-known/​acme-challenge/​+vps:~mkdir -p /​var/​www/​siteN.mgtu.ru/​.well-known/​acme-challenge/​
  
-val@val:~cat hostN.mgtu/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+vps:~cat /​var/​www/​siteN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 </​code><​code>​ </​code><​code>​
 MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
 </​code><​code>​ </​code><​code>​
-val@val:~$ curl http://hostN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+$ curl http://siteN.mgtu.ru/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 </​code>​ </​code>​
  
Line 86: Line 98:
  
 Successfully received certificate. Successfully received certificate.
-Certificate is saved at: /​etc/​letsencrypt/​live/​hostN.mgtu.ru/​fullchain.pem +Certificate is saved at: /​etc/​letsencrypt/​live/​siteN.mgtu.ru/​fullchain.pem 
-Key is saved at:         /​etc/​letsencrypt/​live/​hostN.mgtu.ru/​privkey.pem+Key is saved at:         /​etc/​letsencrypt/​live/​siteN.mgtu.ru/​privkey.pem
 ... ...
 </​code>​ </​code>​
  
-===== Настройка SSL для сайта ​=====+=== Настройка SSL для сайта ===
  
   * [[Сервис HTTP#​Поддержка протокола HTTPS]]   * [[Сервис HTTP#​Поддержка протокола HTTPS]]
  
 <​code>​ <​code>​
-root@val:~# cat /​etc/​apache2/​sites-available/​hostN.mgtu.ru.conf+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 ​hostN.mgtu.ru +  ServerName ​siteN.mgtu.ru 
-  DocumentRoot /home/val/hostN.mgtu +  DocumentRoot /home/val/siteN.mgtu
-#  <​Directory /​home/​val/​hostN.mgtu>​ +
-#    Require all granted +
-#  </​Directory>​+
     SSLEngine on     SSLEngine on
-    SSLCertificateFile /​etc/​letsencrypt/​live/​hostN.mgtu.ru/​fullchain.pem +    SSLCertificateFile /​etc/​letsencrypt/​live/​siteN.mgtu.ru/​fullchain.pem 
-    SSLCertificateKeyFile /​etc/​letsencrypt/​live/​hostN.mgtu.ru/​privkey.pem+    SSLCertificateKeyFile /​etc/​letsencrypt/​live/​siteN.mgtu.ru/​privkey.pem
   </​VirtualHost>​   </​VirtualHost>​
 </​IfModule>​ </​IfModule>​
 </​code><​code>​ </​code><​code>​
-root@val:~# apachectl -t+vps:~# apachectl -t
  
-root@val:~# systemctl reload apache2+vps:~# systemctl reload apache2
 </​code>​ </​code>​
  
-  * https://hostN.mgtu.ru+  * https://siteN.mgtu.ru
  
-===== Продление сертификата ​=====+=== Продление сертификата ​"​вручную" ​===
 <​code>​ <​code>​
-root@val:~# certbot certonly --manual -d hostN.mgtu.ru+vps:~# certbot certonly --manual -d siteN.mgtu.ru
 </​code><​code>​ </​code><​code>​
-Renewing an existing certificate for hostN.mgtu.ru+Renewing an existing certificate for siteN.mgtu.ru
  
 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Line 132: 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://hostN.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 hostN.mgtu/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN+val@val:~$ vim siteN.mgtu/​.well-known/​acme-challenge/​NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
 </​code><​code>​ </​code><​code>​
 MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
 </​code><​code>​ </​code><​code>​
-val@val:~$ ###curl http://hostN.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:~# cat /​var/​www/​siteN.mgtu.ru/​index.html 
 +</​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 для внутренних сайтов]] 
 + 
 +  * [[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.1763450464.txt.gz · Last modified: 2025/11/18 10:21 by val