Создание сертификата «Let’s Encrypt» на Linux

Димитрий Зуйков
25.05.2021
Димитрий Зуйков

Для полноценного использования TrueConf Server необходимо наличие TLS сертификата. Например, для синхронизации с Active Directory и возможности подключаться к вашим вебинарам через браузер.

Ранее мы показали, как сгенерировать бесплатный Let’s Encrypt сертификат на Windows. В этой статье мы расскажем, как это сделать на ОС семейства Linux.

Подготовка

Чтобы успешно сгенерировать и использовать сертификат Let’s Encrypt вам необходимо проделать следующие подготовительные действия:

  1. Установить TrueConf Server для Linux.
  2. Зарегистрировать доменное имя с публичным (белым) IP-адресом.
  3. Открыть порт 80 на сервере, где будет происходить получение сертификата.

В качестве примера использовался сервер с развёрнутой ОС Debian 10. При активации ключа регистрации в панели управления сервера TrueConf в качестве имени сервера было использовано ранее зарегистрированное доменное имя.

Установка Certbot и получение сертификата от Let’s Encrypt

Для получения сертификата Let’s Encrypt в ОС семейства Linux используется утилита Certbot. Она доступна из официальных репозиториев Debian.

Для выполнения перечисленных ниже команд в ОС должна присутствовать программа sudo и пользователь, под которым они запускаются, должен быть в соответствующей группе. В Debian по умолчанию sudo может отсутствовать, проверьте её наличие командой sudo -V и установите при необходимости с помощью команды apt install sudo (выполняется под учётной записью root). Для добавления пользователя с логином user в группу sudo выполните usermod -a -G sudo user под учётной записью root.

  1. Скачайте Certbot, выполнив следующую команду:
  2. Сгенерируйте сертификат Let’s Encrypt без его установки с помощью команды:

    Расшифровка команды:
    --certonly — только получает или обновляет сертификат, но не устанавливает его;
    --standalone — запускает собственный веб-сервер для аутентификации при получении сертификата;
    -d — указывает домен или список доменов, разделённых запятыми, для которых нужно получить сертификаты;
    test.domain.ru — доменное имя вашего сервера, указанное при его регистрации.

    Перед использованием команды, убедитесь, что на сервере не запущена служба веб-сервера или любая другая служба, которая использует 80 порт. В противном случае команда не сработает, т. к. утилита использует свой собственный веб-сервер для доступа к регистрационному адресу Let’s Encrypt. Для остановки службы используйте команду sudo systemctl stop <имя_службы> (например, sudo systemctl stop trueconf-web). Запустить веб-сервер вручную можно командой sudo systemctl start trueconf-web.

  3. Далее необходимо ответить на серию вопросов для регистрации:
    • Укажите адрес электронной почты, на который будут приходить уведомления о необходимости продления сертификата и другая информация.
    • Подтвердите, что вы прочитали правила использования сервиса (введите А).
    • Согласитесь или откажитесь от новостной рассылки, которая будет приходить на адрес электронной почты, указанный ранее (введите Y или N).
  4. Если генерация прошла успешно, то вы увидите сообщение о создании сертификата. Файлы сертификата (cert.pem и privkey.pem) сохраняются в каталоге /etc/letsencrypt/live/test.domain.ru/.
  5. Скопируйте:
    • файл сертификата с переименованием и сменой расширения с pem на crt:
    • файл ключа с переименованием и сменой расширения с pem на key:
  6. Установите службу TrueConf Server как владельца файлов с именем custom.* в каталоге /opt/trueconf/server/etc/webmanager/ssl/:
  7. Запустите службу веб-сервера:
  8. В панели управления TrueConf Server выберите Использовать загруженный сертификат из раскрывающегося списка Режим работы HTTPS: (раздел Веб → HTTPS → Конфигурация HTTPS), измените HTTPS порт (если необходимо) и нажмите кнопку Проверить конфигурацию. В верхней части страницы появится надпись Конфигурация успешно протестирована.
  9. Нажмите кнопку Применить. Сервер автоматически перезапустится.

Обновление уже созданного сертификата

Выполните следующую последовательность команд для обновления и переноса файлов сертификата в каталог TrueConf Server:

  1. Остановите службу веб-сервера:
  2. Обновите сертификат:
  3. Выберите Spin up a temporary webserver (standalone) (введите 1).
  4. Выберите Renew & replace the cert (limit ~5 per 7 days) (введите 2).
  5. Выполните шаги 5 и 6 раздела по получению сертификата.
  6. Запустите службу веб-сервера:

Не нашли ответ на свой вопрос? Напишите нам в онлайн-чате, мы будем рады помочь.