Настройка 3CX 18.0 для автоматического обновления сертификата Let’s Encrypt через Certbot - AsaDagar

Настройка 3CX 18.0 для автоматического обновления сертификата Let’s Encrypt через Certbot

Настройка 3CX 18.0 для автоматического обновления сертификата Let’s Encrypt через Certbot How-To

Хочу обратить внимание, что все работы вы проводите на с вой страх и риск. Так как официально такой хук не поддерживается.

Данной IP PBX пользуюсь уже без малого 5 лет, и не могу понять, почему такой простой функционал разработчики никак не хотят добавить по умолчанию.

Настройки будет производить для сервера, который опубликован по адресу – pbx.asadagar.ru. Так что не забудьте исправить FQDN на свой.

Поэтапно:

  1. Подключаемся к серверу по SSH
  2. Устанавливаем Cerbot через snap (подробное руководство):
apt-get install snapd
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
  1. Подаем заявку на выпуск сертификата в автономном режиме (не забываем изменить FQDN на свой):
certbot certonly --standalone -d pbx.asadagar.ru
  1. Теперь нужно создать скрипт для перемещения и переименовывания сертификатов, а так же для выправления прав и автоматический перезапуск службы:
  • Создаем папку под скрипт:
mkdir /scripts
  • Переходим в неё и создаем скрипт:
cd /scrips/
sudo nano autoupdater_cert_3cx.sh
  • Вставляем следующий скрипт и не забываем изменить его под свой FQDN:
#!/bin/bash

mv /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-crt.pem /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-crt.pem.old
mv /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-key.pem /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-key.pem.old

cp /etc/letsencrypt/live/pbx.asadagar.ru/fullchain.pem /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-crt.pem
cp /etc/letsencrypt/live/pbx.asadagar.ru/privkey.pem /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-key.pem

chown phonesystem:phonesystem /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-crt.pem
chown phonesystem:phonesystem /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-key.pem

chmod 644 /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-crt.pem
chmod 640 /var/lib/3cxpbx/Bin/nginx/conf/Instance1/pbx.asadagar.ru-key.pem

systemctl restart nginx.service
  • Делаем скрипт исполняемым:
sudo chmod +x autoupdater_cert_3cx.sh

Данный скрипт должен запускаться автоматически после каждого обновления сертификата Let’s Encrypt. Для этого нам нужно в конфигурации обновления создать „renew_hook“ который будет запускать данный скрипт.

  • Поэтому открываем следующий файл:
nano /etc/letsencrypt/renewal/pbx.asadagar.ru.conf
  • И в конце конфигурации добавляем следующую строку:
renew_hook = /scripts/autoupdater_cert_3cx.sh
  1. Тестируем получение сертификата:
certbot renew --force-renewal
  1. Теперь откройте веб-интерфейс 3CX в браузере и проверьте, правильно ли был развернут сертификат Let’s Encrypt.
Настройка 3CX 18.0 для автоматического обновления сертификата Let’s Encrypt через Certbot

AsaDagar
Подписаться
Уведомить о
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии