Videokonferenzen mit Jitsi Meet: So setzt ihr euren eigenen Server auf
Die Open-Source-Videokonferenzlösung Jitsi Meet erfreut sich derzeit nicht ohne Grund großer Beliebtheit. Erst vor Kurzem zeigten wir euch, wie ihr eure Calls darüber in Gang bringt, welche öffentlichen Server sich anbieten und wie ihr Jitsi bedient.
Ein, wenn nicht gerade der Clou bei Jitsi Meet ist, dass ihr mit verhältnismäßig wenig Aufwand auch euren ganz eigenen Server aufsetzen könnt, auf den dann nur ihr Zugriff habt. Aus Datenschutzperspektive ist das nicht zuletzt für Schulen, Universitäten und Unternehmen spannend, da die Konkurrenz wie Zoom, Teams und Co. häufig nicht den strengen Auflagen gerecht wird. Außerdem können die Server dieser Dienste – obwohl ja meist ziemlich gut ausgestattet – aufgrund des hohen Andrangs überlastet werden, sodass eure virtuellen Meetings dann oft von Ausfällen, Stottern und Pixelbrei geplagt sind.
Habt ihr euren eigenen Jitsi-Server laufen, seid ihr in diesen Hinsichten safe. Wir haben euch mal aufgeschrieben, was ihr für euren eigenen Server an Voraussetzungen braucht – und wie ihr ihn an den Start bringt.
Voraussetzungen für euren eigenen Jitsi-Meet-Server
Hardware: Damit ihr Jitsi Meet betreiben könnt, ist ein eigener Server mit Linux-Betriebssystem nötig. Das kann ein von euch gepachteter, dedizierter Server, eine Instanz auf einem Cloud-Server, Server-Hardware in eurem Keller oder sogar euer Notebook oder PC sein. Wichtig ist vor allem die verfügbare Bandbreite – die wird schließlich bei den Videocalls in Anspruch genommen. Jitsi selbst empfiehlt Folgendes als gute Basis, um eine große Zahl Meetings und Teilnehmer ohne Probleme simultan zu stemmen:
- 2 Gigahertz CPU
- 1 Gigabyte RAM-Speicher
- 25 Gigabyte Festplattenspeicher
- 10-Gigabit-Ethernet-Bandbreite.
Prinzipiell gilt „Je bandbreiter, desto meet“: Je mehr Bandbreite zur Verfügung steht, desto stabiler sind die Jitsi-Meetings – und desto mehr Konferenzen können parallel laufen. Für kleinere Teilnehmerzahlen und den Einsatz beispielsweise in kleineren Unternehmen dürfte aber auch eine Leitung mit 50-100 Mbit/s ausrechen.
Software und Rechte: Auf diesem Server sollte Linux installiert sein. Der Einfachheit halber nehmen wir hier beispielhaft Ubuntu 18.04 LTS – es funktionieren aber auch andere Debian-basierte Betriebssysteme. Eine Anleitung zur Ubuntu-Server-Installation findet ihr hier. Dort lernt ihr auch, wie ihr euch Root- oder Superuser-Rechte (sudo) verschafft. Unter dem frisch erschienenen Ubuntu 20.04 LTS sollte unsere Jitsi-Server-Anleitung genauso funktionieren.
Damit ihr die Jitsi-Meet-Installation durchführen und die nötigen Konfigurationen vornehmen könnt, benötigt ihr vollen Root-Zugriff auf den Server oder müsst ein User mit Sudo-Rechten sein. Im folgenden Beispiel nehmen wir an, der User hat Sudo-Rechte.
SSL-Zertifikat: Da Jitsi auf dem Kommunikationsstandard WebRTC basiert, der wiederum über HTTPS funktioniert, braucht ihr ein gültiges SSL-Zertifikat auf eurem Jitsi-Server. Wenn ihr schon eins habt, nehmt einfach das. Alternativ bietet euch Jitsi aber auch die Möglichkeit, im Installationsprozess ein selbst signiertes Zertifikat zu erstellen – die werden von Browsern allerdings als nicht sicher erkannt. Alternativ könnt ihr später ein sicheres von Let’s Encrypt einzubinden. Wichtig: Let’s-Encrypt-Zertifikate funktionieren nicht mit IP-Adressen. Wollt ihr so eins nutzen, braucht ihr also eine (Sub-)Domain für euren Server.
Domain-Name oder IP-Adresse: Damit ihr euren Jitsi-Server aufsetzen könnt, braucht ihr entweder einen DNS-Domain-Namen für ihn, oder ihr verwendet einfach seine IP-Adresse. Wichtig: Damit ihr und andere später auf den Server zugreifen können, muss dann der korrekte DNS-Name oder die exakt korrekte IP-Adresse eingegeben werden. Ein eingängiger DNS-Name dürfte leichter zu merken sein und ist daher zu empfehlen, allerdings müsst ihr euch dafür eine entsprechende Domain sichern, was Geld kostet. Bei einigen Webhostern und beispielsweise auch Anbietern von Homepage-Baukästen gibt es günstige Domains, teilweise sogar kostenlos – meist für das erste Nutzungsjahr.
Alternativ nehmt ihr einfach eure IP-Adresse. Die ist zwar schwieriger zu merken, da ihr später die Zugangsadresse zu eurem Jitsi-Server aber einfach per Copy & Paste weitergeben könnt, ist auch das nicht allzu umständlich. Nur während des Konfigurationsprozesses solltet ihr aufpassen, stets die korrekte IP-Adresse zu verwenden.
Server-Konfiguration
Zunächst solltet ihr eure Firewall für Jitsi passend konfigurieren. Standardmäßig ist unter Ubuntu die UFW-Firewall aktiviert. Die ist ab Werk so konfiguriert, dass sie alle eingehenden Verbindungen abblockt, jedoch alle ausgehenden erlaubt. So oder so müsst ihr SSH-Zugriff erlauben und anschließend folgende Ports öffnen:
- 80 TCP
- 443 TCP
- 10000-20000 UDP
Nutzt dafür diese Befehle im Terminal – das öffnet ihr mit Strg+Alt+T – und bestätigt nach jedem mit Enter:
$ sudo ufw allow in ssh
$ sudo ufw allow in 80/tcp
$ sudo ufw allow in 443/tcp
$ sudo ufw allow in 10000:20000/udp
Nun habt ihr eurer Firewall-Regeln für Jitsi vorbereitet. Wollt ihr überprüfen, dass eure Ausnahmeregelungen korrekt eingetragen wurden, könnt ihr das mit diesem Befehl tun:
$ sudo ufw status
Ein Hinweis: Wenn ihr eine Instanz auf einem Cloud-Server als Basis für euren Jitsi-Server benutzt, ist SSH-Zugriff meist schon erteilt. Hier solltet ihr also mit letzterem Status-Check-Befehl als Erstes schauen, ob ihr den SSH-Freigabe-Schritt nicht einfach überspringen könnt.
Jitsi-Schlüssel zum Keyring hinzufügen
Als Nächstes müsst ihr die Jitsi-Installationspakete hinzufügen. Die sind mit Open-PGP-Schlüsseln signiert, die ihr erst mal in euren Keyring aufnehmen müsst. Den Schlüssel ladet ihr mit diesem Befehl herunter:
$ sudo wget https://download.jitsi.org/jitsi-key.gpg.key
und fügt ihn eurem Keyring hinzu mit
$ sudo apt-key add jitsi.key.gpg.key
Repository herunterladen und Jitsi installieren
Damit Jitsi später immer aktuell bleibt, muss ein Eintrag dafür in der Package-Sources-Liste her. Das ist mit folgendem Befehl schnell gemacht:
$ sudo echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list
Nun könnt ihr über den Befehl
$ sudo apt update
Jitsi herunterladen – was einen Moment dauern kann – und anschließend mit
$ sudo apt -y install jitsi-meet
die Installation starten. Im sich danach öffnenden Fenster gebt ihr den Domain-Namen eures Servers oder dessen IP-Adresse ein, um sie permanent zu hinterlegen. Anschließend wählt ihr euer SSL-Zertifikat – entweder hinterlegt ihr euer eigenes, oder generiert nun ein selbst-signiertes.
Für diese Anleitung lassen wir Jitsi ein selbst-signiertes generieren und ersetzen es später mit einem von Let’s Encrypt. Nach dem Bestätigen läuft die Installation durch, was ein paar Momente dauert.
Nach der Installation holen wir uns das Let’s-Encrypt-Zertifikat dazu. Dafür führt ihr folgenden Befehl aus:
$ sudo /usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh
Anschließend müsst ihr eine E-Mail-Adresse hinterlegen, die beispielsweise für Benachrichtigungen beim Auslaufen des Zertifikats benutzt wird. Sobald ihr sie eingegeben und bestätigt habt, läuft ein Skript durch und erledigt den Rest.
Feinjustierung und Anpassung
Falls euch der Standard-Look der Jitsi-Benutzeroberfläche eures Servers nicht gefällt, könnt ihr ihn nachträglich auch verändern. Anpassen lässt sich beispielsweise das Logo in der linken oberen Ecke sowie der dahinter steckende Hyperlink.
Um das Logo gegen euer eigenes auszutauschen, braucht ihr es als PNG-Datei und idealerweise in den gleichen Maßen wie das Jitsi-Original. Um es auszutauschen, ersetzt die Watermark-Datei in diesem Ordner:
/usr/share/jitsi-meet/images/watermark.png
Um beispielsweise eure Website hinter eurem Logo zu verlinken, öffnet die Datei
/usr/share/jitsi-meet/interface_config.js
und verändert dort den Parameter JITSI_WATERMARK_LINK
mit der von euch angepeilten URL.
Auch ein paar Server-Grundeinstellungen könnt ihr schnell und einfach vornehmen, die besonders hilfreich beim Sparen und Schonen der Bandbreite sind. In der Datei
/etc/jitsi/meet/{euer Servername/IP-Adresse}-config
könnt ihr den Parameter startAudioOnly
auf true
setzen und damit Videoübertragung am Anfang eurer Konferenzen standardmäßig deaktivieren. Besonders bei größeren Meetings dürfte das Ressourcen schonen und Übertragungsfehler und Verzögerungen vermeiden. Kameras lassen sich in der laufenden Konferenz dann ja von jedem User einzeln wieder einschalten.
Sind die Kameras doch aktiv – und sollen es auch bleiben, ihr müsst aber dennoch die Bandbreite schonen, könnt ihr die Standardauflösung der Video-Feeds definieren. Gebt dafür in der gleichen Konfigurationsdatei hinter dem Parameter resolution
die gewünschte Auflösung ein – beispielsweise 1280x720
.
Und damit steht euer eigener Jitsi-Server. Wie ihr auf ihn zugreift und darüber Videokonferenzen in Gang bringt und steuert, haben wir in einem separaten Tutorial aufgeschrieben. Als URL beziehungsweise Domain-Namen benutzt ihr dann natürlich den eures neu erstellten Servers. Oder dessen IP-Adresse – je nachdem, was ihr im Zuge der Installation eingegeben habt.
Tiefergehende Anleitungen und Dokumentation der Software findet ihr bei Jitsi auf GitHub.
- Jitsi Meet: Neue Features für das Open-Source-Videokonferenzsystem
- Blickkontakt statt Handshake: Videokonferenz-Systeme im Überblick
- Zoom-Alternativen: Videokonferenz-Software im Vergleich
Wer keine Ahnung von Code hat und einfach nur loslegen möchte, wird bei netcup fündig. Die haben ein fertiges Image für den Server. Also ist man mit wenigen unteschnischen Schritten in deren Weboberfläche bereits fertig. Kann bei Gefallen aber dennoch alles ganz individuell gestalten (muss man aber nicht).
Ich habe keine Kooperation mit netcup, gehöre nicht zur Firma und bin da selbst erst seit wenigen Wochen Kunde und war vom Service und deren Portfolio positiv überrascht.
Kein Tippfehler ?
Die Hardware von einem kleinen Notebook, aber mindestens ein 10 Gbit LAN ? Das hat ja nicht mal mein 8Core Xeon 128GByte Ram – Server im Rechenzentrum.
Oder sind es 10MBit ?
Hallo Roland,
danke für deine Nachfrage und den Hinweis. Die Empfehlung kommt tatsächlich von einem Beispiel von Jitsi selbst und bezieht sich auf Server, die ordentlich Kapazität für viele, große Konferenzen bieten sollen. Für Konferenzen mit weniger Teilnehmen – und besonders, wenn ihr euren Server nur für eigene Zwecke nutzen wollt – sollte auch eine Ecke weniger Bandbreite ausreichen.
Das wurde im Artikel nicht ganz klar, daher habe ich die Stelle noch ein wenig ergänzt.
Besten Gruß!
Hallo Julius gibt es denn eine „Faustformel“ für die Bandbreiten..?
Also ich habe einen Ddc Server , 10core a2,6Ghz , 256 GB Ram und einer 1Gbit Anbindung.
Ich kann auch eine 10>Gbit Anbindung dazubuchen.
Welche Einstellungen soll ich in der Systemconfig vornehmen..? derzeit habe ich folgende Einstellungen
DefaultLimitNOFILE=65000
DefaultLimitNPROC=65000
DefaultTasksMax=65000
Ich bin aber nicht zufrieden da nach 15 Teilnehmern mein „SSH Htop“ bereits knapp 100% CPU anzeigt.
Ich benötige aber durchaus mehr als 30 Teilnehmer pro Sitzung… kannst du da helfen..?
Hallo!
3 Anmerkungen:
1)
Ich habe noch mit sudo ufw enable die firewall aktiviert
2)
$ sudo apt-key add jitsi.key.gpg.key müßte $ sudo apt-key add jitsi.key-gpg.key sein
3)
$ sudo echo ‚deb https://download.jitsi.org stable/‘ > /etc/apt/sources.list.d/jitsi-stable.list
da bekomme ich „permission denied“
ich habe gefunden:
sudo sh -c „echo ‚deb https://download.jitsi.org stable/‘ > /etc/apt/sources.list.d/jitsi-stable.list“
Damit geht es
Gruß
Martin
Hallo,
Wer kann mir helfen?
Ich hab bei der Installation eine falsche Eingabe gemacht bzw. bei der Angabe des Domain Namen für den jitsi Server.
Wie kann ich den Domain Namen nachträglich ändern?
Oder was muss ich löschen dass ich es neu eingeben bzw. installieren kann.
Danke