Zum Inhalt springen

Kommunikation und Barrierefreiheit (4/9): Jitsi-Server einrichten

  • von

Der folgende Artikel beschreibt die grundlegende Einrichtung eines Jutsi-Servers. Jitsi ist eine freie OpenSource Software, mit der sich in guter Video und Audioqualität bei relativ geringem Ressourcenaufwand Konferenzen zwischen mehreren Teilnehmern erstellen lassen. Es ist möglich nebenher Chat-Nachrichten als Text an einzelne Teilnehmer zu senden, um den Gesprächsfluss zu steuern können einzelne Teilnehmer/innen via Klick auf eine Schaltfläche eine virtuelle Hand heben. Die Software ist komplett als OpenSource verfügbar und grundlegend recht einfach einzurichten.

Voraussetzungen

Ein Grundsystem Debian 10 (aktuell Stand 2024 Debian 12), feste IPV4- und IPV6-Adresse, DNS-Record: testsystem.bloy.at (im Beispiel), sowie einen ssh-Zugang und die Möglichkeit, dass notwendige Ports auf dem System aus dem Internet erreichbar sind.

Ziel

Ein lauffähiger Jitsi Server der via Letsencrypt mit einem gültigen SSL-Certifikat versorgt wird.

Anleitung

Zuerst meldet man sich via ssh auf dem Server an und holt sich Root-Rechte. Danach richtet die entsprechenden Paketquellen ein. Dafür braucht es einige Pakete, welche auf meinem Grundsystem noch nicht vorhanden. Ich habe sie daher via als root installiert. Das Login via ssh erfolgte dabei mit einem normalen Benutzeraccount. Die Root-Rechte erlangte ich via su.

Danach folge eine Erweiterung des Pfades (Path), da im ersten Durchlauf das Installieren scheiterte, da die Software einige Befehle aus /sbin/ nicht aurufen konnte.

PATH=$PATH:/sbin export PATH 

Erst dann begann ich mit der Installation der benötigten und mancher sinnvoller Pakete.

# apt install gnupg2 wget screen certbot python3-certbot-apache sudo

Update 2024: Für Debian 12 nutze ich folgende Befehle zum Einbinden der Paketquellen, erst die Schlüssel einbinden danach die Paketquelle

curl -fsSL https://download.jitsi.org/jitsi-key.gpg.key -o /etc/apt/keyrings/jitsi-key.gpg.key
echo "deb [signed-by=/etc/apt/keyrings/jitsi-key.gpg.key] https://download.jitsi.org stable/" | tee /etc/apt/sources.list.d/jitsi.list 

Für Debian 11 sind esfolgende Befehle, d.h. zuerst die Schlüssel für die Paketquelle einbinden und danach

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

folgen die Paketquellen

sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

Ab hier geht es wieder gleich weiter mit dem Aktualisieren der lokalen Paketlisten

apt update

das Aktualisieren der lokalen Paketquellen.

Danach ließ sich die Software einfach via

apt install jitsi-meet

installieren.

Es wird einmal nach den Hostname gefragt, wie im folgenden Bild dargestellt:

Jitsi-Meet fragt nach Hostnamen
Jitsi-Videobridge Abfrage Hostname

Die zweite Frage des Installers ist, ob ein eigenes Zertifkat erzeugt werden soll, oder eines eingebunden.
Da ich später LetsEncrypt verwenden will wähle ich erstes und belasse alles auf Standardwerten, auch wenn sich dort derzeit kein Zertifikat befindet.

Frage nach Selbstsignierung des Zertifikats

Um an ein gültiges SSL-Zertifikat gibt es 2 Möglichkeiten.

1.Weg via Skript

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

Danach war mein System via https://testsystem.bloy.at erreichbar. Bisher jedoch nur dieses. Bei allen weiteren Versuchen diesen Weg zu beschreiten gab es Schwierigkeiten.Hier am Beispiel eines Testservers dargestellt.

Using the webroot path /usr/share/jitsi-meet for all unmatched domains.
Waiting for verification...
Challenge failed for domain konferenzraum.bloy.at
http-01 challenge for konferenzraum.bloy.at
Cleaning up challenges
Some challenges have failed.

2.Weg „manuell“

Bei den letzten Installationen hatte ich mit der ersten Methode eine Probleme, daher habe ich danach die Konfiguration „manuell“ vorgenommen.
Dazu installiere ich zuerst die Packete die ich dafür benötige.

apt install -y python3-certbot-apache python3-certbot

Danach sichere ich einmal die aktuelle Konfiguration

cp -pv /etc/apache2/sites-available/konferenzraum.bloy.at.conf /root/konferenzraum.bloy.at.conf.org

Danach rufe ich den certbot auf, gebe meine Mailadresse an und richte keine(!) Weiterleitung auf https ein.

root@projektserver:~# certbot 
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache

Which names would you like to activate HTTPS for?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: konferenzraum.bloy.at
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for konferenzraum.bloy.at
Waiting for verification...
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/apache2/sites-enabled/konferenzraum.bloy.at.conf

Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate number [1-2] then [enter] (press 'c' to cancel): 1

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Congratulations! You have successfully enabled
https://konferenz.bloy.at

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=konferenzraum.bloy.at
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at:
   /etc/letsencrypt/live/konferenzraum.bloy.at/fullchain.pem
   Your key file has been saved at:
   /etc/letsencrypt/live/konferenzraum.bloy.at/privkey.pem
   Your cert will expire on 2020-07-08. To obtain a new or tweaked
   version of this certificate in the future, simply run certbot again
   with the "certonly" option. To non-interactively renew *all* of
   your certificates, run "certbot renew"
 - If you like Certbot, please consider supporting our work by:

   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le

Die Konfiguration der Instanz erfolgt via /etc/jitsi/meet/testsystem.bloy.at-config.js.
Die des Apache über die entsprechenden Dateien in /etc/apache2/sites-available .

Aktuell befindet sich der Server im Testzustand, das zweite System das ich hier einrichte ist nicht mehr erreichbar.

Update: kleine Anpassungen in der Dokumentation (Stand 9.4.2020).
Update: Ergänzung 2.Weg 9.4.2020

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert