Original-URL des Artikels: https://www.golem.de/news/homeoffice-videokonferenzen-auf-eigenen-servern-mit-jitsi-meet-2003-147239.html    Veröffentlicht: 16.03.2020 09:06    Kurz-URL: https://glm.io/147239

Homeoffice

Videokonferenzen auf eigenen Servern mit Jitsi Meet

Wegen der Coronavirus-Pandemie sind Videokonferenzen angesagt. Eine eigene Instanz der freien Videokonferenz-Software Jitsi Meet ist innerhalb von wenigen Minuten lauffähig, Golem.de stellt eine bereit.

Angesichts des Coronavirus ist zurzeit Social Distancing angesagt. In unzähligen Unternehmen arbeiten inzwischen Mitarbeiter von zu Hause. Videokonferenzen dürften einen nie dagewesenen Boom erleben und Golem.de hat aus aktuellem Anlass verschiedene Systeme getestet.

Doch nicht jeder möchte auf die Systeme von kommerziellen Anbietern zurückgreifen. Eine relativ simple Lösung, um schnell Videokonferenzen im Browser aufzusetzen, ist Jitsi Meet.

Videochat im Browser

In einem Webinterface kann einfach Videokonferenzräume mit einem Namen angelegt werden. Anschließend kann die URL, die sich aus dem Hostnamen und dem Konferenznamen zusammensetzt, mit anderen geteilt werden - und es kann losgehen. Integriert ist auch ein simpler Chat und die Möglichkeit zum Screensharing. Für private Konferenzen kann man den jeweiligen Raum mit einem Passwort versehen.

Die Entwickler von Jitsi Meet betreiben selbst eine Instanz, die jeder nutzen kann. Doch wenig überraschend ist diese bereits am 13. März mehrfach überlastet. Wir haben getestet, wie schnell man sich selbst eine Instanz aufsetzen kann.



Komplexe Architektur

Die Architektur von Jitsi Meet ist vergleichsweise komplex, im Hintergrund läuft beispielsweise ein XMPP-Server mit. Doch es gibt eine simple Möglichkeit, sich das Ganze via Docker Compose zu installieren.

Zum Testen haben wir einen Ubuntu-Server verwendet. Wer nur einzelne Chaträume benötigt, kann dafür auf günstige Server - egal ob virtuell oder nicht - zurückgreifen, die Systemlast ist nicht sehr hoch.

Auf dem Server müssen zunächst Git und Docker Compose installiert werden:

apt update apt install git docker-compose

Anschließend folgen wir der Installationsanleitung; mit wenigen Befehlen haben wir unsere Instanz am Laufen:

git clone https://github.com/jitsi/docker-jitsi-meet && cd docker-jitsi-meet cp env.example .env ./gen-passwords.sh mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri} docker-compose up -d

Hierbei wird eine Standardkonfiguration erstellt, es werden Zufallspasswörter für verschiedene interne Dienste erzeugt und Konfigurationsverzeichnisse erstellt. Anschließend werden die Container gestartet.

Das reicht bereits aus; die Instanz lässt sich über den Port 8443 aufrufen. Doch bislang hat unsere Installation kein gültiges Zertifikat, daher kommt eine Warnmeldung im Browser.

Mit wenigen Änderungen in der .env-Datei können wir jedoch unsere Installation veranlassen, auf dem gewöhnlichen HTTPS-Port unter 443 mit einem gültigen Zertifikat zu laufen. Dafür setzen wir in der Datei .env die Variable HTTP_PORT auf 80 und HTTPS_PORT auf 443. Außerdem setzen wir ENABLE_HTTP_REDIRECT auf 1, damit HTTP-Anfragen automatisch auf HTTPS umgeleitet werden.



Let's-Encrypt-Support für HTTPS ist leicht aktivierbar

Für die Zertifikatserstellung ist direkte Unterstützung für die kostenlose Zertifizierungsstelle Let's Encrypt vorgesehen. Dafür müssen wir lediglich die Variable ENABLE_LETSENCRYPT auf 1 setzen, den Hostnamen in LETSENCRYPT_DOMAIN eintragen und unter LETSENCRYPT_EMAIL eine Mailadresse konfigurieren, die für den entsprechenden Account verwendet wird. Dort kommen etwa Warnmails an, falls das Zertifikat abläuft und noch nicht automatisch erneuert wurde.

Damit das Ganze funktioniert, müssen wir die Konfiguration nun neu erstellen. Das Standard-Konfigurationsverzeichnis befindet sich im Homedir des entsprechenden Nutzers unter ~/.jitsi-meet-cfg/.

Wir beenden also unsere Instanz wieder, löschen anschließend das Konfigurationsverzeichnis, erzeugen neue, leere Konfigurationsverzeichnisse und starten neu:

docker-compose down rm -r ~/.jitsi-meet-cfg mkdir -p ~/.jitsi-meet-cfg/{web/letsencrypt,transcripts,prosody,jicofo,jvb,jigasi,jibri} docker-compose up -d

Wer versucht, die Instanz sofort aufzurufen, erhält lediglich einen Verbindungsfehler. Doch das liegt nur daran, dass zunächst das Zertifikat beantragt werden muss. Lange warten muss man aber nicht, spätestens nach einigen Minuten steht die Instanz bereit.

Mit erstaunlich wenig Aufwand haben wir ein selbst gehostetes Videokonferenzsystem. Die Teilnehmer benötigen lediglich einen modernen Webbrowser mit Unterstützung für WebRTC.

Eingie Dinge, die uns auffallen: Dass man das Konfigurationsverzeichnis löschen und neu erzeugen lassen muss, sollte man nicht vergessen, sonst sucht man verzweifelt nach Gründen dafür, dass Konfigurationsänderungen nicht aktiv werden. Dass man nach dem Aufsetzen einer Instanz mit Let's-Encrypt-Zertifikat zunächst warten muss, sollte man auch wissen, das System gibt zumindest beim Standardaufruf dazu keinen Status.

Beim Testen hatten wir zunächst den HTTP-Redirect nicht aktiviert und es funktionierte nicht bei Personen, die die URL nicht über HTTPS aufgerufen haben. Das ist leicht zu erklären: Die für Videochats nötige Audio- und Videofunktionalität wird von den modernen Browsern nur über HTTPS unterstützt. Daher sollte man HTTP-Anfragen auf jeden Fall auf HTTPS umleiten.

Golem.de betreibt öffentliche Instanz

Vergleichsweise umständlich ist es, das Aussehen der Instanz anzupassen. So gibt es keinen vorgesehenen, einfachen Weg, die Texte auf der Startseite zu verändern. Als Notbehelf kann man sich in die entsprechenden Docker-Container einloggen und dort die nötigen Dateien manuell anpassen.

Da die offizielle Instanz von Jitsi Meet zurzeit öfter überlastet ist, haben wir uns entschieden, temporär selbst eine öffentliche Instanz zu betreiben. Sie kann unter meet.golem.de abgerufen und von unseren Lesern für eigene Konferenzen genutzt werden.

Nachtrag vom 11. April 2020, 11:54 Uhr

Es gab kleine Änderungen in der Installation, an die wir unsere Anleitung angepasst haben. Zur Verwendung müssen jetzt mit dem Skript genpasswords.sh Zufallspasswörter erzeugt werden. Die Hintergründe dazu haben wir in einem eigenen Artikel erläutert.  (hab)


Verwandte Artikel:
Sicherheitslücke: Unsichere Standardpasswörter in Jitsi Meet   
(11.04.2020, https://glm.io/147840 )
Open Source: Videokonferenz-Software Jitsi Meet bekommt neue Funktionen   
(09.04.2020, https://glm.io/147812 )
Open Source: Angriff von zwei Seiten   
(21.02.2020, https://glm.io/146769 )
Freier Windows-Nachbau: ReactOS 0.4.9 baut sich selbst   
(24.07.2018, https://glm.io/135653 )
Videostreaming: Prime Video wird auf allen Apple-Geräten unübersichtlicher   
(02.04.2020, https://glm.io/147656 )

© 1997–2021 Golem.de, https://www.golem.de/