Upgrading the Vivoh Webinar Manager

Upgrading the Vivoh Webinar Manager is a simple task: you download the latest DPKG (Debian Package) and use a tool like dpkg to install the new binary. There are often new security fixes that might invalidate your configuration file, however, and require updates to that file. This post documents the right way to upgrade Vivoh Webinar Manager.

The steps to upgrade are:

  1. Download the latest server binary (currently 3.8.1.0, linked below)
  2. Stop the running Vivoh Webinar Manager
  3. Install the new binary.
  4. Manually start the server and look at error messages to guide your upgrade process.
  5. Once you have verified the server and configuration are upgraded correctly, start the server as a system service.

These steps are documented in detail here.

Download the latest server binary

The 3.8.1.0 binary (latest) can be found here https://releases.vivoh.com/binaries/vwm/2023_03/vivoh-webinar-manager__6b5fd029__3.8.1.0_amd64.deb

To download this file, login via SSH to your server and use wget https://releases.vivoh.com/binaries/vwm/2023_03/vivoh-webinar-manager__6b5fd029__3.8.1.0_amd64.deb

Stop the current Vivoh Webinar Manager service

systemctl stop vivoh-webinar-manager

Install the new Vivoh Webinar Manager package using the command dpkg -i ./vivoh-webinar-manager__6b5fd029__3.8.1.0_amd64.deb

You will see output like the following:

(Reading database ... 101008 files and directories currently installed.)
Preparing to unpack .../vivoh-webinar-manager__6b5fd029__3.8.1.0_amd64.deb ...
Running cleanup to remove service for package 
Unpacking vivoh-webinar-manager (3.8.1.0) over (3.6.0.0) ...
Setting up vivoh-webinar-manager (3.8.1.0) ...
Platform systemd (default) detected. Installing service.
To start this service, use: systemctl start vivoh-webinar-manager

Notice the messages indicate it is installing over the existing Vivoh Webinar Manager service. It will not overwrite an existing configuration file if one already exists (found in /etc/vivoh/vwm/vwm.ini)

Start the Vivoh Webinar Manager manually

Often when upgrading there are new security requirements which require review of the configuration file. For example, older versions of the Vivoh Webinar Manager had less strict password requirements, but newer versions require a much safer password.

After installing, attempt to restart the service using systemctl start vivoh-webinar-manager and then check the status using systemctl status vivoh-webinar-manager

# systemctl status vivoh-webinar-manager
× vivoh-webinar-manager.service - vivoh-webinar-manager
     Loaded: loaded (/etc/systemd/system/vivoh-webinar-manager.service; enabled; vendor preset: enabled)
     Active: failed (Result: exit-code) since Fri 2024-03-01 17:26:10 UTC; 507ms ago
    Process: 12105 ExecStart=/usr/local/vivoh/vivoh-webinar-manager -a /etc/vivoh/vwm/vwm.ini (code=exited,>
   Main PID: 12105 (code=exited, status=255/EXCEPTION)
        CPU: 530ms

Mar 01 17:26:10 test2 systemd[1]: vivoh-webinar-manager.service: Main process exited, code=exited, status=2>
Mar 01 17:26:10 test2 systemd[1]: vivoh-webinar-manager.service: Failed with result 'exit-code'.
Mar 01 17:26:10 test2 systemd[1]: vivoh-webinar-manager.service: Scheduled restart job, restart counter is >
Mar 01 17:26:10 test2 systemd[1]: Stopped vivoh-webinar-manager.
Mar 01 17:26:10 test2 systemd[1]: vivoh-webinar-manager.service: Start request repeated too quickly.
Mar 01 17:26:10 test2 systemd[1]: vivoh-webinar-manager.service: Failed with result 'exit-code'.
Mar 01 17:26:10 test2 systemd[1]: Failed to start vivoh-webinar-manager.

This indicates the server did not start correctly. To see why, run the Vivoh Webinar Manager manually with this command: /usr/local/vivoh/vivoh-webinar-manager -a /etc/vivoh/vwm/vwm.ini. (Please note, you must be in the root directory (`cd /`) so that the Vivoh Webinar Manager can locate the SQL database. This is only required when running manually.)

# cd /
# /usr/local/vivoh/vivoh-webinar-manager -a /etc/vivoh/vwm/vwm.ini
VWM:3.8.1.0:6b5fd029 2024-03-01T17:26:46.836Z: Retrieving database connection
VWM:3.8.1.0:6b5fd029 2024-03-01T17:26:46.838Z: Opening the db
VWM:3.8.1.0:6b5fd029 2024-03-01T17:26:46.853Z: Adding models
VWM:3.8.1.0:6b5fd029 2024-03-01T17:26:46.857Z: Synchronizing (creating) tables if needed
VWM:3.8.1.0:6b5fd029 2024-03-01T17:26:46.940Z: Password in configuration file does not meet minimal requirements for user: admin



Vivoh Webinar Manager 3.8.1.0 (6b5fd029c1b301172568e0fcf5b2d697bab69a36)


This indicates our password was invalid. Newer versions of the Vivoh Webinar Manager require passwords to be at least twelve characters long, with an uppercase character, a lowercase character, a number and a special character.

Once you have corrected this inside /etc/vivoh/vwm/vwm.ini then attempt to restart the server again manually.

# /usr/local/vivoh/vivoh-webinar-manager -a /etc/vivoh/vwm/vwm.ini
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.782Z: Retrieving database connection
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.784Z: Opening the db
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.798Z: Adding models
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.803Z: Synchronizing (creating) tables if needed
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.927Z: Verifying Broadcaster at:/usr/local/vivoh/encoder/bin/run.sh
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.928Z: Verified custom broadcaster path: /usr/local/vivoh/encoder/bin/run.sh
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.950Z: Starting up socket connection
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.950Z: Starting client server in production mode
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.952Z: Starting admin server in production mode
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.954Z: 

Vivoh Webinar Manager 3.8.1.0 (6b5fd029c1b301172568e0fcf5b2d697bab69a36)


VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.956Z: Server (client) running on port 443
VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.957Z: 

Vivoh Webinar Manager 3.8.1.0 (6b5fd029c1b301172568e0fcf5b2d697bab69a36)


VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:06.958Z: Server (admin) running on port 8443

Restart the Vivoh Webinar Manager service

Use systemctl to start and verify the status of Vivoh Webinar Manager systemctl start vivoh-webinar-manager and systemctl status vivoh-webinar-manager

# systemctl start vivoh-webinar-manager
# systemctl status vivoh-webinar-manager
● vivoh-webinar-manager.service - vivoh-webinar-manager
     Loaded: loaded (/etc/systemd/system/vivoh-webinar-manager.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2024-03-01 17:27:12 UTC; 2s ago
   Main PID: 12219 (vivoh-webinar-m)
      Tasks: 10 (limit: 1163)
     Memory: 66.0M
        CPU: 520ms
     CGroup: /system.slice/vivoh-webinar-manager.service
             └─12219 /usr/local/vivoh/vivoh-webinar-manager -a /etc/vivoh/vwm/vwm.ini

Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:12.927Z: Verified>
Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:12.936Z: Starting>
Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:12.936Z: Starting>
Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:12.937Z: Starting>
Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:12.937Z:
Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: Vivoh Webinar Manager 3.8.1.0 (6b5fd029c1b301172568e0fc>
Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:12.938Z: Server (>
Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:12.938Z:
Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: Vivoh Webinar Manager 3.8.1.0 (6b5fd029c1b301172568e0fc>
Mar 01 17:27:12 test2 vivoh-webinar-manager[12219]: VWM:3.8.1.0:6b5fd029 2024-03-01T17:27:12.938Z: Server (>
root@test2:/

This message indicates you have successfully upgraded and restarted the Vivoh Webinar Manager. If you are logged into the Vivoh Webinar Manager in a browser, you will need to refresh to force the login dialog.