Генерация бесплатного SSL-сертификата на хостинге Евробайт

Инструкция по генерации бесплатного SSL-сертификата Let’s Encrypt на виртуальном хостинге Евробайт для перевода сайта на протокол https или при смене хостера.

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, открывается следующее окно:

Окно настроек утилиты putty

Окно настроек утилиты putty.exe

Подключаемся по SSH в свой аккаунт. Для этого понадобятся Адрес, Логин и Пароль из письма Евробайт об активации хостинга.

Вписываем в поле Host Name указанный в письме Адрес и нажимаем кнопку Open. Открывается окно командной строки с приглашением ввести логин:

Рабочее окно утилиты putty

Рабочее окно утилиты putty.exe

Вводим Логин и нажимаем клавишу 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 эти файлы будут выглядеть следующим образом:

Путь к файлам сертификата в FileZilla

Путь к файлам сертификата в FileZilla

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

Окно создания нового SSL сертификата

Окно создания нового 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».

Окно «Параметры WWW домена»

Окно «Параметры WWW домена»

Чтобы обновить сертификат перед окончанием срока его действия, необходимо сгенерировать и создать новый SSL-сертификат под другим именем, например, используя нумерацию.

Когда новый сертификат будет готов, выбираем его в окне «Параметры WWW домена» и нажимаем кнопку «OK». Обновить SSL-сертификат можно не ранее, чем за 30 дней до окончания срока действия предыдущего.

Если в корневой папке домена, для которого генерируется сертификат, лежит файл .htaccess с настроенным перенаправлением на https, то перед запуском скрипта необходимо переименовать файл, например в .htaccess_ , а после завершения его работы – переименовать обратно.

Все вышесказанное касается самостоятельной генерации и использования бесплатных SSL-сертификатов на виртуальном хостинге Евробайт.

Напомню, что у хостинг-провайдеров Beget и Timeweb можно заказать бессрочные сертификаты Let’s Encrypt, которые они сами сгенерируют для ваших сайтов и будут регулярно обновлять.

4 комментария для “Генерация бесплатного SSL-сертификата на хостинге Евробайт”

  1. Спасибо, очень полезная статья. Подскажите, какое правило прописать для перенаправления (редиректа) с http на https

  2. Евгений (автор статьи)

    Борис, если у вас сайт на WordPress, используйте плагин «Really Simple SSL». После активации плагина в админпанели WordPress в разделе «Настройки» -> «Общие» в полях «Адрес сайта» и «Адрес WordPress» поменяйте протокол на https, если плагин сам не поменял его при активации.

    Если сайт на другом движке, для которого нет плагинов, можно прописать этот код в файле .htaccess:

    Рекомендация Евробайта
    При повторной генерации сертификата используется корневая папка указанного домена. Если у вас в ней лежит файл .htaccess с настроенным перенаправлением на https, то следует перед запуском скрипта переименовать файл, например в .htaccess_ После завершения работы скрипта не забудьте переименовать файл обратно.

  3. Еще раз спасибо, очень хорошая инструкция, все прошло без заморочек.

    От себя добавлю, вдруг кому пригодится.

    Внутри файлов с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/ или появятся еще?

  4. Евгений (автор статьи)

    Борис, при генерации нового сертификата будут созданы файлы с новыми именами и датами. Выбирать их для копирования лучше по датам (имена отличаются только набором цифр).

    В файлах после текста —–END RSA PRIVATE KEY—– и —–END CERTIFICATE—– есть символ переноса строки, который нужно удалить после вставки в соответствующее поле создаваемого сертификата.

Добавить комментарий

Ваш комментарий будет опубликован после прохождения обязательной модерации. Исходящие ссылки не допускаются. Время модерации составит от нескольких минут до нескольких часов в зависимости от времени суток и занятости модератора. При добавлении в комментарий кода VBA Excel, вставьте перед его началом тег <pre> и по окончании кода </pre>.