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

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

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

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

Данной 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

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