How to Install Jitsi Meet on Debian 11 (Video Conferencing Server)

How to Install Jitsi Meet on Debian 11 (Video Conferencing Server). Jitsi Meet is an open source video conferencing application with features, such as improved video and audio quality, privacy settings for secure connections, as well as encryption.  In this article we will introduce what is Jitsi Meet with it’s pros and move onto install on Debian 11. Let’s start!

What Is Jitsi Meet

With remote working solutions being more and more common the companies need the best quality and access video chat tools. Jitsi Meet is a private video conferencing software that enables companies to conduct group or one to one video chats with anyone.

You might be wondering, if it is similar to other video conferencing tools available online? Unlike other video conferencing software, Jitsi Meet eliminates the need for registering and creating an account to avail of its services.

Moreover, since it is a privacy focused platform, it believes in storing and sharing no user information, and the best thing about this software is that you can start it at the most basic level. It is the accurate choice for people who are skeptical about sharing their email addresses with any other third party apps. Therefore conducting online meetings and gatherings from the security perspective is very safe as it is completely encrypted and secure platform.

It comprises end to end encryption that not only makes the usage of this software straightforward but also safe and secure.

Benefits Of Jitsi Meet

If you use Jitsi Meet video conferencing, you tend to enjoy the following benefits:

  • It is open source software that is not only provided for free but also comes with wide community support.
  • Sharing Content where you create meetings and share various content ( PowerPoint presentations, word documents and files).
  • Install Jitsi Meet in a single click and can set it up effortlessly.
  • Conduct Business Meetings where with remote work a common factor you can stay updated and functional.
  • User friendly process of arranging videos and audio calls and even multi meeting rooms.
  • Saving meetings to access offline: users can access the meetings and calls at offline mode after downloading the data (great for webinars).
  • Just Chatting Option.
  • Docker compose version available in github repository.
  • Lock a room with a password.
  • Supports end to end encryption. It is an API that enables WebRTC services like Jitsi Meet to encrypt media.
  • Auto view the active speaker or click on any attendee to see their video.
  • Private authentication system (LDAP, JWT) and access control.
  • It supports all available clients, including Windows, Linux, Mac, iOS, and Android.
  • It comes with a wide variety of service providers across different countries that help you host the application locally.
  • Provides a high level of privacy and security as it is deployed inside isolated containers with encrypted traffic.

Apart from being a secure platform, Jitsi provides its users with other benefits that involve screen sharing, live streaming, recording, raising your hand, etc.

Follow this post to show you how to install Jitsi Meet on Debian 11.

How to Install Jitsi Meet on Debian 11 (Video Conferencing Server)

Add Jitsi Meet Repository on Debian 11

Jitsi Meet package is not available in the Debian 11 default repository. So you will need to add the Jitsi Meet official repository to the APT.

First, install all the required dependencies with the following command:

				
					apt-get install wget curl gnupg2 apt-transport-https -y
				
			

Next, add the Jitsi MEET repository to the APT source list file using the following command:

				
					echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list
				
			

Import the Jitsi GPG key using the following command:

				
					wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | apt-key add -
				
			

Update the repository cache using the following command:

				
					apt-get update -y
				
			

After updating the repository cache, you can proceed to install Jitsi Meet on your server.

Install Jitsi Meet on Debian 11

At this point, Jitsi Meet repository is added to the APT. You can now install Jitsi Meet by running the following command:

				
					apt-get install jitsi-meet -y
				
			

During the installation, you will be asked to provide your domain name as shown below:

Provide your valid domain name and click on the Ok. You will be asked to choose SSL certificate for Jitsi Meet:

Select “Generate a new self-signed certificate” option and click on the Ok button to finish the Jitsi Meet installation.

Enable Let's Encrypt SSL On Jitsi Meet

It is a good idea to secure the Jitsi Meet with Let’s Encrypt SSL certificates to encrypt the call traffic. Jitsi Meet provides a script to automatically download Let’s Encrypt SSL certificates for your domain. You can run this script as shown below:

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

You will be asked to provide your email address as shown below:

				
					-------------------------------------------------------------------------
This script will:
- Need a working DNS record pointing to this machine(for domain meet.linuxbuz.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]: hitjethva@gmail.com

				
			

Provide your valid email address and hit Enter to install the Let’s Encrypt SSL for Jitsi Meet. Once the installation is finished, you will get the following output:

				
					Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator webroot, Installer None
Account registered.
Requesting a certificate for meet.linuxbuz.com
Performing the following challenges:
http-01 challenge for meet.linuxbuz.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/meet.linuxbuz.com/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/meet.linuxbuz.com/privkey.pem
   Your certificate will expire on 2022-08-04. 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"
 - 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

Configuring nginx
				
			

Secure Jitsi Meet Conference Room

By default, everyone can create conference rooms in Jitsi Meet. For security reasons, it is a good idea to configure your Jitsi Meet server to only allow registered users to create conference rooms.

You can configure it by editing the following file:

				
					nano /etc/prosody/conf.avail/meet.linuxbuz.com.cfg.lua
				
			

Find the following line:

				
					authentication = "anonymous"
				
			

And, replaced it with the following line:

				
					authentication = "internal_plain"
				
			

Next, add the following line at the end of the file:

				
					VirtualHost "guest.meet.linuxbuz.com"
authentication = "anonymous"
c2s_require_encryption = false

				
			

Save and close the file then edit another configuration file:

				
					nano /etc/jitsi/meet/meet.linuxbuz.com-config.js
				
			

Uncomment and change the following line:

				
					anonymousdomain: 'guest.meet.linuxbuz.com',
				
			

Create an SIP configuration to enable the authentication:

				
					nano /etc/jitsi/jicofo/sip-communicator.properties
				
			

Add the following line to enable the authentication:

				
					org.jitsi.jicofo.auth.URL=XMPP:meet.linuxbuz.com
				
			

Save and close the file then create a user for your Jitsi Meet server:

				
					prosodyctl register user meet.linuxbuz.com password
				
			

Once you are done, restart all Jitsi services using the following command:

				
					systemctl restart prosody.service jicofo.service jitsi-videobridge2.service
				
			

Jitsi status

You can check the status of all the services using the following command:

				
					systemctl status prosody.service jicofo.service jitsi-videobridge2.service
				
			

You will get the following output:

				
					● prosody.service - Prosody XMPP Server
     Loaded: loaded (/lib/systemd/system/prosody.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-05-06 03:13:57 UTC; 12s ago
       Docs: https://prosody.im/doc
   Main PID: 9644 (lua5.2)
      Tasks: 1 (limit: 4679)
     Memory: 9.5M
        CPU: 312ms
     CGroup: /system.slice/prosody.service
             └─9644 lua5.2 /usr/bin/prosody -F

May 06 03:13:57 debian11 systemd[1]: Started Prosody XMPP Server.
May 06 03:13:57 debian11 prosody[9644]: portmanager: Error binding encrypted port for https: No certificate present in SSL/TLS configuration >
May 06 03:13:57 debian11 prosody[9644]: portmanager: Error binding encrypted port for https: No certificate present in SSL/TLS configuration >

● jicofo.service - LSB: Jitsi conference Focus
     Loaded: loaded (/etc/init.d/jicofo; generated)
     Active: active (running) since Fri 2022-05-06 03:13:56 UTC; 12s ago
       Docs: man:systemd-sysv-generator(8)
    Process: 9617 ExecStart=/etc/init.d/jicofo start (code=exited, status=0/SUCCESS)
      Tasks: 40 (limit: 4679)
     Memory: 172.8M
        CPU: 7.447s
     CGroup: /system.slice/jicofo.service
             └─9622 java -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp -Djdk.tls.ephemeralDHKeySize=2048 -Dconfig.file=/etc>

May 06 03:13:56 debian11 systemd[1]: Starting LSB: Jitsi conference Focus...
May 06 03:13:56 debian11 jicofo[9617]: Starting jicofo: jicofo started.
May 06 03:13:56 debian11 systemd[1]: Started LSB: Jitsi conference Focus.

● jitsi-videobridge2.service - Jitsi Videobridge
     Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2022-05-06 03:13:57 UTC; 12s ago
    Process: 9643 ExecStartPost=/bin/bash -c echo $MAINPID > /var/run/jitsi-videobridge/jitsi-videobridge.pid (code=exited, status=0/SUCCESS)
   Main PID: 9642 (java)
      Tasks: 51 (limit: 65000)
     Memory: 203.5M

				
			

Access Jitsi Meet Web Interface

At this point, Jitsi Meet is installed and configured. Now, open your web browser and access the Jitsi Meet web interface using the URL https://meet.linuxbuz.com. You should see the start meeting page:

Provide Room Name

Provide your room name and click on the Start meeting. You will be asked to authenticate Jitsi Meet:

Provide Username and Password

Provide your username, password, and click on the Login button to authenticate Jitsi Meet. You should see the Jitsi Meet dashboard on the following page:

How to Install Jitsi Meet on Debian 11 (Video Conferencing Server) Conclusion

In this post, you learned how to install Jitsi Meet on Debian 11. You also learned how to enable SSL on the Jitsi Meet domain for secure communication. I hope this guide will help you to host your own video conferencing website.

Jitsi Meet is a free and open source video conferencing service that supports multi platform applications for the web platform, Windows, Linux, Mac OS and Android.

Zoom is another tool but not open source that you can read about depending on your company infrastructure needs and your online meetings.

Avatar for Hitesh Jethva
Hitesh Jethva

I am a fan of open source technology and have more than 10 years of experience working with Linux and Open Source technologies. I am one of the Linux technical writers for Cloud Infrastructure Services.

5 1 vote
Article Rating
Subscribe
Notify of
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x