Получаем сертификаты Let’s Encrypt для домена.

Сегодня в статье разберем установку SSL сертификата от Let’s Encrypt для домена, при помощи cerbot на Ubuntu\Debian системы.

Certbot — это клиент протокола ACME предназначенный для автоматического управления SSL-сертификатами от Let’s Encrypt, он позволяет полностью автоматизировать процесс получения и продления сертификата, а при использовании соответствующих плагинов даже может автоматически конфигурировать веб-сервер или иное, использующее сертификат приложение.

Дальнейшие инструкции будут предназначены для операционных систем Debian и Ubuntu, но многое будет справедливо и для иных дистрибутивов Linux.

Установка в Ubuntu/Debian

В новом выпуске Ubuntu/Debian все просто, отныне Certbot представлен в официальном списке пакетов и для его установки достаточно выполнить одну простую команду:

sudo apt install certbot

Подготовка к получению сертификатов

Для получения сертификата воспользуемся плагином webroot, который позволяет автоматически получать сертификаты используя уже установленный в системе веб-сервер. Если коротко, то вы указываете путь к корневой директории сайта, для которого получаете сертификат в файловой системе. Certbot создает там необходимую структуру папок и размещает необходимый для проверки файл.

В случае с одним доменом это не вызывает проблем, но если их много или вам требуется сертификат сразу на несколько доменов (основной домен и поддомены), корневые директории у которых отличаются, то у вас возникнут затруднения. Поэтому сам Let’s Encrypt рекомендует перейти в таком случае на единую точку подтверждения сертификатов. Сделать это несложно.

В доступной для веб-сервера директории создадим отдельный каталог, назовем его, letsencrypt, который затем мы будем использовать для всех обслуживаемых доменов и установим ее владельцем веб-сервер:

mkdir /var/www/letsencrypt
chown www-data:www-data /var/www/letsencrypt

Теперь нам нужно сделать так, чтобы любой запрос вида:

http://example.com/.well-known/acme-challenge

приводил к ф