How to Install Jitsi on Debian 10

This guide will walk you through the process of installing Jitsi on your Linux server running Debian 10. Jitsi is a collection of free and open-source multi-platform voice, videoconferencing and instant messaging applications for the web platform, Windows, Linux, Mac OS X, and Android.

Prerequisites:

Linux Server Running Debian 10

Step-by-Step:

1) The first thing we’ll do is setup a swap file for out server to utilize in order to avoid memory starvation. The following collection of commands will create and setup this swap space. If your server has more than 2GB of memory, this likely won’t be necessary.

sudo dd if=/dev/zero of=/swapfile count=2048 bs=1M
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile   none    swap    sw    0   0' | sudo tee -a /etc/fstab

Now, just run the free -m command to check whether our swap space is listed:

free -m

2) If you plan to use HTTPS in order to access your video conferencing rooms over Jitsi, it’s important to set up a proper fully qualified domain name. The following commands will set the hostname and fully qualified domain name for the server. In our example, we’ll use jitsi.server.com as the fully qualified domain name, and jitsiserver as the hostname. Be sure to replace these values with your own.

sudo hostnamectl set-hostname jitsiserver
sudo sed -i 's/^127.0.1.1.*$/127.0.1.1 jitsi.server.com jitsiserver/g' /etc/hosts

After this is done,  run the following command to ensure we see the proper hostnames set.

hostname

3) Now we need to configure our firewall to allow traffic over OpenSSH, http, https, and other ports required for Jitsi to operate. The following commands will open these ports, and save the changes:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT
iptables -I INPUT -p tcp --dport 443 -j ACCEPT
iptables -I INPUT -p udp --dport 20000 -j ACCEPT
iptables -I INPUT -p udp --dport 10000 -j ACCEPT

4) Next, we need to install OpenJDK 8, to do this we’ll enable the AdoptOpenJDK repository, which will provide us the OpenJDK packages. We’ll start by updating the packages list and installing the dependencies necessary to add a new repository:

sudo apt update
sudo apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common

5) Now we’ll import the repository’s GPG key using the following commands:

wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
sudo add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/

6) Once the new repository is enabled, update apt sources and install Java 8 using the following commands:

sudo apt update
sudo apt install adoptopenjdk-8-hotspot

7) Finally, we can check to ensure you installed it successfully by looking at the output from the following command:

java -version

8) Our next step is to install Nginx, which is the web service that will operate as the front end for our Jitsi application. The collection of commands will install, start, and set Nginx to start on boot:

sudo apt install -y nginx
sudo systemctl start nginx.service
sudo systemctl enable nginx.service

9) Now we’re ready to install Jitsi itself. Let’s be sure we’re backed out of any subdirectories before we download and install the software by running the following:

cd

Next, we’ll issue the following commands to add our Jitsi repository to our sources.list, and then download Jitsi and start the service:

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -
sudo sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
sudo apt update -y
sudo apt install -y jitsi-meet

10) When we first do ‘apt install -y’ for Jitsi-Meet we’ll be prompted to enter our fully qualified domain name. This should be the same domain name we entered on step 2.

After pressing ENTER you are asked about an SSL certificate. For this guide, we’ll be choosing “Generate a new self-signed certificate (You will later get a chance to obtain a Let’s Encrypt certificate)”.

Once you’ve finished going through the install, if you want to proceed with obtaining a certificate from Let’s Encrypt, you can use the following script provided by Jitsi:

sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

It will prompt you for an email address when you run it, then it will automatically handle the remaining work related to the Let’s Encrypt SSL certificate.

11) Finally, you’re ready to point your DNS over to the Jitsi server. Once you’ve done this, navigate to the URL you direct to the server will present you with the front-end of the Jitsi application. Pressing ‘GO’ will create a video conference room for you.

For any further assistance with Jitsi, or questions you may have, check out their Community Forum.