Skip to content

Commit

Permalink
🔄 Update "Install Jitsi Meet on Debian/Ubuntu" (#928)
Browse files Browse the repository at this point in the history
  • Loading branch information
svenja11 committed Aug 29, 2024
1 parent 1d85ecf commit 24d8800
Showing 1 changed file with 45 additions and 36 deletions.
81 changes: 45 additions & 36 deletions tutorials/jitsi-meet-on-debian-ubuntu/01.en.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
SPDX-License-Identifier: MIT
path: "/tutorials/jitsi-meet-on-debian-ubuntu"
slug: "jitsi-meet-on-debian-ubuntu"
date: "2020-05-12"
date: "2024-08-29"
title: "Install Jitsi Meet on Debian/Ubuntu"
short_description: "Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences."
tags: ["Jitsi", "Meeting", "Conference", "Ubuntu", "Debian"]
Expand All @@ -19,18 +19,26 @@ header_img: "header-4"

Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses Jitsi Videobridge to provide high quality, secure and scalable video conferences. It can be used as a replacement for proprietary services like Zoom, Whereby, Teams, Skype and many others.

You can try it out on [meet.jit.si](https://meet.jit.si/). There are more public instances available [in the Jitsi Meet Handbook](https://jitsi.github.io/handbook/docs/community/community-instances/).
You can try it out on [meet.jit.si](https://meet.jit.si/). There are more public instances available [in the Jitsi Meet Handbook](https://jitsi.github.io/handbook/docs/community/third-party-software/).

This tutorial should work with Debian 8 (Jessie) or later, and Ubuntu 14.04 or later. Of course it is recommended to use the latest available (LTS) version of either Debian or Ubuntu.
This tutorial should work with Debian 11 (Bullseye) or later, and Ubuntu 22.04 or later. Of course it is recommended to use the latest available (LTS) version of either Debian or Ubuntu.

**Prerequisites**

* At least a small virtual server, e.g. [Cloud Server CX11](https://www.hetzner.com/cloud#pricing), with a root shell
* At least a small virtual server, e.g. [Cloud Server CAX11](https://www.hetzner.com/cloud#pricing)
* Access to the root user or a user with sudo permissions
* Basic knowledge about linux

**Example terminology**

* Domain: `talk.example.com`
* Server:
* Public IPv4: `10.0.0.1`
* Public IPv6: `2001:db8:1234::1`

## Step 1 - Choose a domain and setup DNS

First of all you need to choose a domain. In this tutorial we will use `talk.example.com`. In your DNS zone create two simple records:
First of all you need to choose a domain. In this tutorial we will use `talk.example.com`. In your DNS zone, create two simple records:

```dns
talk.example.com. 14400 IN A 10.0.0.1
Expand All @@ -39,25 +47,26 @@ talk.example.com. 14400 IN AAAA 2001:db8:1234::1

## Step 2 - Add repository and install

Jitsi ships pre-built packages for jitsi-meet in its own repository. Since these packages are signed with their own key, we also need to add the GPG from Jitsi to our keyring.

```bash
echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list
wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | gpg --dearmor | tee /etc/apt/trusted.gpg.d/jitsi.gpg
```

Then update your package list:

```bash
apt-get update
```
* **Install prerequisites**

Depending on how simple and minimal your operating system is, you may need an additional package to support HTTPS repositories.
```bash
sudo apt update
sudo apt install apt-transport-https
```

Depending on how simple and minimal your operating system is, you may receive an error from this repository. You need an additional package to support HTTPS repositories. After that, update your package list again:
* **Add repository and GPG key**

Jitsi ships pre-built packages for jitsi-meet in its own repository. Since these packages are signed with their own key, we also need to add the GPG from Jitsi to our keyring.
```bash
curl -sL https://download.jitsi.org/jitsi-key.gpg.key | sudo sh -c 'gpg --dearmor > /usr/share/keyrings/jitsi-keyring.gpg'
echo "deb [signed-by=/usr/share/keyrings/jitsi-keyring.gpg] https://download.jitsi.org stable/" | sudo tee /etc/apt/sources.list.d/jitsi-stable.list
```

```bash
apt-get install apt-transport-https
apt-get update
```
* **Update your package list**
```bash
sudo apt update
```

## Step 3 - Configure the hostname (optional)

Expand All @@ -79,18 +88,18 @@ Otherwise scroll down to the manual installation.

Perform the jitsi-meet installation:
```bash
apt-get install jitsi-meet -y
sudo apt install jitsi-meet -y
```
During the installation process you need to enter your chosen domain name (not the example `talk.example.com`!). It will be used to configure the virtual host.
During the installation process, you need to enter your chosen domain name (not the example `talk.example.com`!). It will be used to configure the virtual host.

<br>

* **Register a certificate**

Next we register Let's Encrypt certificates for TLS encryption.
Next, we register Let's Encrypt certificates for TLS encryption.
Jitsi Meet also offers a script for this task. Simply run it:
```bash
/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
```
Next, continue with "[Step 5](#step-5---additional-configuration)" below.
Expand All @@ -103,9 +112,9 @@ These steps describe the manual installation process.
* **Install a webserver**
In case you already have a webserver installed you can skip this step. For performance reasons we install a webserver otherwise jitsi-meet will use a builtin java webserver called jetty.
In case you already have a webserver installed you can skip this step. For performance reasons, we install a webserver otherwise jitsi-meet will use a builtin java webserver called jetty.
```bash
apt-get install nginx -y
sudo apt install nginx -y
```
<br>
Expand All @@ -116,13 +125,13 @@ These steps describe the manual installation process.

We will use [certbot](https://certbot.eff.org/) from [EFF](https://www.eff.org/) for the Let's Encrypt certificates.
```bash
apt-get install snapd
snap install --classic certbot
ln -s /snap/bin/certbot /usr/bin/certbot
sudo apt install snapd
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
```
Time to register your certificate (don't forget to replace the email and domain with your certificate):
```bash
certbot certonly --nginx --rsa-key-size 4096 -m holu@example.com -d talk.example.com
sudo certbot certonly --nginx --rsa-key-size 4096 -m holu@example.com -d talk.example.com
```

<br>
Expand All @@ -131,7 +140,7 @@ These steps describe the manual installation process.

Finally we can install jitsi-meet on our server.
```bash
apt-get install jitsi-meet -y
sudo apt install jitsi-meet -y
```
During the installation process you need to enter your chosen domain name (not the example `talk.example.com`!) and select the option to generate a self-signed certificate.

Expand Down Expand Up @@ -176,10 +185,10 @@ Uncomment and change `// disableThirdPartyRequests: false` to `true`
You should add more than one STUN server under `stunServers:` in case one of them does not work. There is a list available on [this GitHub gist](https://gist.github.com/mondain/b0ec1cf5f60ae726202e). I can recommend you to use the following:
```
```js
{ urls: 'stun:stun.nextcloud.com:443' },
{ urls: 'stun:stun.stunprotocol.org:3478' },
{ urls: 'stun:meet-jit-si-turnrelay.jitsi.net:3478' }
{ urls: 'stun:meet-jit-si-turnrelay.jitsi.net:443' }
```
Of course the best solution would be to [host your own STUN server](https://community.hetzner.com/tutorials/install-turn-stun-server-on-debian-ubuntu-with-coturn).
Expand All @@ -189,7 +198,7 @@ Of course the best solution would be to [host your own STUN server](https://comm
Restart all services to be sure all configuration changes are applied:
```bash
systemctl restart nginx.service jicofo.service jitsi-videobridge2.service
sudo systemctl restart nginx.service jicofo.service jitsi-videobridge2.service
```
In case you get an error during room creation, reboot your server and try again.
Expand Down

0 comments on commit 24d8800

Please sign in to comment.