Перейти к содержимому

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

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

  1. SSL-сертификат Let’s Encrypt
  2. Подготовка к генерации сертификата
  3. Запуск утилиты putty.exe
  4. Создание директории и загрузка скрипта
  5. Генерация сертификата Let’s Encrypt
  6. Установка и обновление 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, открывается следующее окно:

Окно настроек утилиты 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, которые они сами сгенерируют для ваших сайтов и будут регулярно обновлять.

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

  1. Борис

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

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

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

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

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/robots\.txt$
    RewriteCond %{HTTP:X-Forwarded-proto} !^https$
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
    

    Рекомендация Евробайта
    При повторной генерации сертификата используется корневая папка указанного домена. Если у вас в ней лежит файл .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= 'заменить на свой домен'

    <?php
    if ($modx->event->name != "OnHandleRequest") {return;}
     
    $uri = $_SERVER['REQUEST_URI'];
    if ($uri == '/robots.txt') return;
    $url = $_SERVER['HTTP_HOST'];
    $site_url = 'site.ru'; // заменить на свой домен
    if ($url != $site_url || !$_SERVER['HTTPS']) {
        $modx->sendRedirect('https://'.$site_url.$uri, array(
            'responseCode' => 'HTTP/1.1 301 Moved Permanently')
        );
    }
    

    Использовать инструкции в .htaccess пробовал, получал циклы, отказался от этого.

    // Тег
    <base href="[[++site_url]]" />
    // НЕ ИСПОЛЬЗОВАТЬ
    

    3. Ищите все абсолютные пути в шаблонах, чанках, сниппетах и даже файлах js, css и меняете на относительные или https

    Появился вопрос, при будущем обновлении нужно будет сгенерировать ключи заново, они перезапишут файлы в папке /private/certs/ или появются еще?

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

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

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

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

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