Self-Hosted Zoom Meetings

Introduction

We're big fans of Zoom.us - it's one of the best online meeting services in terms of quality, features and price. What we also love is the "self hosted" or "on premise" feature, which allows you to host Zoom on your servers.

Why host Zoom on your own servers? Well, the benefits are mainly around performance: instead of running in the shared Zoom.us cloud service with zillions of other users, you can host all your meetings on private infrastructure. No noisy neighbors, lots of horsepower. More importantly, if you're using a premium provider like Packet, you'll also get fantastic, top-tier bandwidth which immensely improves the meeting experience for everyone.

In this guide, we’ll walk you through how to implement Zoom’s Meeting Connector (which is the application that runs Zoom) on a pair of low cost Packet servers. Note: the Meeting Connector still leverages Zoom's portal to run stuff like user management, meeting schedules, etc so this is just about installing the meeting software.

Getting Started

First, you'll you need to have a Business or Education account with Zoom.us, and you'll need to subscribe for over 10 Pro hosts. Once that's ready, navigate to “Enable Meeting Connector” on your admin page. Enabling the meeting connector allows you to leverage the on-premise, super fast, and private hosted version of Zoom!

We chose to run the meeting connector on two of our smallest instances - the $.05/hr Tiny But Mighty - with both servers running Ubuntu 16.04. Why two? Well, Zoom allows two Meeting Connectors - in the event one fails, the other takes over seamlessly:

“Each MMR process supports up to 350 concurrent meeting participants at the same time. That is, if you deploy one Controller VM, your Meeting Connector supports 350 concurrent participants. If you deploy another Controller VM for HA, your total capacity increases to 700.”

Links to the Zoom Meeting Connector configuration files can be found in the Zoom portal.

Implementation

The next step is to setup a virtualized environment. To manage the virtual machines we went with VirtualBox.

1. Update the apt sources list with a mirror for the VirtualBox download.

9. Start the Zoom Meeting Connector-Controller! : )

10. Configure the Virtual Machine's networking interface.

We used Microsoft Remote Desktop for MacOS. To log in use your machine's IP along with the port Zoom Meeting Connector-Controller was running on, in this case, that's 3389. You can check the port by running VBoxManage showvminfo.

11. Remove ifcfg-eth0:0...

rm -f /etc/sysconfig/network-scripts/ifcfg-eth0:0

12. Edit ifcfg-eth0.

IPADDR is the second IP mentioned in the comments above. The first IP was used to configure our bridge network to function as the gateway. The machine runs CentOS so the most convenient option is to use the default editor, vi.

13. Restart the network.

service network restart

14. Reboot the host machine.

Finishing Up

To finalize the installation navigate to the machine at port 5480 over https and follow these steps. Additionally, you can and should configure your firewall to allow the necessary connections from Zoom. You can find that information on Zoom here.

Starting Meetings On Zoom’s Meeting Connector

The host of a meeting needs to be set to TypeCorp to take advantage of all your hard work and the newly configured Zoom Meeting Connector. Navigate to the user management section on Zoom, check the user you'd like to change and click on Type under Change to update a user to Corp.

And that's it! Now, all of your Zoom conference audio and video data is accepted and distributed on Packet hardware.