This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
letsencrypt_certbot [2023/09/11 11:29] val created |
letsencrypt_certbot [2024/05/20 14:46] (current) val [Настройка DNS] |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== Letsencrypt Certbot ====== | ====== Letsencrypt Certbot ====== | ||
+ | |||
+ | * [[https://letsencrypt.org/ru/getting-started/|Приступая к работе]] | ||
+ | * [[https://certbot.eff.org/|Certbot]] | ||
+ | |||
+ | ===== Настройка DNS ===== | ||
+ | <code> | ||
+ | $ host host3.mgtu.ru | ||
+ | host3.mgtu.ru has address 195.19.40.152 | ||
+ | </code> | ||
+ | |||
+ | ===== Создание сайта ===== | ||
+ | <code> | ||
+ | val@val:~$ mkdir hostN.mgtu | ||
+ | |||
+ | val@val:~$ cat hostN.mgtu/index.html | ||
+ | </code><code> | ||
+ | <h1>hostN.mgtu.ru</h1> | ||
+ | </code><code> | ||
+ | root@val:~# cat /etc/apache2/sites-available/hostN.mgtu.ru.conf | ||
+ | </code><code> | ||
+ | <VirtualHost *:80> | ||
+ | ServerName hostN.mgtu.ru | ||
+ | DocumentRoot /home/val/hostN.mgtu | ||
+ | <Directory /home/val/hostN.mgtu> | ||
+ | Require all granted | ||
+ | </Directory> | ||
+ | </VirtualHost> | ||
+ | </code><code> | ||
+ | root@val:~# a2ensite hostN.mgtu.ru | ||
+ | |||
+ | root@val:~# apachectl -t | ||
+ | |||
+ | root@val:~# systemctl reload apache2 | ||
+ | </code> | ||
+ | |||
+ | * http://hostN.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><code> | ||
+ | Enter email address (used for urgent renewal and security notices) | ||
+ | (Enter 'c' to cancel): val@bmstu.ru | ||
+ | ... | ||
+ | Create a file containing just this data: | ||
+ | |||
+ | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM | ||
+ | |||
+ | And make it available on your web server at this URL: | ||
+ | |||
+ | http://val.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN | ||
+ | ... | ||
+ | Press Enter to Continue | ||
+ | </code> | ||
+ | |||
+ | * !!! Оставляем эту и открываем новую консоль !!! | ||
+ | |||
+ | <code> | ||
+ | val@val:~$ mkdir -p hostN.mgtu/.well-known/acme-challenge/ | ||
+ | |||
+ | val@val:~$ cat hostN.mgtu/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN | ||
+ | </code><code> | ||
+ | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM | ||
+ | </code><code> | ||
+ | val@val:~$ curl http://hostN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN | ||
+ | </code> | ||
+ | |||
+ | * !!! Возвращаемся в предыдущую консоль !!! | ||
+ | |||
+ | <code> | ||
+ | ... | ||
+ | Press Enter to Continue | ||
+ | |||
+ | Successfully received certificate. | ||
+ | Certificate is saved at: /etc/letsencrypt/live/hostN.mgtu.ru/fullchain.pem | ||
+ | Key is saved at: /etc/letsencrypt/live/hostN.mgtu.ru/privkey.pem | ||
+ | ... | ||
+ | </code> | ||
+ | |||
+ | ===== Настройка SSL для сайта ===== | ||
+ | |||
+ | <code> | ||
+ | root@val:~# cat /etc/apache2/sites-available/hostN.mgtu.ru.conf | ||
+ | </code><code> | ||
+ | ... | ||
+ | <IfModule mod_ssl.c> | ||
+ | <VirtualHost *:443> | ||
+ | ServerName hostN.mgtu.ru | ||
+ | DocumentRoot /home/val/hostN.mgtu | ||
+ | <Directory /home/val/hostN.mgtu> | ||
+ | Require all granted | ||
+ | </Directory> | ||
+ | SSLEngine on | ||
+ | SSLCertificateFile /etc/letsencrypt/live/hostN.mgtu.ru/fullchain.pem | ||
+ | SSLCertificateKeyFile /etc/letsencrypt/live/hostN.mgtu.ru/privkey.pem | ||
+ | </VirtualHost> | ||
+ | </code><code> | ||
+ | root@val:~# apachectl -t | ||
+ | |||
+ | root@val:~# systemctl reload apache2 | ||
+ | </code> | ||
+ | |||
+ | * https://hostN.mgtu.ru | ||
+ | |||
+ | ===== Продление сертификата ===== | ||
+ | <code> | ||
+ | root@val:~# certbot certonly --manual -d hostN.mgtu.ru | ||
+ | </code><code> | ||
+ | Renewing an existing certificate for hostN.mgtu.ru | ||
+ | |||
+ | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||
+ | Create a file containing just this data: | ||
+ | |||
+ | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM | ||
+ | |||
+ | And make it available on your web server at this URL: | ||
+ | |||
+ | http://hostN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN | ||
+ | |||
+ | - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - | ||
+ | Press Enter to Continue | ||
+ | </code><code> | ||
+ | val@val:~$ vim hostN.mgtu/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN | ||
+ | </code><code> | ||
+ | MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM | ||
+ | </code><code> | ||
+ | val@val:~$ ###curl http://hostN.mgtu.ru/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN | ||
+ | |||
+ | root@val:~# service apache2 reload | ||
+ | </code> | ||