В данном релизе осуществлен переход на новую версию сервисов работы с чатами, а так же миграция баз данных на PostgreSQL версии 14.
Выполните резервное копирование базы данных до начала обновления!
Алгоритм обновления
-
Полная остановка всех сервисов webitel
-
Подключение нового репозитория Webitel v22.05
-
Подготовка PostgreSQL 12 и установка новой версии PostgreSQL 14
-
Миграция базы данных с версии PostgreSQL 12 на 14
-
Удаление старой версии PostgreSQL 12 и запуск PostgreSQL 14
-
Миграция базы данных с версии Webitel v22.03 на v22.05
-
Удаление устаревших сервисов Webitel v22.03
-
Установка и обновление сервисов Webitel v22.05
-
Запуск всех обновленных сервисов Webitel v22.05
Полная остановка всех сервисов webitel
systemctl stop webitel-api webitel-app webitel-uac \
engine call_center storage chat_manager chatbot_manager flow_manager \
freeswitch ngcp-rtpengine-daemon opensips
Подключение нового репозитория Webitel v22.05
echo "deb http://deb.webitel.com/debian `lsb_release -sc` main" > /etc/apt/sources.list.d/webitel.list
echo "deb http://deb.webitel.com/debian `lsb_release -sc` 22.05-releases" >> /etc/apt/sources.list.d/webitel.list
apt update
Подготовка PostgreSQL 12 и установка новой версии PostgreSQL 14
apt purge timescaledb-postgresql-12 timescaledb-loader-postgresql-12
apt install timescaledb-2-loader-postgresql-12 timescaledb-2-postgresql-12
sudo -u postgres psql webitel -qxc "ALTER EXTENSION timescaledb UPDATE;"
sudo -u postgres psql webitel -qxc "DROP EXTENSION "pgcrypto" CASCADE;"
systemctl stop postgresql
apt install postgresql-14 webitel-postgresql-14 timescaledb-2-postgresql-14
timescaledb-tune --quiet --yes
systemctl stop postgresql
Миграция базы данных с версии PostgreSQL 12 на 14
su postgres
cd /tmp
/usr/lib/postgresql/14/bin/pg_upgrade \
--old-datadir "/etc/postgresql/12/main" \
--new-datadir "/etc/postgresql/14/main" \
--old-bindir "/usr/lib/postgresql/12/bin" \
--new-bindir "/usr/lib/postgresql/14/bin"
exit
Вносим правки в файлы /etc/postgresql/14/main/postgresql.conf и /etc/postgresql/14/main/pg_hba.conf
Удаление старой версии PostgreSQL 12 и запуск PostgreSQL 14
apt purge webitel-postgresql-12 timescaledb-2-postgresql-12 timescaledb-2-loader-postgresql-12 postgresql-client-12 postgresql-12
rm -rf '/var/lib/postgresql/12'
systemctl enable postgresql
systemctl start postgresql
sudo -u postgres psql webitel -qxc "ALTER USER opensips WITH PASSWORD 'webitel';"
Возможно нужно будет обновить пароли для других пользователей базы.
Миграция базы данных с версии Webitel v22.03 на v22.05
su postgres
cd /tmp
wget https://git.webitel.com/projects/WEP/repos/postgres/raw/migration/22.03-22.05.sql
psql webitel -f 22.03-22.05.sql
exit
Удаление устаревших сервисов Webitel v22.03
apt purge webitel-chat-manager
systemctl disable chat_manager chatbot_manager
rm /etc/systemd/system/chat_manager.service
rm /etc/systemd/system/chatbot_manager.service
Установка и обновление сервисов Webitel v22.05
apt upgrade
apt install webitel-messages opensips-http-modules opensips-postgres-module \
opensips-presence-modules opensips-rabbitmq-modules opensips-wss-module \
opensips-tls-module opensips-tlsmgm-module opensips-xmlrpc-module
cp /opt/webitel/etc/systemd/system/messages-bot.service /etc/systemd/system/
cp /opt/webitel/etc/systemd/system/messages-srv.service /etc/systemd/system/
systemctl enable messages-bot messages-srv
Запуск всех обновленных сервисов Webitel v22.05
systemctl restart consul
systemctl restart rabbitmq-server
systemctl restart webitel-api webitel-app webitel-uac messages-bot messages-srv flow_manager engine call_center storage freeswitch ngcp-rtpengine-daemon
Обновите либо сведите конфигурационный файл OpenSIPS (если он был изменен вручную) и nginx:
curl https://git.webitel.com/projects/WEP/repos/opensips/raw/opensips.cfg \
-o /etc/opensips/opensips.cfg
systemctl restart opensips
systemctl restart nginx