Заметки / Установка сертификатов от Let's Encrypt

SSL, Apache
 Способ получения сертификатов от Let's Encrypt для машины с Apache'ем в качестве веб-сервера. Откройте shell-клиент панели управления хостингом или подключитесь к серверу по SSH. Сначала инсталлируем Git.

Ubuntu:
apt-get update
apt-get install git

CentOS:
yum check-update
yum install git

FreeBSD:
pkg update -f
pkg install git

Затем выполните команды:
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
./letsencrypt-auto --agree-dev-preview --server \https://acme-v01.api.letsencrypt.org/directory -a manual auth

Ответьте на все вопросы - это не сложно, за исключением добавления проверочных файлов. Их надо положить в папку "./well-known/acme-challenge" на сайте, связанном с доменом. Однако, если это сделать файлы не будут видны извне, возвращая 404-ошибку. Чтобы её исправить нужно найти файл "../httpd/conf.d/letsencrypt.conf" и временно закомментировать в нём первую строчку:
#Alias /.well-known/acme-challenge/ /usr/local/mgr5/www/letsencrypt/

...после чего перезагрузить веб-сервер. Либо, добавить файлы в "/usr/local/mgr5/www/letsencrypt/". Теперь процедура подтверждения прав на домен может быть завершена, сертификаты получены и положены в директорию "/etc/letsencrypt/live/адрес.сайта":
Press Enter to Continue                                                                                                                      
Waiting for verification...                                                                                                                  
Cleaning up challenges                                                                                                                       
Use of --agree-dev-preview is deprecated.                                                                                                    
                                                                                                                                             
IMPORTANT NOTES:                                                                                                                             
 - Congratulations! Your certificate and chain have been saved at:                                                                           
   /etc/letsencrypt/live/адрес.сайта/fullchain.pem                                                                                             
   Your key file has been saved at:                                                                                                          
   /etc/letsencrypt/live/адрес.сайта/privkey.pem                                                                                               
   Your cert will expire on 20xx-xx-xx. To obtain a new or tweaked                                                                           
   version of this certificate in the future, simply run                                                                                     
   letsencrypt-auto again. To non-interactively renew *all* of your                                                                          
   certificates, run "letsencrypt-auto renew"                                                                                                
 - If you like Certbot, please consider supporting our work by:                                                                              
                                                                                                                                             
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate                                                                        
   Donating to EFF:                    https://eff.org/donate-le        
...где их и нужно оставить:
This directory contains your keys and certificates.

`privkey.pem`  : the private key for your certificate.
`fullchain.pem`: the certificate file used in most server software.
`chain.pem`    : used for OCSP stapling in Nginx >=1.3.7.
`cert.pem`     : will break many server configurations, and should not be used
                 without reading further documentation (see link below).

WARNING: DO NOT MOVE OR RENAME THESE FILES!
         Certbot expects these files to remain in this location in order
         to function properly!

We recommend not moving these files. For more information, see the Certbot
User Guide at https://certbot.eff.org/docs/using.html#where-are-my-certificates.

Включите в панели управления поддержку SSL для домена (если сайт переходит с другого SSL-сертификата то ничего делать не нужно).

Остаётся отредактировать файл виртуального хоста - "../httpd/conf/vhosts/пользователь/адрес.сайта", указав файлы сертификатов и закомментировав предыдущие параметры с этими ключами, если они есть:
    SSLCertificateFile "/etc/letsencrypt/live/адрес.сайта/cert.pem"
    SSLCertificateKeyFile "/etc/letsencrypt/live/адрес.сайта/privkey.pem"
    SSLCertificateChainFile "/etc/letsencrypt/live/адрес.сайта/fullchain.pem"

Проверяем корректность настроек Apache:
apachectl configtest

...и перезагружаем веб-сервер:
apachectl -k restart

29.03.2019