Hello, friends. In this post, you will learn how to install Jitsi Meet on Debian 10.
Jitsi Meet is a pretty valid alternative to Google Hangouts, but in this case, we’re talking about a completely open-source alternative. On the other hand, it’s free and even though it’s not, it offers some advantages that we could consider premium like HD Audio support. Everything 100% encrypted.
In these times in which the formal work has been threatened, some companies have found in Jitsi a quality tool. Especially because it does not require the creation of an account and because it can be installed on your server.
Some features of Jitsi Meet are as follows:
- Share your desktop, presentations, and more.
- Invite users to a conference via a simple, custom URL.
- Edit documents together using Etherpad.P
- Pick fun meeting URLs for every meeting.
- Trade messages and emojis while you video conference, with integrated chat.
Again, all this for free, open-source, and encrypted conversations. So, technologically it’s pretty competent.
Install Jitsi on Debian 10
We will be able to install Jitsi with the repository that the developers give us. This ensures that the integration with the system and the package manager is complete.
To perform the installation, we will have to connect to our server and update it.
sudo apt update sudo apt upgrade
Then, it is necessary to change the hostname of the computer for your domain.
sudo hostnamectl set-hostname [domain]
Replace [domain]
with yours.
Then modify the hosts
file of the server and add the following line:
sudo nano /etc/hosts
127.0.0.1 domain
Before continuing, you have to make sure that ports 80
, 443
and 4443
of the TCP protocol and port 10000
of the UDP protocol are open in the firewall.
Now it is time to install the gnupg package which contains instructions for adding GPG keys from external repositories.
sudo apt update sudo apt install gnupg
Now you can download and add the GPG key from the Jitsi repository.
wget https://download.jitsi.org/jitsi-key.gpg.key sudo apt-key add jitsi-key.gpg.key
Next, create a new file that will contain the information for us to add the Jitsi repository.
sudo nano /etc/apt/sources.list.d/jitsi-stable.list
And add:
deb https://download.jitsi.org stable/
Save the changes and close the editor.
So, refresh APT so that the repository information can be loaded.
sudo apt update
And finally, install Jitsi by running:
sudo apt install jitsi-meet Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: ca-certificates-java fontconfig-config fonts-dejavu-core java-common jicofo jitsi-meet-prosody jitsi-meet-web jitsi-meet-web-config jitsi-videobridge2 libasound2 libasound2-data libavahi-client3 libavahi-common-data libavahi-common3 libcups2 libfontconfig1 libgd3 libjbig0 libjpeg62-turbo liblcms2-2 libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libnspr4 libnss3 libpcsclite1 libtiff5 libwebp6 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxi6 libxpm4 libxrender1 libxslt1.1 libxtst6 lua-bitop lua-expat lua-filesystem lua-sec lua-socket lua5.2 nginx nginx-common nginx-full openjdk-11-jre-headless prosody ssl-cert uuid-runtime x11-common Suggested packages: default-jre libasound2-plugins alsa-utils cups-common libgd-tools liblcms2-utils pcscd fcgiwrap nginx-doc libnss-mdns fonts-dejavu-extra fonts-ipafont-gothic fonts-ipafont-mincho fonts-wqy-microhei | fonts-wqy-zenhei fonts-indic lua-dbi-mysql lua-dbi-postgresql lua-dbi-sqlite3 lua-zlib openssl-blacklist Recommended packages: jitsi-meet-turnserver | apache2 lua5.2-event The following NEW packages will be installed: ca-certificates-java fontconfig-config fonts-dejavu-core java-common jicofo jitsi-meet jitsi-meet-prosody jitsi-meet-web jitsi-meet-web-config jitsi-videobridge2 libasound2 libasound2-data libavahi-client3 libavahi-common-data libavahi-common3 libcups2 libfontconfig1 libgd3 libjbig0 libjpeg62-turbo liblcms2-2 libnginx-mod-http-auth-pam libnginx-mod-http-dav-ext libnginx-mod-http-echo libnginx-mod-http-geoip libnginx-mod-http-image-filter libnginx-mod-http-subs-filter libnginx-mod-http-upstream-fair libnginx-mod-http-xslt-filter libnginx-mod-mail libnginx-mod-stream libnspr4 libnss3 libpcsclite1 libtiff5 libwebp6 libx11-6 libx11-data libxau6 libxcb1 libxdmcp6 libxext6 libxi6 libxpm4 libxrender1 libxslt1.1 libxtst6 lua-bitop lua-expat lua-filesystem lua-sec lua-socket lua5.2 nginx nginx-common nginx-full openjdk-11-jre-headless prosody ssl-cert uuid-runtime x11-common 0 upgraded, 61 newly installed, 0 to remove and 25 not upgraded. Need to get 128 MB of archives. After this operation, 326 MB of additional disk space will be used. Do you want to continue? [Y/n]
During the installation, we will be asked to enter the hostname of our server, which can be your domain.
Then you will be asked if you want to generate a new certificate or use an existing one. In this case, I will generate new certificates.
Preparing Jitsi for the first use
By default, Jitsi is very secure but we need access from the web to be secure too and that is why we need to generate TLS certificates. To do this, install the Certbot package.
sudo apt install certbot
Then run a script that provides us with the Jitsi installation where we only need to enter our email address.
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
In the end, you will see a success message.
Now the next step is to prevent anonymous users from creating rooms. To do this edit the configuration file for your domain.
sudo nano /etc/prosody/conf.avail/your_domain.cfg.lua
Remember to replace your_domain
with yours .
And look for the value
authentication = "anonymous"
And replace it with:
authentication = "internal_plain"
At the end of the same file add the following section:
VirtualHost "guest.your_domain" authentication = "anonymous" c2s_require_encryption = false
Don’t forget to replace the your_domain
value with yours. With this configuration, we will make it so that anonymous users can log in to rooms created by authenticated users.
Save the changes and close the editor.
Now we also need to edit another file to add the host of the guest users.
sudo nano /etc/jitsi/meet/your_domain-config.js
And change the line
// anonymousdomain: 'guest.example.com',
To
anonymousdomain: 'guest.your_domain',
Again, save the changes and close the editor.
Finally, edit the /etc/jitsi/jicofo/sip-communicator.properties
file.
sudo nano /etc/jitsi/jicofo/sip-communicator.properties
And add the following line:
org.jitsi.jicofo.auth.URL=XMPP:your_domain
Replacing your_domain
with yours.
Save the changes and close the editor.
Now create a new user who will be able to create new rooms:
sudo prosodyctl register [user] [your_domain] [password]
Replace the fields with the values you prefer.
To apply all changes, restart the services.
sudo systemctl restart prosody.service sudo systemctl restart jicofo.service sudo systemctl restart jitsi-videobridge2.service sudo systemctl restart nginx
And you can visit https://your-domain
and enjoy Jitsi.
Conclusion
Jitsi is another wonderful application because it allows us to deploy a secure and stable video call server. This makes it ideal in professional environments.