In this release, the transition to a new version of chat services was implemented, as well as the migration of databases to PostgreSQL version 14
Be sure to back up the database before upgrading the system
Update algorithm
-
Complete stop of all Webitel services
-
Connecting a new repository Webitel v22.05
-
Preparing PostgreSQL 12 and installing a new version of PostgreSQL 14
-
Database migration from PostgreSQL 12 to 14
-
Deleting the old version of PostgreSQL 12 and starting PostgreSQL 14
-
Database migration from Webitel v22.03 to v22.05
-
Removing old services Webitel v22.03
-
Installing and updating Webitel services v22.05
-
Starting all updated services Webitel v22.05
Complete stop of all Webitel services
systemctl stop webitel-api webitel-app webitel-uac \
engine call_center storage chat_manager chatbot_manager flow_manager \
freeswitch ngcp-rtpengine-daemon opensips
Connecting a new repository 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
Preparing PostgreSQL 12 and installing a new version of 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
Database migration from PostgreSQL 12 to 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
Making changes to files /etc/postgresql/14/main/postgresql.conf and /etc/postgresql/14/main/pg_hba.conf
Deleting the old version of PostgreSQL 12 and starting 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';"
You may need to update passwords for other database users.
Database migration from Webitel v22.03 to 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
Removing old services 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
Installing and updating Webitel services 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
Starting all updated services 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 nginx
Update or merge the OpenSIPS configuration file (if it was changed manually) and nginx:
curl https://git.webitel.com/projects/WEP/repos/opensips/raw/opensips.cfg \
-o /etc/opensips/opensips.cfg
systemctl restart opensips
systemctl restart nginx