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

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

Автор26.06.2026Дата написанияОколо 7 минВремя чтенияБезопасностьКатегорияАдминистрированиеТеги

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

Подготовка

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

  • Установить требуемое решение из списка выше.

  • Зарегистрировать доменное имя с публичным (белым) IP-адресом.

  • Открыть порт 80 на сервере, где будет происходить получение сертификата.

Если выписывается сертификат для зарегистрированного домена, к которому относится ваш сервер, то можно использовать подтверждение через txt запись как показано в официальной документации acme.sh.

Генерация сертификата

Для TrueConf Group по умолчанию уже создан и используется сертификат, выписанный сервером reg.trueconf.com (для браузеров выглядит как самоподписанный). При необходимости вы можете загрузить сертификат для своего домена, как показано в документации кодека.

Для TrueConf Server, TrueConf MCU и TrueConf AI Server показаны варианты получения сертификата на тех же машинах где эти решения установлены, т.к. это позволит потом автоматически обновлять сертификаты.

Для получения сертификата на ОС Linux будет использована утилита acme.sh. Главное ее преимущество — она подойдет на все поддерживаемые нашими продуктами Linux дистрибутивы.

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

  • Установите утилиту acme.sh с указанием вашего email для уведомлений с помощью команды:
curl https://get.acme.sh | sh -s email=user@example.com
  • Принудительно перезапустите терминал командой:
source ~/.bashrc
  • По умолчанию в данной утилите используется центр сертификации ZeroSSL, который может быть недоступен по ряду причин. Поэтому переключите центр сертификации на Let’s Encrypt. Для этого выполните команду:
acme.sh --set-default-ca --server letsencrypt
  • Чтобы у вас всегда была актуальная версия утилиты включите автоматическое обновление с помощью команды:
acme.sh --upgrade --auto-upgrade
  • Перед использованием команды, убедитесь, что на сервере не запущена служба веб-сервера или любая другая служба, которая использует 80 порт. В противном случае команда не сработает, т. к. утилита использует свой собственный веб-сервер для подтверждения владения доменом.

  • Остановите веб-службу решения Труконф, для которого готовите сертификат:

  • TrueConf Server:

sudo systemctl stop trueconf-web
  • TrueConf MCU:
sudo systemctl stop tcmcu-webproxy
  • TrueConf AI Server:
sudo systemctl stop trueconf-ai-manager

Т.к. для кодека TrueConf Group сертификат выписывается на отдельной машине, то надо просто убедиться что на этом ПК свободен TCP порт 80.

  • Сгенерируйте сертификат Let’s Encrypt с помощью команды:
acme.sh --issue --standalone -d trueconf.domain.ru

Расшифровка параметров:

  • --issue — параметр для получения сертификата;

  • --standalone — запускает собственный веб-сервер для аутентификации при получении сертификата;

  • -d — указывает домен для которого нужно получить сертификат;

  • trueconf.domain.ru — доменное имя вашего сервера, указанное при его регистрации.

  • Если генерация прошла успешно, то вы увидите сообщение о создании сертификата (cert.pem и privkey.pem) и директории, куда они сохранились, по умолчанию это:

/home/$USER/.acme.sh/trueconf.domain.ru/

Установка сертификата на TrueConf Server

  • Скопируйте файлы сертификата и ключа со сменой расширений на поддерживаемые сервером:

  • файл сертификата с переименованием и сменой расширения с pem на crt:

sudo cp /home/$USER/.acme.sh/server.example.com/cert.pem /opt/trueconf/server/etc/webmanager/ssl/cert.crt
  • файл ключа с переименованием и сменой расширения с pem на key:
sudo cp /home/$USER/.acme.sh/server.example.com/privkey.pem /opt/trueconf/server/etc/webmanager/ssl/privkey.key
  • Перезапустите веб-службу сервера с помощью команды:
sudo systemctl restart trueconf-web
  • После перезагрузки перейдите в раздел Веб → Настройки панели управления TrueConf Server, затем в пункте Внешний адрес веб страницы TrueConf Server убедитесь что внешний адрес имеет вид https://ip_адрес_сервера.

Также установка сертификата с пояснениями показана в документации сервера.

Установка сертификата на TrueConf MCU

TrueConf MCU поддерживает форматы .crt и .pem для сертификатов безопасности, .key и .pem для ключей, поэтому нет необходимости в переименовании файлов.

  • Скопируйте файлы сертификата и ключа:

  • файл сертификата:

sudo cp /home/$USER/.acme.sh/server.example.com/cert.pem /opt/trueconf/mcu/etc/ssl/web/
  • файл ключа:
sudo cp /home/$USER/.acme.sh/server.example.com/privkey.pem /opt/trueconf/mcu/etc/ssl/web/
  • Перезапустите веб-службу с помощью команды:
sudo systemctl restart tcmcu-webproxy

Для дополнительных сведений смотрите документацию MCU.

Установка сертификата на TrueConf AI Server

  • Скопируйте файлы сертификата и ключа со сменой расширений на поддерживаемые ИИ-сервером:

  • файл сертификата с переименованием и сменой расширения с pem на crt:

sudo cp /home/$USER/.acme.sh/server.example.com/cert.pem /opt/trueconf/ai-server/etc/manager/ssl/cert.crt
  • файл ключа с переименованием и сменой расширения с pem на key:
sudo cp /home/$USER/.acme.sh/server.example.com/privkey.pem /opt/trueconf/ai-server/etc/manager/ssl/privkey.key
  • Перезапустите веб-службу ИИ-сервера для применения настроек:
systemctl restart trueconf-ai-manager

Также настройки ИИ-сервера смотрите в документации.

Настройка автоматического продления сертификата Let’s Encrypt

Для автоматического обновления уже имеющегося сертификата нужно создать задачу в Cron.

Для этого выполните команду в зависимости от решения Труконф:

  • TrueConf Server:
(crontab -l; echo "0 1 * * 0 /home/$USER/.acme.sh/acme.sh --renew -d trueconf.domain.ru --force --reloadcmd 'cp /home/$USER/.acme.sh/trueconf.domain.ru/cert.pem /opt/trueconf/server/etc/webmanager/ssl/custom.crt && cp /home/$USER/.acme.sh/trueconf.domain.ru/privkey.pem /opt/trueconf/server/etc/webmanager/ssl/custom.key && systemctl restart trueconf-web'") | crontab -
  • TrueConf MCU:
(crontab -l; echo "0 1 * * 0 /home/$USER/.acme.sh/acme.sh --renew -d trueconf.domain.ru --force --reloadcmd 'cp /home/$USER/.acme.sh/trueconf.domain.ru/cert.pem /opt/trueconf/mcu/etc/ssl/web/custom.crt && cp /home/$USER/.acme.sh/trueconf.domain.ru/privkey.pem /opt/trueconf/mcu/etc/ssl/web/custom.key && systemctl restart tcmcu-webproxy'") | crontab -
  • TrueConf AI Server:
(crontab -l; echo "0 1 * * 0 /home/$USER/.acme.sh/acme.sh --renew -d trueconf.domain.ru --reloadcmd 'cp /home/$USER/.acme.sh/trueconf.domain.ru/cert.pem /opt/trueconf/ai-server/etc/manager/ssl/custom.crt && cp /home/$USER/.acme.sh/trueconf.domain.ru/privkey.pem /opt/trueconf/ai-server/etc/manager/ssl/custom.key && systemctl restart trueconf-ai-manager'") | crontab -

где (на примере команды для TrueConf Server):

  • crontab -l — вывод текущих задач, это нужно для сохранения уже имеющихся задач в планировщике;

  • echo — вводит указанную строку в crontab;

  • как задаётся время (5 символов):

  • минута — принимает значение от 0 до 59, * — любая минута;

  • час — принимает значение от 0 до 23, * — любой час;

  • день месяца — принимает значение от 1 до 31, * — любой день месяца;

  • месяц — принимает значение от 1 до 12, * — любой месяц;

  • день недели — принимает значение от 0 до 7, * — любой день недели.

В данном примере мы указали 0 1 * * 0, что означает запуск команды раз в неделю. Сертификат действует 90 дней, но мы будем проверять его чаще. Утилита acme.sh самостоятельно определит необходимость обновления сертификатов и команда будет выполнена до истечения срока сертификата.

  • /home/$USER/.acme.sh/acme.sh — путь к исполняемому файлу утилиты acme.sh.

  • --renew — команда для обновления сертификата;

  • -d trueconf.domain.ru — доменное имя на которое выписывается сертификат;

  • --reloadcmd — команда, которая будет выполнена после успешного получения нового сертификата;

  • cp /home/$USER/.acme.sh/trueconf.domain.ru/cert.pem /opt/trueconf/server/etc/webmanager/ssl/custom.crt — копирование и переименование файла сертификата в директорию сервера;

  • cp /home/$USER/.acme.sh/trueconf.domain.ru/privkey.pem /opt/trueconf/server/etc/webmanager/ssl/custom.key — копирование и переименование файла приватного ключа в директорию сервера;

  • systemctl restart trueconf-web — перезапуск службы для применения изменений.