Tobias Scheible Cyber Security & IT-Forensik Dozent
Jitsi Meet Server

Meine eigene Jitsi Meet Instanz

Nachdem ich sehr viel Feedback zu meinen Jitsi Meet Artikeln bekommen habe, biete ich nun selbst einen öffentlichen Jitsi Meet Server an. Er ist datenschutzfreundlich konfiguriert und kann von jedem frei genutzt werden.

Mittwoch, 29. April 2020
23 Kommentare

15.05.2021 Update: Screenshots der aktuellen Version und verschiedene Korrekturen.

  • Kostenlose Nutzung meiner Jitsi Meet Instanz auf einem leistungsstarken Server
  • Unkomplizierte Teilnahme per Webbrowser, ganz ohne Account
  • Beliebige Gruppengröße mit FullHD Videoqualität
  • Datenschutzfreundliche Konfiguration und deutscher Serverstandort

Öffentlicher Jitsi Meet Server (meet.scheible.it):

Jitsi Meet Server (Deutschland)
Angepasste Startseite von Jitsi Meet – Serverstandort Deutschland
Jitsi Meet Server Deutschland Angepasste Startseite von Jitsi Meet – Serverstandort Deutschland

Jitsi Meet

Jitsi Meet ist für mich persönlich ein Musterbeispiel für eine Open-Source-Anwendung. Eine aktive Community pflegt das Projekt und kontinuierlich werden neue Versionen mit Korrekturen und zusätzlichen Funktionen veröffentlicht. Im offiziellen Forum gibt es rege Diskussionen und super schnelle und sehr freundliche Hilfe. Die Installation wurde so vereinfacht, dass auch Personen mit geringem Informatik-Know-how eine eigene Jitsi Meet Instanz installieren können. Dabei ist die Grundinstallation von Haus aus bereits sicher konfiguriert und durch die datensparsame Art der Anwendung ergeben sich kaum Ansatzpunkte für Schwachstellen. Das Webinterface ist übersichtlich und modern aufgebaut, sodass die Nutzer meist keine größere Einweisung für die Teilnahme an einer Webkonferenz benötigen. Zudem funktioniert die komplette Audio- und Videokonferenz in Jitsi Meet lediglich mit einem Webbrowser, d.h. es muss weder eine Installation durchgeführt noch eine Anmeldung vollzogen werden.

Nachdem ich hier im Blog mehrere Artikel über Jitsi Meet geschrieben habe und selbst bereits eine private Instanz betrieb, entschied ich mich einen öffentlichen Jitsi Meet Server bereitzustellen. Anfänglich noch mit einem vServer bin ich, auf Grund der Nachfrage, mittlerweile auf einen Dedicated Root Server umgestiegen. Der Server steht in Deutschland beim Anbieter Hetzner im Rechenzentrum Falkenstein. Mit seinen ausreichenden Ressourcen (Hexa-Core CPU + SMT, 64GB Ram und einer Gigabit Internetverbindung) können mehrere Konferenzen mit zahlreichen Teilnehmern gleichzeitig durchgeführt werden. Zum Beispiel erzeugen 4 Meetings parallel mit insgesamt 70 Teilnehmern gerade einmal eine CPU-Auslastung von 10%.

Meine Jitsi Meet Instanz ist unter der folgenden URL erreichbar:
https://meet.scheible.it

Falls es Probleme oder Anmerkungen gibt, freue ich mich über euer Feedback.

Konfiguration von Jitsi Meet

Mein Jitsi Meet Server verwendet eine datenschutzfreundliche Konfiguration. Es werden keine Protokolle erstellt und keine Dienste Dritter genutzt. Im folgenden Abschnitt erläutere ich die Konfigurationen meines Jitsi Meet Servers im Detail:

Layout

Das Layout und das Logo wurden angepasst. Die CSS-Parameter für die Startseite wurde modifiziert, damit Jitsi Meet meinem Bloglayout entspricht. Zusätzlich habe ich die Liste, der zuletzt verwendeten Räume ausgeblendet, da ich dieses Feature deaktiviert habe.

Einstellungen

Als Option habe ich aktiviert, dass die Benutzer zur Eingabe eines Namens aufgefordert werden. Die Kamera und das Mikrofon sind im Standard nicht automatisch aktiviert, die Verbindung zum Drittanbieter Gravatar wird unterbunden und die zuletzt benutzte Räume werden nicht gespeichert.

// /etc/jitsi/meet/meet.scheible.it-config.js  
253: requireDisplayName: true,
100: startWithAudioMuted: true,    
140: startWithVideoMuted: true,    
321: disableThirdPartyRequests: true,  
464: doNotStoreRoom: true, 

Die Willkommensseite wurde aktiviert, um die Links zur Anleitung, das Impressum und Datenschutzhinweise einfügen zu können.

// /usr/share/jitsi-meet/interface_config.js    
30: DISPLAY_WELCOME_PAGE_TOOLBAR_ADDITIONAL_CONTENT: true,

Zusätzlich wird das Eingabefeld für die E-Mail-Adresse ausgeblendet, da diese nicht benötigt wird. Dies hängt damit zusammen, dass die Funktionvon Gravatar deaktiviert wurde.

// /usr/share/jitsi-meet/css/all.css  
.profile-edit-field:last-child{    
    display: none;    
}  

Alle Protokollfunktionen wurden deaktiviert bzw. auf den Fehlerfall beschränkt.

// /etc/nginx/nginx.conf.    
41: access_log off;    
42: error_log off;
  
// /etc/jitsi/videobridge/logging.properties    
09: .level=WARNING  
Datenschutzerklärung

Die Links zum Impressum und zur Datenschutzerklärung habe ich wie im Artikel „Datenschutzfreundliche Konfiguration von Jitsi Meet“ beschrieben eingefügt. Einen extra Abschnitt für Jitsi Meet habe ich in meinen Datenschutzhinweisen eingefügt. Dabei orientierte ich mich an den Vorlagen von Mike Kuketz, die er freundlicherweise zur Verwendung freigegeben hat. Dort habe ich alle Daten aufgeführt, die erhoben und verarbeitet werden.

STUN/TURN

Ein eigener Coturn Server (STUN/TURN) wird betrieben. Er befindet sich auf demselben Server wie Jitsi Meet. Er wurde wie im Artikel „Jitsi Meet unter Ubuntu 20.04 installieren“ eingerichtet und konfiguriert. Die Peer-to-Peer-Funktion wurde wegen der Bekanntgabe der IP-Adressen deaktiviert.

Jitsi Meet Artikelserie

Dieser Blogbeitrag ist Teil der Artikelserie „Videokonferenzen mit Jitsi Meet“, die sich mit dem Open-Source-Webkonferenzsystem Jitsi für Video-, Web- und Telefonkonferenzen beschäftigt. Die Artikelserie zu Jitsi Meet umfasst die folgenden Themen:


Jitsi Meet Artikel für Anwender


Jitsi Meet Artikel für Administratoren

Changelog

15.05.2021Screenshots der aktuellen Version und verschiedene Korrekturen.

05.01.2021Screenshot aktualisiert und Beschreibung angepasst.

23.11.2020Beschreibung der Konfiguration angepasst.

24.10.2020Beschreibung überarbeitet.

15.07.2020Aktualisierung der Eigenschaften.

17.05.2020Konfiguration aktualisiert.

01.05.2020Details zur Konfiguration meiner Jitsi Meet Instanz hinzugefügt.

Über Tobias Scheible

Tobias Scheible

Hallo, mein Name ist Tobias Scheible. Ich bin begeisterter Informatiker und Sicherheitsforscher mit den Schwerpunkten Cyber Security und IT-Forensik. Mein Wissen teile ich gerne anhand von Fachartikeln hier in meinem Blog. Als Referent halte ich Vorträge und Workshops für Verbände und Unternehmen u. a. auch offene Veranstaltungen für den VDI und die IHK.

Kommentare

Sebastian am 6. Mai 2020 um 18:30 Uhr

Hallo Tobias, vielen Dank für diese tollen und hilfreichen Blogbeiträge, vorallem wenn es zum Thema Datenschutz geht. Zurzeit hoste ich meine Jitsi Instanz noch auf einem Google Server (e2-standard-2 (2 vCPUs, 8 GB memory)), ist das datenschutzrechtlich bedenklich? Oder wieso hostest Du deine Instanz bei Netcup? Wenn ich zu Netcup wechsle, welche Server-Konfiguration empfiehlst du für ca. 50-70 Nutzer die Zugriff auf die Plattform haben?

Außerdem würde es mich noch sehr interessieren wie man die Statistiken mithilfe von Matomo aufsetzt – vielleicht ein spannendes Thema für den nächsten Blogbeitrag 😉

LG aus Berlin,
Sebastian

Tobias am 7. Mai 2020 um 08:59 Uhr

Hallo Sebastian,

ich bevorzuge eigentlich immer lokale Hoster aus Deutschland, alleine schon aus Performance Gründe. Bei Jitsi Meet ist die CPU-Power der wichtigste Faktor. Gerade bei vServer, wo die Rechenleistung geteilt wird kann es zu Problemen kommen. Eine Verzögerung von 50 Millisekunden ist bei einer Website nicht so relevant, bei Jitsi aber sehr nervig. Daher habe ich mich für Netcup entschieden, da es hier Servermodelle gibt mit geteilten Ressourcen (SSD + RAM), aber mit zugesicherten CPU-Ressourcen.
Bei 50 bis 70 Nutzer würde ich dir einen Server mit acht CPU-kernen empfehlen. Am besten keinen vServer sondern ein echter Dedicated Server. Schau dir mal den Artikel von Cyon an, dort habe ich in den Kommentaren nach dem verwendeten Server gefragt. https://www.cyon.ch/blog/Kostenlose-Online-Meetings-kommen-an
Der Blog-Artikel zur Statistik ist in Arbeit 😉

Grüße
Tobias

Andreas am 8. Mai 2020 um 10:01 Uhr

Sehr gute Infos zu Jitsi finde ich bei Dir!
Kannst Du noch kurz erklären, wie Du die Server-Statistiken auf der Startseite eingebunden hast? Danke!

Tobias am 8. Mai 2020 um 16:38 Uhr

Hallo Andreas,

zum Thema Jitsi Meet und Statistik bzw. Auslastung wird es bald noch einen extra Blog Artikel geben.

Grüße
Tobias

Ralf B. am 8. Mai 2020 um 12:45 Uhr

Hallo Tobias,
danke für die Jitsi Instanz!

Ich hatte schon vor mir Jitsi selber zu Installieren und zu Konfigurieren auf meinen eigenen V-Server. Da ich aber dort einen Web-Shop und eine Web-Seite laufen habe wollte ich das erstmal zuhause auf einem Zwillings-Server ausprobieren. Ich hätte mir ggf. noch einen kleinen V-Server zugebucht, aber dann fand ich diese Seite hier mit Ihrem Service.

Für die kleine Anzahl von Nutzungen im Jahr ist das Super ausreichend.

VIELEN DANK!

PS.: Aus Neugierde werde ich es trotzdem einmal probieren zu Installieren. 🙂

Detlef am 16. Mai 2020 um 12:23 Uhr

Hallo Tobias, auch von meiner Seite Annerkennung und viel Lob für deinen Blog hier.
Hat mir bei der installation und Anpassung schon sehr geholfen, aber…. wie bekomme ich dieses Statistikzähler unterhalb der „Liste“ angezeigt.
Ausserdem landen meine Einträge immer am Kopf der Seite
Du hast das so wunderschön nach unten gezogen.

Kannst du mir da was schicken..?

Danke Detlef

Tobias am 17. Mai 2020 um 10:36 Uhr

Hallo Detlef,
ich vermute mal das liegt an den CSS-Anweisungen. Das äußere DIV-Elemente muss die folgenden Anweisungen beinhalten: postion: relative; z-index: 100; Wie lautet den die URL?
Grüße
Tobias

RaHa am 27. Oktober 2020 um 09:12 Uhr

Hallo Tobias,
danke für diesen sehr umfangreichen Blog zu Jitsi!!

Meine Frage: Kann ein eingener STUN/TURN-Server (Goturn) auf dem gleichen Server laufen oder sollte dies eher vermieden werden.

Tobias am 29. Oktober 2020 um 18:29 Uhr

Hallo,
der STUN/TURN-Server kann auf dem selben Server betrieben werden. Bei der Installation von Jitsi Meet wird Coturn gleich mit installiert und muss anschließend nur noch konfiguriert werden.
Grüße Tobias

RaHa am 24. November 2020 um 20:24 Uhr

Ich habe mich Wochen hier schlau gelesen und auch auf anderen Seiten und fühlte mich gewappnet für die Installation einer eigenen Jitsi-Instanz. Netcup, habe ich hier gelesen, die seien gut. Also einen RS 4000 G9 bestellt und mit meinem erworbenen Wissen Hand angelegt und den Server mit dem Image Debian Buster – Jitsi installiert. Mal immer wieder hier und anderswo nachgeschaut, aber so richtig wollte das Alles nicht funktionieren. Immer war die Instanz mit falscher Domain installiert, dann wollte das mit meinedomain.de und meet.meinedomain.de unter ngnix nicht funktionieren und letsencrypt sicherte immer nur v1234454656789049324.bestserver.de.

Ich war am verzweifeln und nach einem Tag der Suche und einer Nacht ruheloser Schlaf habe ich dann an folgende Installation gewagt:

– Festplatte gelöscht
– Image Debian Buster – Jitsi installiert
– in der Datei /etc/hostname meinedomain.de eingetragen
– in der Datei /etc/hosts folgendes eingetragen

#hosts
127.0.0.1 localhost
127.0.1.1 meinedomain.de v111111111111111111
# v111111111111111111 ersetzen mit aktueller Nummer

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
xxx.xxx.xxx.xxx meinedomain.de v111111111111111111
# xxx.xxx.xxx.xxx ersetzen mit IP des aktuellen Servers

– Server über SCP neugestartet

– danach ufw als Firewall installiert mit folgenden Aufrufen:

sudo apt update
sudo apt install ufw

ufw reset
ufw default allow outgoing
ufw allow OPENSSH
ufw default deny incoming
ufw allow ‚Nginx Full‘
ufw allow XMPP
ufw logging on
ufw enable

– bestehende Jitsi-Instanz mit den Aufrufen gelöscht:
apt purge jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge2

rm -fR /etc/jitsi

rm -fR /usr/share/jitsi

rm -f /root/jitsi*

– jetzt folgte die Neuinstallation von Jitsi mit folgenden Aufrufen (meet.meinedomain.de mit aktueller Domain ersetzen):

echo „jitsi-videobridge jitsi-videobridge/jvb-hostname string meet.meinedomain.de“ | debconf-set-selections

echo „jitsi-meet-web-config jitsi-meet/cert-choice select ‚Generate a new self-signed certificate (You will later get a chance to obtain a Let’s encrypt certificate)'“ | debconf-set-selections

sudo apt-get –option=Dpkg::Options::=–force-confold –option=Dpkg::options::=–force-unsafe-io –assume-yes –quiet install jitsi-meet

– jetzt wird letsencrypt installiert.
Mit der von der Jitsi-Installation erstellten Datei /etc/nginx/sites-avaible/meet.meinedomain.de.conf gibt es allerdings bei der Installtion einen Fehler und das Zertifikat wird nicht erstellt. Man muss vorher die default.conf anpassen. Dort setzt man server_name meinedomain.de; , löscht alles mit default hinter [80] und speichert die Datei. Dann kopiert man den gesamten Inhalt aus der default.conf überschreibend in die Datei /etc/nginx/sites-avaible/meet.meinedomain.de.conf und ersetzt dann dort server_name meet.meinedomain.de; und root /var/www/html durch root /var/www/html/meet . Das Verzeichnis erstellen wir dann mit mkdir /var/www/html/meet

Mit dem Aufruf nginx -t überprüft man ob Fehler vorliegen und korrigiert diese ggf. in default.conf und meet.meinedomain.de

Jetzt kann letsencrypt mit folgenden Befehlen installiert werden:

sudo apt install python3-acme python3-certbot python3-mock python3-openssl python3-pkg-resources python3-pyparsing python3-zope.interface

sudo apt install python3-certbot-nginx

sudo certbot

Folgendes erscheint im Terminal, wir geben eine bestehende E-Mail-Adresse ein!!:

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator nginx, Installer nginx
Enter email address (used for urgent renewal and security notices) (Enter ‚c‘ to
cancel): mail@meineemail.de ******* BESTEHENDE E-MAIL-ADRESSE EINGEBEN ******

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must
agree in order to register with the ACME server at
https://acme-v02.api.letsencrypt.org/directory
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
(A)gree/(C)ancel: A ******* WIR DRÜCKEN A ENTER ******

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let’s Encrypt project and the non-profit
organization that develops Certbot? We’d like to send you email about our work
encrypting the web, EFF news, campaigns, and ways to support digital freedom.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
(Y)es/(N)o: N ******* WIR DRÜCKEN N ENTER ******

Which names would you like to activate HTTPS for?
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
1: meinedomain.de
2: meet.meinedomain.de
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter ‚c‘ to cancel): ******* WIR DRÜCKEN ENTER ******
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for meinedomain.de
http-01 challenge for meet.meinedomain.de
Waiting for verification…
Cleaning up challenges
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/default
Deploying Certificate to VirtualHost /etc/nginx/sites-enabled/meet.meinedomain.de.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): 2 ******* WIR DRÜCKEN 2 ENTER ******
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/default
Redirecting all traffic on port 80 to ssl in /etc/nginx/sites-enabled/meet.meinedomain.de.conf

– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Congratulations! You have successfully enabled https://meinedomain.de and
https://meet.meinedomain.de

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=meinedomain.de
https://www.ssllabs.com/ssltest/analyze.html?d=meet.meinedomain.de
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –

IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/lernlesen.de/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/lernlesen.de/privkey.pem
Your cert will expire on 2021-02-22. 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

– jetzt benötigen wir noch die richtige /etc/nginx/sites-avaible/meet.meinedomain.de.conf. Dazu folgendes in die Datei überschreibend kopieren (meinedomain.de ersetzen mit aktueller Domain):

server {
listen 443 ssl;
listen [::]:443 ssl;
server_name meet.meinedomain.de;

ssl_session_tickets off;

add_header Strict-Transport-Security „max-age=63072000“ always;

ssl_certificate /etc/letsencrypt/live/meinedomain.de/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/meinedomain.de/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

root /usr/share/jitsi-meet;

# ssi on with javascript for multidomain variables in config.js
ssi on;
ssi_types application/x-javascript application/javascript;

index index.html index.htm;
error_page 404 /static/404.html;

gzip on;
gzip_types text/plain text/css application/javascript application/json image/x-icon application/octet-stream application/wasm;
gzip_vary on;
gzip_proxied no-cache no-store private expired auth;
gzip_min_length 512;

location = /config.js {
alias /etc/jitsi/meet/meet.lernlesen.de-config.js;
}

location = /external_api.js {
alias /usr/share/jitsi-meet/libs/external_api.min.js;
}

#ensure all static content can always be found first
location ~ ^/(libs|css|static|images|fonts|lang|sounds|connection_optimization|.well-known)/(.*)$
{
add_header ‚Access-Control-Allow-Origin‘ ‚*‘;
alias /usr/share/jitsi-meet/$1/$2;

# cache all versioned files
if ($arg_v) {
expires 1y;
}
}

# BOSH
location = /http-bind {
proxy_pass http://localhost:5280/http-bind;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header Host $http_host;
}

# xmpp websockets
location = /xmpp-websocket {
proxy_pass http://127.0.0.1:5280/xmpp-websocket?prefix=$prefix&$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection „upgrade“;
proxy_set_header Host $http_host;
tcp_nodelay on;
}

# colibri (JVB) websockets for jvb1
location ~ ^/colibri-ws/default-id/(.*) {
proxy_pass http://127.0.0.1:9090/colibri-ws/default-id/$1$is_args$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection „upgrade“;
tcp_nodelay on;
}

location ~ ^/([^/?&:'“]+)$ {
try_files $uri @root_path;
}

location @root_path {
rewrite ^/(.*)$ / break;
}

location ~ ^/([^/?&:'“]+)/config.js$
{
set $subdomain „$1.“;
set $subdir „$1/“;

alias /etc/jitsi/meet/meet.lernlesen.de-config.js;
}

#Anything that didn’t match above, and isn’t a real file, assume it’s a room name and redirect to /
location ~ ^/([^/?&:'“]+)/(.*)$ {
set $subdomain „$1.“;
set $subdir „$1/“;
rewrite ^/([^/?&:'“]+)/(.*)$ /$2;
}

# BOSH for subdomains
location ~ ^/([^/?&:'“]+)/http-bind {
set $subdomain „$1.“;
set $subdir „$1/“;
set $prefix „$1″;

rewrite ^/(.*)$ /http-bind;
}

# websockets for subdomains
location ~ ^/([^/?&:'“]+)/xmpp-websocket {
set $subdomain „$1.“;
set $subdir „$1/“;
set $prefix „$1“;

rewrite ^/(.*)$ /xmpp-websocket;
}
}

server {
if ($host = meet.meinedomain.de) {
return 301 https://$host$request_uri;
} # managed by Certbot

listen 80;
listen [::];
server_name meet.meinedomain.de;
return 404; # managed by Certbot

}

– dann prüfen wir nochmal mit nginx -t auf Fehler, ist alles OK laden wird nginx reloaded

systemctl reload nginx

systemctl restart nginx

Die letencrypt Installation hat in der cron einen Eintrag hinterlegt, der die Zertifkatserneuerung intervalmäßig ausführt!

Jetzt können wir Jitsi mit https://meet.meinedomain.de starten und unter meinedomain.de den Webspace betreiben.

Es sollte jetzt alles laufen. Dann können wir uns ranmachen an die vielen schönen Modifikationen hier auf der Seite 😉

Viel Spaß mit Jitsi!!

Tobias am 28. November 2020 um 09:17 Uhr

Wow – vielen Dank für ausführliche Ergänzung.

RaHa am 26. November 2020 um 16:09 Uhr

Hallo Tobias,
es sollen nur vorgegebene Konferenznamen zulässig sein.
Wie bekommt man das hin?

Danke & Grüße

Tobias am 28. November 2020 um 09:07 Uhr

Hallo,
dies kann mit der Jitsi Meet API realisiert werden. Dazu muss ein eigener „Start“ programmiert werden.
Tobias

RaHa am 28. November 2020 um 23:35 Uhr

Hallo Tobias,
danke für den Hinweis. Den Artikel hatte ich noch nicht gelesen. ? Schau mir diesen an.

Es habe es inzwischen mit einer map in nginx geschafft auf zulässige Konferenznamen in der URL zu prüfen und in der meet. meinedomain.conf mit einer if-Abfrage umzulenken.

map $request_uri  $isallowed {
~*richtig1* 0;
~*richtig2* 0;
~*richtig3* 0;
default 1;
}

if ($isallowed = 1) {
  Return 301 https://meinedomain.de/keinzugriff.html
}

Funktioniert mit dem Browser, bei Nutzung mit der Jitsi Meet APP dreht sich halt das Rad endlich.

RaHa

RaHa am 10. Dezember 2020 um 08:13 Uhr

Die Map muss so sein, damit es funktioniert. Da Jitsi weitere Aufrufe aus sich heraus macht, die die URL nicht mehr enthalten:

map $request_uri $isallowed {
~*richtig1* 1;
~*richtig2* 1;
~*richtig3* 1;
~*/css/* 1;
~*/libs/* 1;
~*/static/* 1;
~*/connection_optimization/* 1;
~*/fonts/* 1;
~*/images/* 1;
~*/lang/* 1;
~*/prosody-plugins/* 1;
~*/sounds/* 1;
~^/message.html 1;
~*/external_api/* 0;
default 0;
}

Zum Beispiel ist dann nur der Aufruf https://meet.meindomain.de/1202-richtig1-fec9ff50dbcb43c4 zulässig.

Tobias am 14. Dezember 2020 um 16:12 Uhr

Dankeschön für die Ergänzung.

Thomas Ganz am 21. Januar 2021 um 19:54 Uhr

Hallo Tobias, ich habe dank deiner Anleitung nun auch meinen eigenen Jitsi Server. Das ganze System wird, wenn ich das Problem gelöst habe, als eigene Videoplattform für ein Nachilfeinstitut benutzt werden.

Meine Frage wäre, gibt es bereits ein update/code, womit man auch bei einem ipad den Bildschirm teilen kann?

Hintergrund: der Lehrer hat PDF und Bilder Datein, die per ipad geteilt werden sollen, weil der Lehrer beim erklären, markieren und ähnliches in der pdf vornimmt.

Hast du eine Idee?

Grüße
Thomas

Tobias am 23. Januar 2021 um 13:41 Uhr

Hallo Thomas,
bisher funktioniert es mit der iOS App noch nicht. Aber natürlich haben viele Leute Interesse daran und er scheint so, dass die Funktion entwickelt wird. Auf Github gibt es einen interessanten Issue zum Thema iOS App Screen Sahring.
Grüße Tobias

Karl-Heinz Steffens am 25. Januar 2021 um 17:15 Uhr

Hallo Tobias,
vielen Dank für die ausführliche Erklärung. Die Installation klappte auf Anhieb auf meinem angemieteten Server. Von Zuhause können sich mehrere Teilnehmer von verschiedenen Geräten zu einem Meeting zusammen bringen. Das klappt sehr gut. Leider kann sich keiner von einem anderen Standort „richtig“ verbinden. In den jeweiligen Fenstern liest die „Gegenseite“ immer, dass man Audio und Video ausgeschaltet hat, obwohl es bei sich selbst als eingeschaltet angezeigt wird.
Sollte meine Serverkonfiguration nicht ausreichen? Warum geht es von zu Hause mit mehreren Instanzen?
Mein Server:
Typ:Cloud Server M
CPU:2 vCore
RAM:2 GB
SSD:80 GB
Datenübertragungsrate bis zu:400 Mbps
Irgend eine Idee?
LG
Karl-Heinz

Tobias am 26. Januar 2021 um 17:39 Uhr

Hallo Karl-Heinz,
ich vermute mal eine Firewall Einstellung. Schau dir mal das Thema STUN/TURN-Server an. Gehen den andere Instanzen von anderen Standorten aus?
Grüße Tobias

Karl-Heinz Steffens am 29. Januar 2021 um 10:08 Uhr

Hallo Tobias,

habe Jitsi nochmal neu aufgesetzt (nach Jitsi Meet unter Ubuntu 20.04 installieren) und auch mit dem Trickle ICE Tool STUN/TURN getestet. Im Chrome funktioniert es nicht aber im Firefox. Sobald man eine Verbindung aufbauen will ändert sich der Verbindungsstatus von „gut“ auf „verloren“. Eine Bild/Ton-Verbindung kam aber nie zustande.
Ich habe den Zugang zum Server auch mal über 2 LTE-Verbindungen probiert. Das gleiche Verhalten.
Hast Du noch irgendwelche Ideen?
LG
Karl-Heinz

Tobias am 29. Januar 2021 um 19:21 Uhr

Hallo Karl-Heinz,
ich nutze eigentlich ausschließlich Webbrowser auf Chromium Basis. Firefox macht leider immer noch Probleme …
Grüße Tobias

Karl-Heinz Steffens am 30. Januar 2021 um 11:03 Uhr

Hallo Tobias,

Danke für dein Mitdenken. Ich denke es ist ein Problem des Providers meines Servers. Ich habe bei einem anderen Provider mal kostenlos für 48 h einen Server angemietet und den Jitsi-Server aufgesetzt. Deine Anleitung ist perfekt und das hat auf Anhieb funktioniert.
Als ist es kein grundsätzliches Problem.
LG
Karl-Heinz

Schreibe einen Kommentar!

Hilfe zum Kommentieren

Um kommentieren zu können, geben sie bitte mindestens ihren Namen und ihre E-Mail-Adresse an. Bitte nutzen Sie die Kommentarfunktion nicht dazu, andere zu beleidigen oder Spam zu verbreiten. Trolle und Spammer sind hier unerwünscht! Unangemessene Kommentare, die zum Beispiel gegen geltendes Recht verstoßen oder eine Gefährdung anderer Besucher darstellen, werden gelöscht oder angepasst.

Name: Ihr Name, der oberhalb des Kommentars steht, gerne auch Ihren echten Namen, das erleichtert die Kommunikation für alle. Sollte ein Spam-Keyword als Name verwendet werden, kann dieses entfernt oder korrigiert werden.

E-Mail: Ihre E-Mail Adresse dient zur Identifizierung weiterer Kommentare und sie haben die Möglichkeit, ein Avatar-Bild zu verwenden. Dazu müssen Sie mit Ihrer E-Mail Adresse bei Gravatar angemeldet sein. Die E-Mail Adresse wird natürlich nicht veröffentlicht und nicht weitergegeben.

Website: Hier können Sie ihren eigenen Blog bzw. ihre eigene Website eintragen, dadurch wird Ihr Name und Ihr Avatar-Bild verlinkt. Werden rein kommerzielle Angebote offensichtlich beworben, setze ich den Link auf nofollow und unangemessene werden einfach entfernt.

Erlaubte HTML-Tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <hr> <big> <small> <sub> <sup> <u>

Ihre E-Mailadresse wird nicht veröffentlicht. Mit dem Absenden anerkennen Sie die Datenschutzhinweis des Blogs.