Jitsi is a free, open-source, multiplatform video conferencing and instant messaging application for web & mobile. It works on Linux, macOS, Windows, iOS and Android, and you can use it as a standalone app or embed it in your web application. Jitsi Meet Audio/Video Chat is fully encrypted and supports several protocols including SIP, XMPP/Jabber, ICQ/AIM, Yahoo!, GTalk/Hangouts extensions, and ZRTP.
With Jitsi Meet, you can share your desktop & presentations, invite users to a conference via a simple URL, edit documents with Etherpad, and pick fun meeting URLs for every meeting.
In this tutorial, we will explain how to install Jitsi Meet Video Conferencing Server on Ubuntu 20.04.
- A fresh Ubuntu 20.04 VPS on the Atlantic.net Cloud Platform
- A valid domain name pointed to your server IP
- A root password configured on your server
Step 1 – Create Atlantic.Net Cloud Server
First, log in to your Atlantic.Net Cloud Server. Create a new server, choosing Ubuntu 20.04 as the operating system with at least 1GB RAM. Connect to your Cloud Server via SSH and log in using the credentials highlighted at the top of the page.
Once you are logged in to your Ubuntu 20.04 server, run the following command to update your base system with the latest available packages.
apt-get update -y
Step 2 – Install Jitsi Meet
Before starting, you will need to install the required dependencies in your server. You can install them by running the following command:
apt-get install apt-transport-https software-properties-common -y
Once installed, download and add the Jitsi GPG key with the following command:
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
Next, add the Jitsi repository using the following command:
echo 'deb https://download.jitsi.org stable/' | tee /etc/apt/sources.list.d/jitsi-stable.list
Next, update the repository and install the Jitsi Meet with the following command:
apt-get update -y apt-get install jitsi-meet
During the installation, you will need to provide a valid domain name as shown below:
Provide your domain name and click on the Ok button. You will be asked to generate a new self-signed TLS certificate so that later you can obtain and install a trusted Let’s Encrypt certificate, as shown below:
Select the first option and hit Enter to start the installation. Once the installation has been completed successfully, you can verify the status of Jitsi service with the following command:
systemctl status jitsi-videobridge2
You should get the following output:
Step 3 – Secure Jitsi Meet with a Let’s Encrypt Certificate
Before starting, you will need to install the Certbot client in your server to install and manage the Let’s Encrypt Certificate.
First, add the Certbot repository with the following command:
add-apt-repository ppa:ahasenack/certbot-tlssni01-1875471 sudo add-apt-repository ppa:certbot/certbot
Next, update the repository and install the Certbot client with the following command:
apt-get update -y apt-get install certbot python3-certbot-nginx -y
The Jitsi Let’s Encrypt installation script expects certbot in /usr/local/sbin directory while Ubuntu installs it in /usr/bin, so create a symbolic link of the script with the following command:
ln -s /usr/bin/certbot /usr/local/sbin/certbot
Next, update install-letsencrypt-cert.sh to use certbot instead of certbot-auto.
sed -i 's/\.\/certbot-auto/certbot/g' /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Next, run the install-letsencrypt-cert.sh script to secure Jitsi Meet with Let’s Encrypt SSL:
You will be asked to provide your email address and accept the terms of service as shown below:
This script will: - Need a working DNS record pointing to this machine(for domain jitsi.example.com) - Download certbot-auto from https://dl.eff.org to /usr/local/sbin - Install additional dependencies in order to request Let’s Encrypt certificate - If running with jetty serving web content, will stop Jitsi Videobridge - Configure and reload nginx or apache2, whichever is used - Configure the coturn server to use Let's Encrypt certificate and add required deploy hooks - Add command in weekly cron job to renew certificates regularly You need to agree to the ACME server's Subscriber Agreement (https://letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf) by providing an email address for important account notifications Enter your email and press [ENTER]: [email protected]
Provide your valid email address and hit Enter. Once the installation is finished, you should see the following output:
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator webroot, Installer None Obtaining a new certificate Performing the following challenges: http-01 challenge for jitsi.example.com Using the webroot path /usr/share/jitsi-meet for all unmatched domains. Waiting for verification... Cleaning up challenges Running deploy-hook command: /etc/letsencrypt/renewal-hooks/deploy/0000-coturn-certbot-deploy.sh Output from deploy-hook command 0000-coturn-certbot-deploy.sh: Configuring turnserver
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/jitsi.example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/jitsi.example.com/privkey.pem Your cert will expire on 2020-08-31. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Step 4 – Access Jitsi Meet
Now, open your web browser and type the URL https://jitsi.example.com. You will be redirected to the following page:
Type your meeting a name and click the Go button. Once the meeting is started, you should see the following screen:
Congratulations! you have successfully deployed a Jitsi Meet Video Conferencing server on Ubuntu 20.04. You can now install the Jitsi client app in your mobile device and start exploring Jitsi. Try out Jitsi on VPS Hosting from Atlantic.Net and visit the Jitsi documentation for more information.