Video conference calls using Jitsi Meet

Video conference calls is on the rise during the current lockdown as the Coronavirus emergency is forcing companies to transition to remote work.
Even Google and Microsoft are giving away enterprise conferencing tools (for a limited time though).

For those who want to use their own solution there are a number of open source alternatives.
Such as Jitsi Meet – a secure open source video conference suite. It allows to create self hosted solution for high quality video conferencing. It does not require a client application, working using a web browser. You can use Jitsi to share desktops, edit documents and exchange text messages.

For on-the-fly with no setup you can use the freely provided Jitsi Meet.
However, there are multiple advantages of running your own Jitsi Meet server:

  • Your own access control (through CAS, LDAP, JWT …)
  • Custom codecs configuration
  • Geographic JVB
  • Your own High Availability solution
  • Control over QoS
  • Features like custom stats.

Below is a server installation tutorial.
It is a basic installation, you might need custom setup (for big conferences and custom features)

This tutorial requirements include:

  • clean Ubuntu 18.04 LTS server
  • root ssh credentials
  • public IP
  • a domain pointed to the IP using DNS.

Regarding the DNS service you could use your registrar DNS service, usually it’s free.
Another option is a free Cloudflare’s DNS service. The main benefit is that it’s very handy to use it for renewing free SSL certificates, but we’ll get there bit later. Basically Jitsi set up is pretty easy and straightforward.

1. Let’s start with checking OS version:

root@jitsi:~# cat /etc/issue
Ubuntu 18.04.4 LTS \n \l

root@jitsi:~#

2. Set up hostname and modify /etc/hosts:

root@jitsi:~# sed -i 's/^127.0.1.1.*$/127.0.1.1 jitsi.supportex.net jitsi/g' /etc/hosts
root@jitsi:~# cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 jitsi.supportex.net jitsi
root@jitsi:~#

3. Make sure it’s set properly:

root@jitsi:~# hostname
jitsi
root@jitsi:~# hostname -f
jitsi.supportex.net
root@jitsi:~#

4. Then update packages cache:

root@jitsi:~# apt update

5. Update all packages:

root@jitsi:~# apt upgrade

6. It’s important that universe repo is enabled:

root@jitsi:~# grep universe /etc/apt/sources.list | grep -v \#
deb http://cz.archive.ubuntu.com/ubuntu bionic universe
deb http://cz.archive.ubuntu.com/ubuntu bionic-updates universe
deb http://cz.archive.ubuntu.com/ubuntu bionic-backports main restricted universe multiverse
deb http://cz.archive.ubuntu.com/ubuntu bionic-security universe
root@jitsi:~#

If it’s not, add it.

7. Prepare the Jitsi repository:

root@jitsi:~# echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
root@jitsi:~# wget -qO -  https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
OK
root@jitsi:~#

8. Update the cache once again and install apt-transport-https package:

root@jitsi:~# apt update
root@jitsi:~# apt-get install apt-transport-https

9. Before we proceed with Jitsi installation we need to install web server. Although it’s possible to use Jetty as a web server, or Apache with Jetty we’d recommend to use nginx.

root@jitsi:~# systemctl enable nginx.service
root@jitsi:~# systemctl start nginx.service

10. And now we can install Jitsi.

Provide FQDN while installing Jitsi. Also use “Generate a new self-signed certificate (You will later get a chance to obtain a Let’s Encrypt certificate)” when asked.

root@jitsi:~# apt install jitsi-meet

11. It makes sense to set up free Let’s Ecnrypt SSL certificates:

root@jitsi:~# /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

You’ll be asked to provide an email. It will be used for notification abour expiring certificates.

Once the SSL certificate is set, we are ready to start using Jitsi for video conferencing.

Leave a Reply

Your email address will not be published. Required fields are marked *