This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
letsencrypt_certbot [2025/11/18 09:52] 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 | + | |
| - | debian# apt 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) | ||
| - | (Enter 'c' to cancel): val@bmstu.ru | + | (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 57: | 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 65: | 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 81: | 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 127: | 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> | ||