Letsencrypt Certbot
val@val:~$ mkdir mgtu
val@val:~$ cat mgtu/index.html
<h1>val.mgtu.ru</h1>
root@val:~# cat /etc/apache2/sites-available/val.mgtu.ru.conf
<VirtualHost *:80>
ServerName val.mgtu.ru
DocumentRoot /home/val/mgtu
<Directory /home/val/mgtu>
Require all granted
</Directory>
</VirtualHost>
root@val:~# a2ensite val.mgtu.ru
root@val:~# systemctl reload apache2
root@val:~# snap install --classic certbot
root@val:~# certbot certonly --manual
val@val:~$ mkdir -p mgtu/.well-known/acme-challenge/
val@val:~$ cat mgtu/.well-known/acme-challenge/NNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNN
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
root@val:~# cat /etc/apache2/sites-available/val.mgtu.ru.conf
...
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName val.mgtu.ru
DocumentRoot /home/val/mgtu
<Directory /home/val/mgtu>
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/val.mgtu.ru/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/val.mgtu.ru/privkey.pem
</VirtualHost>