Генерация бесплатного SSL-сертификата Let’s Encrypt на виртуальном хостинге Евробайт для перевода сайта на защищенный протокол https. Подробная инструкция.
- SSL-сертификат Let’s Encrypt
- Подготовка к генерации сертификата
- Запуск утилиты putty.exe
- Создание директории и загрузка скрипта
- Генерация сертификата Let’s Encrypt
- Установка и обновление SSL-сертификата
SSL-сертификат Let’s Encrypt
Let's Encrypt - это бесплатный, автоматизированный и открытый сертификат, предоставляемый некоммерческой исследовательской группой Internet Security Research Group (ISRG). Он выпускается сроком на 90 дней, после чего требуется его обновление.
Хостинг-компании Beget и Timeweb предоставляют своим клиентам бессрочные SSL-сертификаты Let’s Encrypt, которые они изначально генерируют и по истечении срока действия обновляют сами.
У компании Евробайт все происходит иначе. Клиент самостоятельно генерирует на виртуальном хостинге бесплатный SSL-сертификат и перед окончанием срока его действия перевыпускает новый.
Подготовка к генерации сертификата
Перед генерацией и первой установкой сертификата Let’s Encrypt необходимо выполнить следующие действия:
- провести резервное копирование сайта;
- скачать утилиту putty.exe;
- найти письмо от хостинг-компании Евробайт с регистрационными данными.
Резервные копии могут понадобиться для восстановления сайта, если что-то пойдет не так. Не забывайте о резервном копировании перед любым вмешательством в файлы и базы данных вашего сайта.
Бесплатная утилита putty.exe понадобится для подключения по SSH в свой аккаунт на виртуальном хостинге. Скачиваем ее с этой страницы в разделе «Alternative binary files» (32-битную или 64-битную версию на выбор).
Из письма Евробайт об активации хостинга понадобятся адрес, логин и пароль из раздела FTP/SSH для входа в аккаунт через командную строку утилиты putty.exe.

Запуск утилиты putty.exe
Это операция проводится каждый раз при генерации первого и последующих бесплатных SSL-сертификатов Let’s Encrypt.
Запускаем программу putty.exe, открывается следующее окно:

Подключаемся по SSH в свой аккаунт. Для этого понадобятся Адрес, Логин и Пароль из письма Евробайт об активации хостинга.
Вписываем в поле Host Name указанный в письме Адрес и нажимаем кнопку Open. Открывается окно командной строки с приглашением ввести логин:

Вводим Логин и нажимаем клавишу Enter, появляется приглашение ввести пароль. Вводим Пароль (при его вводе, в целях безопасности, никакие знаки в командной строке не отображаются), нажимаем Enter. С первого раза войти в аккаунт по SSH получается не всегда, иногда сервер прерывает соединение.
Вставка из буфера обмена с помощью клавиатуры в программе putty.exe не работает, скопированный текст вставляется щелчком правой кнопки мыши, при вставке пароля никакие знаки не отображаются, как и при ручном вводе.
Создание директории и загрузка скрипта
Эти процедуры выполняются на виртуальном хостинге Евробайт однократно перед генерацией самого первого SSL-сертификата.
Запускаем putty.exe и подключаемся по SSH в свой аккаунт на хостинге Евробайт. Далее последовательно копируем каждую команду, вставляем ее щелчком правой кнопки мыши на жирном курсоре в окне программы putty.exe и нажимаем клавишу Enter.
1. Создаем директорию ~/private (копируем, вставляем и выполняем следующую команду):
mkdir ~/private
2. Переходим в директорию ~/private:
cd ~/private/
3. Скачиваем скрипт letsencrypt_eb.sh:
wget http://soft.eurodir.ru/letsencrypt_eb.sh
Этот скрипт установится в директорию ~/private и будет использоваться для генерации бесплатных SSL-сертификатов для всех ваших сайтов, размещенных на хостинге Евробайт.
Генерация сертификата Let’s Encrypt
Эта процедура выполняется каждый раз при генерации нового SSL-сертификата, в том числе и для обновления действующего. Обновление заключается в выпуске нового сертификата и замены им устаревающего.
Открываем putty.exe, подключаемся по SSH в свой аккаунт на хостинге Евробайт и выполняем команду, запускающую скрипт letsencrypt_eb.sh (domain.com следует заменить на свой домен, для которого требуется сгенерировать SSL-сертификат):
sh letsencrypt_eb.sh domain.com
В результате работы скрипта будут созданы файлы:
- cert-123456789.pem
- chain-123456789.pem
- fullchain-123456789.pem
- privkey-123456789.pem
В FileZilla эти файлы будут выглядеть следующим образом:

Далее в панели управления ISPmanager веб-хостинга Евробайт в меню слева следует выбрать страницу «SSL сертификаты». На верхней панели инструментов нажимаем кнопку «Создать». Откроется следующее окно:

Придумываем «Имя сертификата» и записываем его латиницей. В конце имени можно добавить через дефис единичку, чтобы последующие сертификаты для одного сайта можно было именовать одинаково, но под разными номерами.
«Тип сертификата»: выбираем из раскрывающегося списка значение «существующий».
Поле «Использовать ключ» заполнится само значением «указать вручную».
«Пароль» можно пропустить.
Оставшиеся поля заполняем текстовым содержимым сгенерированных файлов:
- «Приватный ключ» - privkey-123456789.pem
- «Сертификат» - cert-123456789.pem
- «Цепочка сертификатов»* - chain-123456789.pem
*В инструкции на самом хостинге Евробайт написано, что «Цепочке сертификатов» соответствует файл fullchain-123456789.pem. Однако, это не так.
Чтобы вставить в соответствующие поля текстовое содержимое файлов, необходимо перейти к ним в менеджере FileZilla или через ту же панель управления ISPmanager, открыв еще один ее экземпляр в новом окне.
Открываем нужный файл, выбирая в FileZilla из контекстного меню «Просмотр/Правка», а в панели ISPmanager нажав кнопку «Изменить». В открывшемся файле копируем текст и вставляем в соответствующее окно формы «Новый SSL сертификат».
Обратите внимание, что в конце вставленных текстов не должно быть пробелов и невидимых символов переноса строки. Если они есть, удалите их кнопкой «Backspace». Иначе, при попытке создать новый сертификат, будет выведено сообщение о неверной цепочке сертификатов.
Установка и обновление SSL-сертификата
Чтобы сертификат применился для нашего сайта, переходим в ISPmanager на вкладку «WWW домены», выделяем домен и нажимаем кнопку «Изменить». В открывшемся окне «Параметры WWW домена» ставим галочку в чек-боксе SSL, появятся поля «SSL порт» и «SSL сертификат». SSL порт отобразится автоматически, а в поле «SSL сертификат» выбираем только что созданный сертификат Let’s Encrypt из раскрывающегося списка и нажимаем кнопку «OK».

Чтобы обновить сертификат перед окончанием срока его действия, необходимо сгенерировать и создать новый SSL-сертификат под другим именем, например, используя нумерацию.
Когда новый сертификат будет готов, выбираем его в окне «Параметры WWW домена» и нажимаем кнопку «OK». Обновить SSL-сертификат можно не ранее, чем за 30 дней до окончания срока действия предыдущего.
Если в корневой папке домена, для которого генерируется сертификат, лежит файл .htaccess с настроенным перенаправлением на https, то перед запуском скрипта необходимо переименовать файл, например в .htaccess_ , а после завершения его работы - переименовать обратно.
Все вышесказанное касается самостоятельной генерации и использования бесплатных SSL-сертификатов на виртуальном хостинге Евробайт.
Напомню, что у хостинг-компаний Beget и Timeweb можно заказать бессрочные сертификаты Let’s Encrypt для ваших сайтов, которые они сгенерируют и будут сами регулярно обновлять.
Спасибо, очень полезная статья. Подскажите, какое правило прописать для перенаправления (редиректа) с http на https
Борис, если у вас сайт на WordPress, используйте плагин «Really Simple SSL». После активации плагина в админпанели WordPress в разделе «Настройки» -> «Общие» в полях «Адрес сайта» и «Адрес WordPress» поменяйте протокол на https, если плагин сам не поменял его при активации.
Если сайт на другом движке, для которого нет плагинов, можно прописать этот код в файле .htaccess:
Рекомендация Евробайта
При повторной генерации сертификата используется корневая папка указанного домена. Если у вас в ней лежит файл .htaccess с настроенным перенаправлением на https, то следует перед запуском скрипта переименовать файл, например в .htaccess_ После завершения работы скрипта не забудьте переименовать файл обратно.
Еще раз спасибо, очень хорошая инструкция, все прошло без заморочек.
От себя добавлю, вдруг кому пригодится.
Внутри файлов сert-123456789.pem и других pem, есть текст -----BEGIN CERTIFICATE----- и -----END CERTIFICATE----- копировал прям с ним. Пару раз ругалось, что ключ не соответсвует, видимо прихвотил пробел. Будьте внимательны.
У меня сайт на modx revo чтобы все заработало, там дальше требуются манипуляции:
1. в настройках (core)
- server_protocol заменить http на https
- link_tag_scheme выставить значение в 1
2. установить плагин от Ильи Уткина на событие OnHandleRequest
в $site_url= 'заменить на свой домен'
Использовать инструкции в .htaccess пробовал, получал циклы, отказался от этого.
3. Ищите все абсолютные пути в шаблонах, чанках, сниппетах и даже файлах js, css и меняете на относительные или https
Появился вопрос, при будущем обновлении нужно будет сгенерировать ключи заново, они перезапишут файлы в папке /private/certs/ или появются еще?
Борис, при генерации нового сертификата будут созданы файлы с новыми именами и датами. Выбирать их для копирования лучше по датам (имена отличаются только набором цифр).
В файлах после текста -----END RSA PRIVATE KEY----- и -----END CERTIFICATE----- есть символ переноса строки, который нужно удалить после вставки в соответствующее поле создаваемого сертификата.