Upgrade Notes 23.07-23.09

backup

Перед початком оновлення, виконайте бакап бази даних

Алгоритм оновлення

  1. Зупинити всі сервіси webitel
  2. Оновити Debian Linux та оновити Webitel до v23.09
  3. Встановити нові додатки Webitel v23.09
  4. Виконати міграцію бази даних з Webitel v23.07 на v23.09
  5. Перезавантажити усі сервіси Webitel v23.09

Зупинити всі сервіси webitel:

systemctl stop webitel-api webitel-app webitel-uac messages-bot messages-srv \
  engine call_center storage flow_manager rabbitmq-server consul \
  freeswitch ngcp-rtpengine-daemon opensips grafana-server nginx

Оновити Debian Linux та оновити Webitel до v23.09. Вам необхідно запросити ключі доступу до Webitel в менеджера.

WBTU=webitel_repo_user
WBTP=webitel_repo_password

wget --http-user=$WBTU --http-password=$WBTP -O /usr/share/keyrings/webitel-repo.gpg http://deb.webitel.com/webitel-repo.gpg
echo "machine http://deb.webitel.com login $WBTU password $WBTP" > /etc/apt/auth.conf.d/webitel.conf
echo "deb [signed-by=/usr/share/keyrings/webitel-repo.gpg] http://deb.webitel.com/debian `lsb_release -sc` main" > /etc/apt/sources.list.d/webitel.list
echo "deb [signed-by=/usr/share/keyrings/webitel-repo.gpg] http://deb.webitel.com/debian `lsb_release -sc` 23.09-releases" >> /etc/apt/sources.list.d/webitel.list

apt update && apt upgrade

Встановити нові додатки Webitel v23.09

apt install webitel-crm webitel-logger

cp /opt/webitel/etc/systemd/system/webitel-logger.service /etc/systemd/system/

systemctl enable webitel-logger

Виконати міграцію бази даних з Webitel v23.07 на v23.09

su postgres
cd ~
psql webitel -qxc "ALTER EXTENSION timescaledb UPDATE;"
psql -1 -f /usr/share/postgresql/15/webitel/migration/23.07-23.09.sql webitel
exit

Додати нову секцію в конфігураційний файл nginx:

sed -i '/.*location \/flow-diagram.*/i location \/crm {\n\talias \/opt\/www\/crm;\n\ttry_files $uri $uri\/ \/index.html last;\n\texpires -1;\n}\n' /etc/nginx/sites-enabled/default

nginx -t

Перезавантажити усі сервіси Webitel v23.09

systemctl restart consul
systemctl restart postgresql
systemctl restart rabbitmq-server

systemctl restart webitel-app webitel-uac webitel-api engine \
  messages-srv flow_manager messages-bot call_center storage webitel-logger \
  freeswitch ngcp-rtpengine-daemon opensips grafana-server nginx