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:
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.
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