GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Installieren Sie Jitsi Meet unter Ubuntu 20.04 – Selbstgehostete Videokonferenzen

Dieses Tutorial zeigt Ihnen, wie Sie Jitsi Meet auf einem Ubuntu 20.04-Server installieren. Jitsi Meet ist eine kostenlose Open-Source-Videokonferenzsoftware, die unter Linux, macOS, Windows, iOS und Android funktioniert. Wenn Sie Zoom nicht vertrauen, können Sie Ihre eigene Videokonferenzplattform auf Ihrem eigenen Server betreiben.

Funktionen von Jitsi Meet

  • Völlig kostenlos
  • Teilen Sie Ihren Computerbildschirm mit anderen.
  • Im Moderatormodus können Sie Ihren Bildschirm und Ihre Kamera gleichzeitig freigeben, sodass die Teilnehmer den Moderator und seine Körpersprache während der gesamten Präsentation sehen können.
  • Sie können das Systemaudio teilen, während Sie Ihren Bildschirm teilen.
  • Sie können autorisierte Benutzer als Moderatoren zuweisen. Ein Moderator kann jeden Teilnehmer mit einem Klick stumm schalten.
  • Die Kommunikation über das Netzwerk wird mit DTLS-SRTP verschlüsselt.
  • Ende-zu-Ende-Verschlüsselung (in Arbeit)
  • Sie können ein Passwort für Ihre Konferenz festlegen, um zu verhindern, dass zufällige Fremde hereinkommen.
  • Meeting/Konferenz aufzeichnen und in Dropbox speichern.
  • Streame zu YouTube Live und speichere die Aufzeichnung auf YouTube.
  • Android- und iOS-Apps
  • Text-Chat
  • Textdokument teilen
  • Telefonische Einwahl in eine Konferenz
  • Herauswählen eines Telefonteilnehmers
  • Sie können einen Jits Meet-Anruf mit nur wenigen Codezeilen in jede Webseite einbetten.

Anforderungen für die Installation von Jitsi Meet unter Ubuntu 20.04

Um Jitsi Meet ausführen zu können, benötigen Sie einen Server mit mindestens 1 GB RAM. Sie können auf diesen Empfehlungslink klicken, um ein Konto bei Vultr zu erstellen und 50 $ kostenloses Guthaben zu erhalten (nur für neue Benutzer). Sobald Sie ein Konto bei Vultr haben, installieren Sie Ubuntu 20.04 auf Ihrem Server und folgen Sie den Anweisungen unten. Wenn Sie Dutzende von Benutzern haben, sollten Sie ein Upgrade Ihrer Serverhardware in Betracht ziehen. Der Server sollte sich in der Nähe Ihrer Benutzer befinden, oder die Verzögerung wird während Online-Meetings bemerkbar.

Außerdem benötigen Sie einen Domänennamen. Ich habe meinen Domainnamen bei NameCheap registriert, weil der Preis niedrig ist und sie Whois-Datenschutz lebenslang kostenlos bieten.

Schritt 1:Installieren Sie Jitsi Meet aus dem offiziellen Paket-Repository

Jitsi Meet ist nicht im Standard-Ubuntu-Repository enthalten. Wir können es aus dem offiziellen Jitsi-Paket-Repository installieren, das auch mehrere andere nützliche Softwarepakete enthält. Melden Sie sich über SSH bei Ihrem Server an und führen Sie dann den folgenden Befehl aus, um das offizielle Jitsi-Repository hinzuzufügen.

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

Importieren Sie den öffentlichen Jitsi-Schlüssel, damit der APT-Paketmanager die Integrität der aus diesem Repository heruntergeladenen Pakete überprüfen kann.

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

Da das Jitsi-Repository eine HTTPS-Verbindung erfordert, müssen wir apt-transport-https installieren Paket, um APT dazu zu bringen, eine HTTPS-Verbindung zum Jitsi-Repository aufzubauen.

sudo apt install apt-transport-https

Aktualisieren Sie als Nächstes den lokalen Paketindex und installieren Sie Jitsi Meet unter Ubuntu.

sudo apt update 
sudo apt install jitsi-meet

Während der Installation müssen Sie einen Hostnamen für Ihre Jitsi-Instanz eingeben. Dies ist der Hostname, der in der Adressleiste des Webbrowsers angezeigt wird, wenn Teilnehmer Ihrer Videokonferenz beitreten. Sie können einen beschreibenden Hostnamen wie meet.example.com verwenden .

Auf dem nächsten Bildschirm können Sie wählen, ob Sie ein neues selbstsigniertes TLS-Zertifikat generieren möchten, damit Sie später ein vertrauenswürdiges Let’s Encryption-Zertifikat erhalten und installieren können.

Der Installationsprozess konfiguriert einige Linux-Kernel-Parameter, die in /etc/sysctl.d/20-jvb-udp-buffers.conf gespeichert werden Datei. Sobald die Installation abgeschlossen ist, wird Jitsi Meet automatisch gestartet. Sie können den Status überprüfen mit:

systemctl status jitsi-videobridge2

Beispielausgabe:

● jitsi-videobridge2.service - Jitsi Videobridge
     Loaded: loaded (/lib/systemd/system/jitsi-videobridge2.service; enabled; vendor preset: enabled)
     Active: active (running) since Sat 2020-04-25 03:07:16 UTC; 8min ago
   Main PID: 3721 (java)
      Tasks: 35 (limit: 65000)
     Memory: 168.5M
     CGroup: /system.slice/jitsi-videobridge2.service
             └─3721 java -Xmx3072m -XX:+UseConcMarkSweepGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath>

Hinweis:Wenn der obige Befehl nicht sofort beendet wird, können Sie die Q-Taste drücken, um ihn zu beenden.

Das jitsi-meet package hat auch andere Pakete als Abhängigkeiten gezogen, wie zum Beispiel

  • openjdk-8-jre-headless :Java-Laufzeitumgebung. Es wird benötigt, weil Jitsi Meet in der Sprache Java geschrieben ist.
  • jicofo :Fokus der Jitsi-Konferenz (systemctl status jicofo )
  • Prosodie :Lightweight Jabber/XMPP-Server (systemctl status prosody )
  • zurück :wieder TURN Server

Schritt 2:Ports in der Firewall öffnen

Jitsi Meet lauscht auf mehreren UDP-Ports, wie mit dem folgenden Befehl zu sehen ist. (Falls Ihr Ubuntu-Server nicht über die netstat Befehl können Sie sudo apt install net-tools ausführen Befehl, um es zu installieren.)

sudo netstat -lnptu | grep java

Damit Teilnehmer einer Videokonferenz über einen Webbrowser beitreten können, müssen Sie die TCP-Ports 80 und 443 öffnen. Um Videos über das Netzwerk zu übertragen, öffnen Sie die UDP-Ports 10000 und 5000. Wenn Sie die UFW-Firewall verwenden, führen Sie Folgendes aus Befehl zum Öffnen dieser Ports.

sudo ufw allow 80,443/tcp

sudo ufw allow 10000,5000/udp

Schritt 3:Erhalten Sie ein vertrauenswürdiges TLS-Zertifikat von Let’s Encrypt

Gehen Sie zu Ihrem DNS-Hosting-Service (normalerweise Ihrem Domain-Registrar), um einen DNS-A-Eintrag für Ihren Jitsi-Hostnamen (meet.example.com) zu erstellen. Führen Sie dann das folgende Skript aus, um ein vertrauenswürdiges TLS-Zertifikat von Let’s Encrypt zu erhalten:

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

Geben Sie Ihre E-Mail-Adresse ein, um wichtige Kontobenachrichtigungen zu erhalten. Dann wird certbot-auto heruntergeladen und erhalten Sie ein TLS-Zertifikat.

Wenn alles in Ordnung ist, sehen Sie die folgende Meldung, die angibt, dass die TLS-Zertifikate erfolgreich bezogen und installiert wurden.

Wenn Sie eine saubere Ubuntu 20.04-Installation verwenden (kein Upgrade von 18.04 oder 19.10), wird beim Abrufen des Let’s Encrypt-Zertifikats wahrscheinlich der folgende Fehler angezeigt.

Package python-virtualenv is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'python-virtualenv' has no installation candidate

Dies liegt daran, dass das Ubuntu 20.04-Repository nicht über python-virtualenv verfügt Paket. Anstatt die Upstream-Binärdatei certbot-auto zu verwenden, um das TLS-Zertifikat zu erhalten, können wir das certbot-Paket aus dem Ubuntu 20.04-Repository installieren und es verwenden, um das TLS-Zertifikat zu erhalten.

sudo apt install certbot

Als nächstes müssen wir die Instanz von certbot-auto ändern zu certbot im Skript mit dem folgenden Befehl.

sudo sed -i 's/\.\/certbot-auto/certbot/g' /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Führen Sie das Skript erneut aus, und Sie sollten in der Lage sein, das TLS-Zertifikat erfolgreich von Let’s Encrypt zu erhalten.

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

Beachten Sie, dass dieses Skript den http-01 verwendet herausfordern, was bedeutet, dass Ihr Apache- oder Nginx-Webserver auf Port 80 der öffentlichen IP-Adresse lauschen muss. Wenn Ihre Serverumgebung den http-01 nicht unterstützt herausfordern, dann sollten Sie das obige Skript nicht ausführen. Sie müssen andere Herausforderungstypen verwenden. In meinem Fall verwende ich die DNS-Challenge.

sudo certbot --agree-tos -a dns-cloudflare -i nginx --redirect --hsts --staple-ocsp --email [email protected] -d meet.linuxbabe.com

Wo:

  • --agree-tos :Nutzungsbedingungen akzeptieren.
  • -a dns-cloudflare :Ich verwende das Cloudflare-DNS-Plugin zur Authentifizierung, da ich den Cloudflare-DNS-Dienst verwende.
  • -i nginx :Verwenden Sie das nginx-Plugin, um das TLS-Zertifikat zu installieren. Wenn Sie Apache verwenden, müssen Sie nginx ersetzen mit apache .
  • --redirect :HTTPS durch 301-Umleitung erzwingen.
  • --hsts :Fügen Sie jeder HTTP-Antwort den Strict-Transport-Security-Header hinzu. Erzwingen, dass der Browser immer TLS für die Domäne verwendet. Schützt vor SSL/TLS-Stripping.
  • --staple-ocsp :Aktiviert OCSP-Heften. Eine gültige OCSP-Antwort wird an das Zertifikat geheftet, das der Server während TLS anbietet.

Schritt 4:HTTP2 aktivieren

HTTP2 kann die Ladegeschwindigkeit von Webseiten verbessern. Um HTTP2 in Nginx zu aktivieren, bearbeiten Sie die Konfigurationsdatei des virtuellen Hosts.

sudo nano /etc/nginx/sites-enabled/meet.example.com.conf

Suchen Sie die folgenden zwei Zeilen.

listen 443 ssl;
listen [::]:443 ssl;

Fügen Sie am Ende http2 hinzu.

listen 443 ssl http2;
listen [::]:443 ssl http2;

Speichern und schließen Sie die Datei. Laden Sie dann Nginx neu, damit die Änderung wirksam wird.

sudo systemctl reload nginx

Schritt 5:Starten Sie ein neues Online-Meeting

Besuchen Sie nun https://meet.example.com und Sie können eine Konferenz starten. Um Audio zu übertragen, müssen Sie dem Webbrowser erlauben, Ihr Mikrofon zu verwenden. Und um Videos zu übertragen, müssen Sie dem Webbrowser erlauben, auf Ihre Kamera zuzugreifen.

Geben Sie Ihrem Meeting einen Namen und klicken Sie auf die Schaltfläche Los. Nachdem das Meeting gestartet wurde, können Sie optional ein Passwort für Ihr Meeting festlegen.

Schritt 6:Benutzerauthentifizierung einrichten

Standardmäßig kann jeder zu Ihrer Jitsi Meet-Instanz gehen, einen Raum erstellen und ein Meeting starten. Um die Benutzerauthentifizierung einzurichten, bearbeiten Sie die Prosody-Konfigurationsdatei.

sudo nano /etc/prosody/conf.d/meet.example.com.cfg.lua

Suchen Sie die folgende Zeile.

authentication = "anonymous"

Ändern Sie es wie folgt, wodurch der Benutzer den Benutzernamen und das Passwort eingeben muss, um eine Konferenz zu starten.

authentication = "internal_plain"

Wir möchten jedoch nicht, dass die Teilnehmer Benutzernamen und Passwort eingeben, wenn sie der Konferenz beitreten, daher müssen wir ein anonymes Login für Gäste erstellen, indem wir die folgenden Zeilen am Ende dieser Datei hinzufügen. Beachten Sie, dass Sie keinen DNS-A-Eintrag für guest.meet.example.com erstellen müssen .

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

Speichern und schließen Sie die Datei.

Bearbeiten Sie als Nächstes die Jitsi Meet-Konfigurationsdatei.

sudo nano /etc/jitsi/meet/meet.example.com-config.js

Suchen Sie die folgende Zeile,

// anonymousdomain: 'guest.example.com',

Entfernen Sie die doppelten Schrägstriche und ändern Sie die Gastdomäne. Ersetzen Sie meet.example.com durch Ihren echten Jitsi Meet-Hostnamen.

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

Speichern und schließen Sie die Datei.

Bearbeiten Sie dann die Jicofo-Konfigurationsdatei.

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

Fügen Sie am Ende dieser Datei die folgende Zeile hinzu.

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

Speichern und schließen Sie die Datei. Starten Sie die systemd-Dienste neu, damit die Änderungen wirksam werden.

sudo systemctl restart jitsi-videobridge2 prosody jicofo

Führen Sie den folgenden Befehl aus, um Benutzerkonten in Jisi Meet zu erstellen. Sie werden aufgefordert, ein Passwort für den neuen Benutzer einzugeben.

sudo prosodyctl register username meet.example.com

Wenn Sie jetzt einen Raum in Jitsi Meet erstellen, müssen Sie einen Benutzernamen und ein Passwort eingeben.

Optional:Richten Sie Jigasi für die Telefoneinwahl oder -auswahl ein

Jitsi bietet eine Telefonieschnittstelle, mit der Benutzer sich in eine Konferenz einwählen oder Erinnerungsanrufe tätigen können. Installieren Sie jigasi Paket (Jitsi-Gateway für SIP).

sudo apt install jigasi

Während der Installation müssen Sie Ihren SIP-Benutzernamen und Ihr Passwort eingeben. Wenn Sie noch keines haben, können Sie auf OnSIP.com ein kostenloses SIP-Konto erstellen.

Wenn Sie die Benutzerauthentifizierung in Schritt 6 eingerichtet haben, müssen Sie die Jigasi-Konfigurationsdatei bearbeiten.

sudo nano /etc/jitsi/jigasi/sip-communicator.properties

Suchen Sie die folgenden Zeilen.

# [email protected]_DOMAIN
# org.jitsi.jigasi.xmpp.acc.PASS=SOME_PASS
# org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Entkommentieren Sie sie und geben Sie ein Konto und ein Passwort ein, das Sie in Schritt 6 erstellt haben.

org.jitsi.jigasi.xmpp.acc.USER_ID=[email protected]
org.jitsi.jigasi.xmpp.acc.PASS=user1_password
org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

Speichern und schließen Sie die Datei. Starten Sie jigasi neu systemd-Dienst.

sudo systemctl status jigasi

Optional:Coturn konfigurieren

Wenn Sie während der Installation von Jitsi Meet die folgende Meldung sehen, müssen Sie Coturn konfigurieren, damit es ordnungsgemäß funktioniert.

Warning! Could not resolve your external ip address! Error:^
Your turn server will not work till you edit your /etc/turnserver.conf config file.
You need to set your external ip address in external-ip and restart coturn service.

Bearbeiten Sie die Coturn-Konfigurationsdatei.

sudo nano /etc/turnserver.conf

Suchen Sie die folgende Zeile.

external-ip=127.0.0.1

Ersetzen Sie 127.0.0.1 durch die öffentliche IP-Adresse Ihres Servers. Speichern und schließen Sie die Datei. Starten Sie dann Coturn neu.

sudo systemctl restart coturn

Tipps zur Fehlerbehebung

Wenn Fehler auftreten, können Sie das Nginx-Fehlerprotokoll überprüfen (/var/log/nginx/error.log ) um herauszufinden, was falsch ist. Sie können auch die Protokolle der systemd-Dienste überprüfen.

sudo journalctl -eu jitsi-videobridge2 
sudo journalctl -eu prosody 
sudo journalctl -eu jicofo

Ubuntu
  1. So installieren Sie Zoom (Videokonferenz-Tool) unter Ubuntu 20.04

  2. So installieren Sie Jitsi Meet unter Debian 11

  3. So installieren Sie den HandBrake Video Converter unter Ubuntu

  4. So installieren Sie die Jitsi Meet-Videokonferenzplattform auf Ubuntu

  5. Einfache Installation von VMware Ubuntu 21.10 (Video)

So installieren Sie HandBrake unter Ubuntu 18.04 LTS

So installieren Sie Jitsi Meet unter Ubuntu 20.04 LTS

So installieren Sie Jitsi Meet unter Debian und Ubuntu

Jitsi Meet unter Ubuntu Linux:Eine Open-Source-Lösung für Videokonferenzen

So stellen Sie den Jitsi Meet-Konferenzserver mit Ubuntu 22.04 bereit

So installieren Sie die Jitsi Meet-Videokonferenzanwendung unter Ubuntu 20.04