This shows you the differences between two versions of the page.
| 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> | ||