Let’s Encrypt в Plesk-панели
3 декабря вышел публичный релиз беты Let’s Encrypt. Это радостное событие уже освещалось на Хабре. Кратко напомню, эта штука дает возможность установить бесплатный доверенный сертификат на сайт. Помимо бесплатных сертификатов, Let’s Encrypt еще инструмент для выписывания, обновления, отзыва сертификатов, что, по задумке авторов, облегчит жизнь системным администраторам.
В этой статье я расскажу об особенностях Let«s Encrypt, о которых не стоит забывать, и о том, как воспользоваться им, если ваш сервер работает под управлением панели Plesk.
У проекта Let«s Encrypt есть ряд особенностей:
- Сертификат выписывается на 90 дней — нельзя забывать об обновлениии. Если делать это руками, то велик шанс забыть обновить вовремя.
- Консольный клиент по умолчанию пытается настроить конфигурацию Apache, при этом существует шанс, что что-то пойдет не так.
- Поддержка nginx экспериментальная.
- Установка клиента потребует наличия инструментария разработчика на сервере (autotool, gcc), чтобы собрать зависимости: cryptography, psutil, pure python, cffi. Что, в целом, не рекомендуется на боевом сервере.
Если сервер работает под управлением панели управления хостингом Plesk, то вы можете не беспокоиться об этих проблемах. Мы собрали зависимые пакеты для большинства поддерживаемых Plesk«ом ОСей, а также написали расширение Let’s Encrypt для Plesk«a. Оно состоит из 2 частей:
- бэкенд — это официальный консольный клиент с плагином для работы с Plesk. Плагин использует Plesk API для валидации и установки сертификатов.
- само расширение, которое предоставляет пользовательский интерфейс и обновляет по расписанию выписанные сертификаты.
Попробуем все это в деле. Берем Plesk и устанавливаем Let’s Encrypt через каталог расширений:
В процессе установки запускается shell скрипт, который настроит репозиторий, установит недостающие пакеты, сделает virtualenv и поставит в него консольный клиент с плагином для Plesk.
На экране расширения выбираем сайт и ставим сертификат:
Для тех, кто уже пользовался консольным клиентом, форма напомнит диалог интерактивного режима. В сообщении об успешной установке сертификата имеется ссылка. Проходим по ней:
В адресной строке имя протокола (HTTPS) подсвечено зеленым цветом, то есть соединение с сайтом идет по шифрованному каналу и браузер доверяет сертификату.
Поверяем, появилась ли в расписании задача по обновлению сертификатов (Tools & Settings → Scheduled Tasks):
Выше упоминалось, что срок действия сертификата 90 дней, после его нужно обновить. Разработчики Let’s Encrypt рекомендуют обновлять сертификаты чаще. В Plesk«e по-умолчанию сертификат будет обновляться каждый месяц.
Подведу итог:
- за несколько кликов и 1 минуту времени бесплатно получили сертификат;
- все операции были проделаны в панели Plesk, заглядывать в консоль не пришлось;
- сертификат работает и на Apache, и на nginx.
Само расширение поддерживается для современных Linux-дистрибутивов, которые поддерживает Plesk.
Сайт devblog.plesk.com, который мелькает на скриншотах, — это блог о Plesk«е, который работает на сервере под управлением Plesk, а сертификат выписан расширением, что описано выше. Стараемся следовать принципу «eat your own dog food» использовать свой собстенный продукт.