Auf Grund der aktuellen Lage ist der Bedarf an Videokonferenz-Lösungen nach wie vor hoch. Wer aber Wert auf Datenschutz und Privatsphäre legt, macht besser einen großen Bogen um die Programme namhafter Hersteller. Als Alternative gibt es aber bereits etliche Videokonferenz-Systeme, die als Open Source verfügbar sind und selbst gehostet werden können.
In diesem Blog wurden bereits einige dieser Systeme vorgestellt (Nextcloud Talk und Jitsi Meet). Der „Dritte im Bunde“ ist z. Zt. BigBlueButton (kurz: BBB). Dieses Projekt bezeichnet sich selbst als „Open Source Virtual Classroom Software“ – dies macht deutlich, dass BBB vornehmlich als Konferenz-System für Schulen, Universitäten, etc. entwickelt wurde. Nichts desto trotz ist BigBlueButton auch sehr gut für Videokonferenzen abseits des Bildungsbereichs geeignet.
Dieser Artikel beschreibt die Installation von BigBlueButton und gibt einen Einblick in die Konfiguration des Systems. Wie immer stehen hier Datenschutz und Privatsphäre im Vordergrund, es werden aber auch ein paar Tipps und Tricks bei der Konfiguration gezeigt. Am Ende hat man dann ein Videokonferenz-System, welches sowohl um geschäftlichen Umfeld, aber auch für virtuelle Familientreffen oder „Homeschooling“ verwendet werden kann.
Update-Historie (letztes Update: 03.07.2022)- 03.07.2022:
- Anpassungen bzgl. BigBlueButton 2.5
Inhalt
- 1 Voraussetzungen
- 2 Die Komponenten von BigBlueButton
- 3 Vorbereitungen
- 4 Installation BigBlueButton
- 5 Benutzer anlegen und die erste Konferenz starten
- 6 Konfiguration BigBlueButton
- 6.1 Ändern der Konfiguration per Skript
- 6.2 Nutzung einer eigenen coturn-Instanz
- 6.3 Deaktivierung der Aufnahmen
- 6.4 Lern-Analyse deaktivieren
- 6.5 Informationen in den Log-Dateien einschränken
- 6.6 Default-Präsentation ändern
- 6.7 Eigenes Favicon setzen
- 6.8 Eigene Welcome-Message
- 6.9 Nutzung mehrerer Kurento-Instanzen
- 7 Konfiguration Greenlight
- 8 Update von BigBlueButton
- 9 Fazit
- 10 Weiterführende Artikel
- 11 Links
Voraussetzungen
Für BigBlueButton benötigt man zunächst einmal eine Domain, unter das System später erreichbar sein soll. Im Rahmen dieses Artikels nutze ich dafür die beispielhafte Domain bbb.meinedomain.de.
Des weiteren wird noch ein Server benötigt, der folgende Voraussetzungen erfüllen sollte:
- 8 CPU-Kerne
- 16 GB RAM
- 50 GB Speicher (entsprechend mehr, wenn Aufnahmen angefertigt werden sollen)
- Mindestens 250 MBit/s Bandbreite (symmetrisch)
- IPv4 und IPv6 Adresse
- Ubuntu 20.04 LTS
- Optional: coturn als STUN-/TURN-Server
Die konkreten Anforderungen hängen natürlich auch von der geplanten Nutzung des Systems ab: Wenn lediglich Konferenzen mit wenigen Teilnehmern durchgeführt werden, kann der Server vermutlich etwas kleiner dimensioniert werden. Sollen auch Konferenzen mit sehr vielen Teilnehmern möglich sein, sollte der Server natürlich auch ein „paar PS mehr haben“ (CPU und RAM).
Die Bandbreite des Servers spielt bei Videokonferenz-Lösungen immer eine große Rolle. Daher macht der Betrieb eines BBB-Servers hinter einem privaten Internet-Anschluss – auch wenn es technisch möglich wäre – meiner Meinung nach nicht viel Sinn.
Optimal ist hier ein eigener Root-Server für den Betrieb von BigBlueButton. Aus eigener Erfahrung kann ich hier die Server von Netcup (Affiliate-Link) empfehlen.
BigBlueButton besteht aus vielen Komponenten, die auf dem System installiert werden müssen. Daher sollte der Server exklusiv für BBB genutzt werden, d.h. es sollten keine weiteren Anwendungen neben BigBlueButton installiert sein.
Wichtig: Die aktuelle Version von BBB (2.5) setzt zwingend Ubuntu 20.04 LTS voraus. Auch wenn dies nicht die aktuellste Ausgabe von Ubuntu Server ist, ist eine Installation unter Ubuntu Server 22.04 LTS nicht möglich!
Darüber hinaus empfiehlt sich die Nutzung eines eigenen STUN-/TURN-Server (coturn). BigBlueButton nutzt nach der Installation zunächst einmal einen STUN-Server von Google, aber keinen TURN-Server. Für Konferenzen mit Teilnehmern, die sich hinter (restriktiven) Firewalls befinden, wird jedoch ein TURN-Server benötigt, damit Verbindungen über BBB überhaupt zustande kommen. Wie mit coturn ein solcher STUN-/TURN-Server installiert werden kann, wurde bereits im Artikel Nextcloud Talk mit eigenem TURN-Server (coturn) behandelt. Die Anforderungen an coturn sind bei BBB dieselben, so dass eine bereits vorhandene coturn-Instanz ebenfalls von BigBlueButton genutzt werden kann. Idealerweise sollte coturn auf Port 443 betrieben werden – dies sorgt für maximale Kompatibilität, da manche Firewalls so konfiguriert sind, dass diese ausschließlich Traffic auf Port 443 zulassen.
Die Komponenten von BigBlueButton
Bevor es mit der Installation losgeht, sollen nun noch die einzelnen Komponenten von BigBlueButton betrachtet werden. Ich meine damit nun nicht die verwendeten Software-Komponenten oder gar die Architektur von BBB, sondern die drei Komponenten, mit denen Endanwender in Berührung kommen:
- BigBlueButton Server: Dies ist der eigentliche Server, über den Konferenzen laufen. Dieser besitzt keine eigene Oberfläche, sondern bietet lediglich eine REST-API, mit der Konferenzen angelegt und gesteuert werden können.
- HTML5 Client: Dies ist die (Web-)Oberfläche, die man sieht, wenn man einer Konferenz beitritt. Wie der Name schon sagt, basiert diese Oberfläche auf HTML5.
- Frontend (Verwaltungsoberfläche): Zusätzlich wird aber ebenso eine Oberfläche für die Verwaltung der einzelnen Konferenzen benötigt. Erst damit ist man in der Lage, neue Konferenzen anzulegen oder wieder zu löschen. Diese Verwaltungsoberfläche wird standardmäßig nicht mitgeliefert, es gibt hier jedoch mehrere Lösungen, die ein solches Frontend bieten. Die bekannteste ist hier wohl Greenlight: Eine Verwaltungsoberfläche, die von den Machern von BigBlueButton entwickelt wurde. Daneben gibt es aber z.B. auch Frontends, die in andere Software-Lösungen integriert ist, z.B. Nextcloud oder auch Moodle.
Im Rahmen dieses Artikels installieren wir als Verwaltungsoberfläche Greenlight, da dies der De-Facto-Standard bei BigBlueButton ist.
Vorbereitungen
Ausgehend von einer frischen Ubuntu Server 20.04 LTS Installation sollten noch einige Vorbereitungen getroffen werden, so dass die Installation von BigBlueButton später möglichst reibungslos läuft.
Im folgenden benötigen viele Befehle Root-Rechte, die man sich am Anfang am besten dauerhaft einholt:
sudo -s
Zunächst überprüfen wir die Spracheinstellungen:
cat /etc/default/locale
Hier sollte dann folgende Ausgabe erscheinen:
LANG="en_US.UTF-8"
Falls nicht, ist die Spracheinstellung anzupassen:
apt-get install language-pack-en -y update-locale LANG=en_US.UTF-8
Danach muss man sich einmalig am System ab- und wieder anmelden, damit die Änderungen übernommen werden.
Zur Überprüfung kann nun folgender Befehl verwendet werden:
systemctl show-environment
Mit der folgenden Ausgabe ist sicher gestellt, dass alles korrekt eingestellt ist:
LANG=en_US.UTF-8 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
Als nächstes wird überprüft, ob der Server IPv6 unterstützt:
ip addr | grep inet6
Hier sollte dann folgende Ausgabe erscheinen. Falls nicht, sollte zuvor IPv6 am Server aktiviert werden.
inet6 ::1/128 scope host
Installation BigBlueButton
Wie bereits kurz angesprochen, besteht eine BBB-Installation aus unzähligen Software-Paketen. Auch wenn hier eine komplett manuelle Installation möglich ist, wäre diese aber ziemlich aufwändig.
Seit einiger Zeit werden von BigBlueButton aber Installations-Skripte bereit gestellt, welche alle benötigten Schritte automatisch ausführen. Dabei gibt es für jede BigBlueButon-Version ein eigenes Skript.
Die Installation mit diesem Skript wird über folgenden Befehl gestartet:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.5.sh | bash -s -- -v focal-250 -s bbb.meinedomain.de -e mail@meinedoimain.de -w -g
Die Parameter bedeuten hier folgendes:
- -v focal-250: Gibt die zu installierende Version von BigBlueButton an. Mit focal-250 wird die aktuellste 2.5er Version für Ubuntu 20.04 LTS installiert.
- -s bbb.meinedomain.de: Gibt die Domain an, unter der die BBB-Instanz später erreichbar sein soll.
- -e mail@meinedomain.de: Die E-Mail-Adresse, die für die Generierung der TLS-Zertifikate (Let’s Encrypt) genutzt werden soll. Dies muss nicht zwingend eine echte Mail-Adresse sein, aber wenn es mal Probleme mit dem Erneuern der Zertifikate gibt, wird man mit einer echten Mail-Adresse aktiv benachrichtigt.
- -w: Installiert die Firewall ufw und richtet die benötigten Port-Freigaben ein.
- -g: Installiert neben dem BigBlueButton-Server ebenfalls Greenlight als Verwaltungsoberfläche/Frontend.
Neben den erwähnten Parametern gibt es noch ein paar weitere. Eine komplette Liste aller Parameter erhält man, wenn man das Install-Skript nur mit dem Parameter -h aufruft. Alternativ ist auch im entsprechenden GitHub-Repository eine komplette Liste der Parameter zu finden.
Den Befehl zum Installieren sollte man sich an dieser Stelle gleich mal merken, da man diese dann später auch für Updates verwenden kann (s.u.).
Die Installation wird nun vollkommen automatisiert durchgeführt.

Da hier recht viel installiert/konfiguriert wird, kann man sich nun erst einmal einen Kaffee holen: Nach 15-30 Minuten sollte die Installation angeschlossen sein.
Anschließend kann man die Installation überprüfen:
bbb-conf --check
Hier sollte dann folgende Ausgabe erscheinen.

Nun starten wir BigBlueButton auch einmal neu (mit dem Neustart werden auch verschiedene Checks durchgeführt):
bbb-conf --restart
Das Ergebnis sollte dann folgendermaßen aussehen:

Das Wichtigste bei beiden Befehle ist, das unter Potential problems described below nichts angezeigt wird.
Benutzer anlegen und die erste Konferenz starten
Nach der Installation muss nun noch ein erster (Admin-)Benutzer für Greenlight angelegt werden, damit dieser Konferenzen starten kann. Dazu wird der folgende Befehl verwendet:
docker exec greenlight-v2 bundle exec rake user:create["Admin","mail@meinedomain,de","","admin"]
Die Parameter dieses Befehls sind der Benutzername, die E-Mail-Adresse des Benutzers und die Gruppe zu der der Nutzer hinzugefügt werden soll. Für den Benutzer wird dabei das Passwort Administrator1! vergeben.
Nun kann die URL zur eigenen BigBlueButton-Instanz aufgerufen werden:

Mit einem Klick auf Einloggen kann man sich nun mit dem soeben erzeugten Account anmelden.
Wichtig: Da das Passwort des so erzeugten Benutzers immer gleich ist, sollte dieses umgehen nach der ersten Anmeldungh geändert werden.
Anschließend ist die BBB-Instanz schon einsatzbereit.
Man landet hier zunächst mal im automatisch angelegten „Home Room“:

Mit einem Klick auf Starten kann nun direkt die ersten Konferenz gestartet werden. Es folgt der obligatorische Mikrofon-Test, bei dem man entscheiden kann, ob man mit Mikrofon der Konferenz beitreten möchte, oder nur zuhören will. Anschließend befindet man sich in der ersten Konferenz auf dem eigenen BBB-Server.

Alles weitere sollte dann selbsterklärend sein.
Da es in diesem Artikel um die Installation und Konfiguration von BigBlueButton geht (und nicht so sehr um die Nutzung selbst), möchte ich an dieser Stelle an das ausgezeichnete BigBlueButton-Praxishandbuch von Ferdinand Soethe verweisen: Hier wird so gut wie jede Funktion von BBB in verständlicher Wiese erklärt.
Konfiguration BigBlueButton
Die eigene BigBlueButton-Instanz läuft nun also – perfekt!
Jedoch sollten nach der Installation noch einige Einstellungen gesetzt bzw. kontrolliert werden, mit denen BigBlueButton auf die eigenen Bedürfnisse zugeschnitten werden kann. In den folgenden Abschnitten werde ich daher im einzelnen auf diese Optionen eingehen. Wenn eine Einstellung für die eigene Instanz keine Rolle spielen sollte, kann diese auch einfach übersprungen werden.
Ändern der Konfiguration per Skript
Zunächst aber noch ein kleiner Abstecher zur Konfiguration von BigBlueButton. Das System besteht ja aus vielen einzelnen Komponenten und jede dieser Komponenten kann über die entsprechenden Konfigurations-Dateien angepasst werden. Dies ist zunächst etwas mühsam, da viele Dateien verändert werden müssen. Schlimmer noch: Mit jedem Update von BigBlueButton können diese Dateien wieder mit den Standard-Einstellungen überschrieben werden, so dass man nach jedem Update nochmal alles kontrollieren und ggf. anpassen muss.
BigBlueButton bietet daher die Möglichkeit, durch ein zentrales Bash-Skript (welches bei Updates nicht überschrieben wird) sämtliche Konfigurationen/Anpassungen an einer zentralen Stelle vorzunehmen. Dieses Skript ist unter /etc/bigbluebutton/bbb-conf/apply-config.sh zu finden. Es wird empfohlen, Anpassungen am System nur über diese Datei vorzunehmen.
Sämtliche Anpassungen über apply-config.sh werden bei jedem Neustart von BigBlueButton angewendet. Daher muss nach Änderungen an diesem Skript die BBB-Instanz auf jeden Fall neu gestartet werden (bbb-conf –restart).
Ganz am Anfang dieses Skripts wird mittels source eine weitere Datei eingebunden (apply-lib.sh). In dieser Datei (die man nicht verändern sollte) sind viele Variablen bereits vordefiniert, z.B.:
HTML5_CONFIG=/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
Damit wird der Pfad zur Datei angegeben, die Einstellungen für die (HTML5-)Oberfläche beinhaltet. In den folgenden Abschnitten werden wir diese Variablen häufiger nutzen, da man sich somit nicht merken muss, wo die einzelnen Konfigurationen liegen.
Nutzung einer eigenen coturn-Instanz
coturn als STUN-/TURN-Server war ja schon mehrfach Thema dieses Blogs. Einfach gesagt ermöglichst es dieses Programm, dass Teilnehmer einer Konferenz NAT-Grenzen überwinden können, um so überhaupt erst an Konferenzen teilnehmen zu können. Auch wenn nicht zwingend ein STUN-/TURN-Server benötigt wird, ist dies auf jeden Fall empfehlenswert.
Wie coturn installiert werden kann, wurde bereits im Artikel Nextcloud Talk mit eigenem TURN-Server (coturn) beschrieben, daher gehe ich an dieser Stelle nicht mehr auf die Installation/Konfiguration von coturn selbst ein. Am besten nutzen man dazu einen weiteren Server (also nicht die gleiche Maschine, auf der schon BigBlueButton installiert ist). Hier kann man dann gleich coturn so konfigurieren, dass dieser auf Port 443 erreichbar ist – dies sorgt für maximale Kompatibilität (Firmen-Firewalls, die nur Traffic auf Port 443 zulassen).
COTURN_URL="coturn.meinedomain.de" COTURN_PORT="443" COTURN_PASSWORD="coturn-secret" echo "Configure STUN/TURN servers" cat <<HERE > /usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd "> <bean id="stun1" class="org.bigbluebutton.web.services.turn.StunServer"> <constructor-arg index="0" value="stun:$COTURN_URL:$COTURN_PORT"/> </bean> <bean id="turn1" class="org.bigbluebutton.web.services.turn.TurnServer"> <constructor-arg index="0" value="$COTURN_PASSWORD"/> <constructor-arg index="1" value="turns:$COTURN_URL:$COTURN_PORT"/> <constructor-arg index="2" value="86400"/> </bean> <bean id="turn2" class="org.bigbluebutton.web.services.turn.TurnServer"> <constructor-arg index="0" value="$COTURN_PASSWORD"/> <constructor-arg index="1" value="turn:$COTURN_URL:$COTURN_PORT"/> <constructor-arg index="2" value="86400"/> </bean> <!--bean id="stun2" class="org.bigbluebutton.web.services.turn.StunServer"> <constructor-arg index="0" value="stun:stun2.example.com"/> </bean--> <!--bean id="iceCandidate1" class="org.bigbluebutton.web.services.turn.RemoteIceCandidate"> <constructor-arg index="0" value="192.168.0.1"/> </bean--> <!-- Turn servers are configured with a secret that's compatible with http://tools.ietf.org/html/draft-uberti-behave-turn-rest-00 as supported by the coturn and rfc5766-turn-server turn servers --> <bean id="stunTurnService" class="org.bigbluebutton.web.services.turn.StunTurnService"> <property name="stunServers"> <set> <ref bean="stun1" /> </set> </property> <property name="turnServers"> <set> <ref bean="turn1" /> <ref bean="turn2" /> </set> </property> <property name="remoteIceCandidates"> <set> <!--ref bean="iceCandidate1" /--> <!--ref bean="iceCandidate2" /--> </set> </property> </bean> </beans> HERE
Da wir zur Nutzung von coturn die entsprechende Domain, den Port und das coturn-Secret benötigen, werden diese Informationen am Anfang als Variablen hinterlegt. Nur diese müssen an dieser Stelle angepasst werden, der Rest vom Code kann 1:1 übernommen werden.
Nach einem Neustart von BigBlueButton (bbb-conf –restart) nutzt die Instanz am diesem Zeitpunkt den eigenen coturn als STUN- und TURN-Server.
Deaktivierung der Aufnahmen
BigBlueButton bietet die Möglichkeit, Konferenzen aufzuzeichnen. Auch wenn dieses Feature in einigen Fällen sinnvoll ist, ist dies durch die Datenschutz-Grundverordnung (DSVGO) eher problematisch, da ja Aufnahmen von konkreten Personen angefertigt werden. Nun könnte man meinen, dass BigBlueButton nur dann aufzeichnet, wenn der Moderator die Aufnahme startet. Aus technischen Gründen wird allerdings immer im Hintergrund mit aufgezeichnet (Hintergrund-Informationen dazu sind in der offiziellen Dokumentation zu finden). Aus Sicht des Datenschutzes sollte dieses Feature daher deaktiviert werden.
Dies geschieht wieder über die apply-config.sh:
echo "Disable recordings" sed -i 's/disableRecordingDefault=.*/disableRecordingDefault=true/g' $BBB_WEB_CONFIG sed -i 's/breakoutRoomsRecord=.*/breakoutRoomsRecord=false/g' $BBB_WEB_CONFIG echo ""
Lern-Analyse deaktivieren
Man merkt BigBlueButton an mehreren Stellen an, dass es ursprünglich als Lösung für Lernanstalten entwickelt wurde. Dies sieht man auch an den sog. Lern-Analyse. Hier kann man nach Ende einer Konferenz sehen, wer wie lange gesprochen, oder wie viele Reaktionen (z.B. Meldungen) von jedem Teilnehmer gekommen sind.
Aus Sicht des Datenschutzes ist dies eher bedenklich und im geschäftlichen Umfeld ein Feature, welches gar nicht benötigt wird. Daher kann diese Funktion getrost deaktiviert werden. In der apply-config.sh werden dazu folgende Zeilen hinzugefügt:
echo "Disable learning analysis" sed -i 's/#disabledFeatures=.*/disabledFeatures=learningDashboard/g' $BBB_WEB_CONFIG echo "
Informationen in den Log-Dateien einschränken
BigBlueButton ist in der Standard-Einstellung leider sehr gesprächig, wenn es um die Logs der verschiedenen Komponenten geht. Um dem entgegen zu wirken, kann das Logging auf ein Minimum beschränkt werden. Dazu müssen folgende Zeilen in der apply-config.sh hinzugefügt werden:
echo "Logging" sed -i 's/appLogLevel=.*/appLogLevel=Error/g' $BBB_WEB_CONFIG sed -i 's/level:.*/level: error/g' /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml sed -i 's/loglevel =.*/loglevel = "OFF"/g' /etc/bbb-fsesl-akka/application.conf sed -i 's/stdout-loglevel =.*/stdout-loglevel = "OFF"/g' /etc/bbb-fsesl-akka/application.conf echo ""
Default-Präsentation ändern
Bei BigBlueButton wird standardmäßig immer eine Präsentation angezeigt. Diese ist recht allgemein gehalten und man möchte diese evtl. durch eine eigene Präsentation ersetzen, vielleicht mit dem eigenen Logo und einem individuellem Text. In diesem Fall sollte man eine eigene PDF-Datei erstellen, die man anschließend (z.B. per scp) auf den Server überträgt. In diesem Beispiel liegt die Präsentation unter /root/default.pdf. Damit die eigene Präsentation nun anstatt der Standard-Präsentation angezeigt wird, muss eine Datei ersetzt werden. Dies kann wiederum in der apply-config.sh vorgenommen werden:
echo "Setting default presentations" cp /var/www/bigbluebutton-default/default.pdf /var/www/bigbluebutton-default/default.pdf.bak cp /root/default.pdf /var/www/bigbluebutton-default/default.pdf echo ""
Die BBB-Präsentation wird dabei vorher gesichert, falls man doch mal wieder auf die Standard-Präsentation zurückgreifen will.
Eigenes Favicon setzen
Ein eigenes Favicon kann man ähnlich am System einbringen, wie dies schon mit der Präsentation gemacht wurde. Wieder übertragen wir das gewünschte Favicon auf den Server und binden dieses dann über die apply-config.sh ein:
echo "Setting favicon" cp /var/www/bigbluebutton-default/favicon.ico /var/www/bigbluebutton-default/favicon.ico.bak cp /root/favicon.ico /var/www/bigbluebutton-default/favicon.ico echo ""
Eigene Welcome-Message
BigBlueButton begrüßt die Teilnehmer mit einer „Welcome-Message“ im öffentlichen Chat (auf den Screenshots weiter oben gut zu erkennen). Da diese Meldung auch sehr allgemein gehalten ist, möchte man hier vielleicht eine persönlichere Welcome-Message anzeigen lassen. Folgendes ist dazu in der apply-config.sh hinzuzufügen:
echo "Set welcome messages" sed -i 's/defaultWelcomeMessage=.*/defaultWelcomeMessage=Willkommen beim Konferenz-System von <a href="https:\/\/meinedomain.de" target="_blank">meinedomain.de<\/a>./g' $BBB_WEB_CONFIG sed -i 's/defaultWelcomeMessageFooter=.*/defaultWelcomeMessageFooter=<a href="https:\/\/meinedomain.de\/datenschutz" target="_blank">Datenschutzbestimmungen<\/a> zur Nutzung dieses Konferenz-Systems/g' $BBB_WEB_CONFIG echo "
Wie hier zu sehen ist, empfiehlt es sich, an dieser Stelle gleich noch Links auf Datenschutz/Impressum mit aufzuführen (im „WelcomeMessageFooter“), dann sind diese für neue Teilnehmer immer sichtbar und man sollte rechtlich auf der sicheren Seite sein.
Nutzung mehrerer Kurento-Instanzen
Eine weitere Änderung, die man hier gleich durchführen kann, ist die Nutzung mehrerer Kurento-Instanzen. Kurento ist der Medienserver, der Audio- Video- und Screensharing-Streams behandelt. In der Standard-Einstellung wird eine Kurento-Instanz verwendet, um alle drei Stream-Arten zu verwalten. Man kann die Stabilität der einzelnen Streams weiter erhöhen, indem man jeweils eine eigene Kurento-Instanz pro Stream-Art verwendet.
Dazu gib es in der apply-lib.sh bereits eine vorhandene Funktion, die man in der apply-config.sh einfach aufrufen kann:
echo "Enabling multiple Kurentos" enableMultipleKurentos echo ""
Dies waren nur ein paar Einstellungen, die man bei BigBlueButton ändern bzw. an die eigenen Bedürfnisse anpassen kann. Es gibt hier jedoch viele weitere Optionen. Eine gute Übersicht hierzu findet man in der offiziellen Dokumentation.
Bei allen Änderungen an der apply-config.sh muss die BBB-Instanz einmal komplett neu gestartet werden, damit die Änderungen übernommen werden:
bbb-conf --restart
Konfiguration Greenlight
Neben den Einstellungen zu BigBlueButton selbst, kann ebenfalls die Verwaltungs-Oberfläche Greenlight angepasst werden.
Registrierung deaktivieren
Nach der Installation ist die BigBlueButton-Instanz zunächst so eingerichtet, dass sich auch andere User über Greenlight registrieren können, um eigene Konferenzen zu erstellen. Wer die Instanz eher privat betreiben möchte, kann die Registrierung neuer Benutzer einfach deaktivieren.
Dazu ist das sog. .env-File zu bearbeiten:
nano /root/greenlight/.env
Mit dem Setzen der folgenden Variable auf false kann die Registrierung deaktiviert werden:
ALLOW_GREENLIGHT_ACCOUNTS=false
In diesem Fall wird u.a. die Button zur Registrierung neuer Benutzer an der Oberfläche von Greenlight komplett ausgeblendet.
Um die Änderungen zu übernehmen, ist die BBB-Instanz einmal neu zu starten:
bbb-conf --restart
Anpassung der Benutzeroberfläche von Greenlight
Um die Benutzeroberfläche anzupassen, klickt man einfach auf den Namen des eigenen (Admin-)Users in der rechten oberen Ecke und anschließend auf Organisation:

Hier sind v.a. die Grundeinstellungen interessant:

Folgende Punkte sollte man sich hier mal ansehen und ggf. anpassen:
- Darstellung:
- Logo: Das zu verwendende Logo, welches oben Links angezeigt wird. Hier ist kein Upload o.ä. möglich, man muss einen Link zu einem Bild angeben, welches man zuvor z.B. auf einen Webspace hochgeladen hat.
- Primäre Farbe: Hier kann die Farbgebung von BBB angepasst werden.
- Administration:
- Impressum: Link zum Impressum des Betreibers.
- Datenschutzerklärung: Link zu Datenschutzerklärung. Impressum und Datenschutzerklärung werden kann bei Greenlight ganz unten verlinkt.
- Log-Level: Hier sollte man die Option Fatal nutzen, damit möglichst wenige Informationen geloggt werden (nur schwere Fehler).
Änderungen in diesem Menüs werden sofort übernommen, so dass kein Neustart von BigBlueButton notwendig ist.
Update von BigBlueButton
Updates sind bei BigBlueButton recht einfach durchzuführen.
Minor-Updates (also z.B. von Version 2.5.0 auf 2.5.1) kann man einfach wie normale Paket-Updates des Betriebssystems einspielen:
apt update && apt upgrade -V
Alternativ kann auch das Installations-Skript nochmals aufgerufen werden:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.5.sh | bash -s -- -v focal-250 -s bbb.meinedomain.de -e mail@meinedoimain.de -w -g
Wichtig ist hier, dass das Skript mit genau den gleichen Parametern aufgerufen wird, wie schon bei der initialen Installation.
Major-Updates (z.B. Version 2.4 auf 2.5) sollte man immer durch das Skript installieren. In diesem Fall ist allerdings die Versions-Nummer beim Aufruf des Skripts anzupassen: Wenn beispielsweise ursprünglich BBB 2.4 installiert wurde (-v bionic-24), muss dieser Parameter auf die aktuelle Version angepasst werden (-v focal-250).
Hinweise für Updates, die eine neuere Version von Ubuntu benötigen
Eine bestimmte Version von BigBlueButton benötigt auch immer eine bestimmte Version des Ubuntu-„Unterbaus“: BBB 2.4 hatte hier z.B. Ubuntu 18.04 LTS als Voraussetzung, ab Version 2.5 wird Ubuntu 22.04 LTS benötigt. Wenn in Zukunft ein Update eine neuere Version von Ubuntu erfordert, ist es meistens nicht empfehlenswert, das Update (Ubuntu und BBB) durchzuführen, sondern den Server mit der neueren Ubuntu-Version neu aufzusetzen und BigBlueButton wieder „frisch“ zu installieren. Diese Variante führt meistens schneller zum Ziel.
Damit die Einstellungen aus der alten in die neue Installation übernommen werden, sind hier vorab folgende Dateien/Verzeichnisse zu sichern:
- Das Konfigurations-Skript /etc/bigbluebutton/bbb-conf/apply-config.sh
- Die Greenlight-Konfiguration: /home/<user>/greenlight/.env (der Benutzername entspricht dem User, unter dem BBB installiert wurde)
- Die Datenbank von Greenlight: /root/greenlight/db
Diese drei Dateien bzw. Verzeichnisse sollte man sich vor der Neuinstallation des Server sichern, um sie nach der Installation der neueren Ubuntu-Version und BigBlueButton auf dem neuen System wiederherstellen zu können.
Fazit
Der Artikel hat gezeigt, die man BigBlueButton als Videokonferenz-System schnell und unkompliziert installieren kann. Darüber hinaus wurde die grundlegende Konfiguration des Systems gezeigt, so dass das System schnell an die eigenen Bedürfnisse angepasst werden kann. Die Konfiguration wurde dabei so konzipiert, dass diese auch nach einem Update von BigBlueButton automatisch wieder angewendet wird.
Mit BigBlueButton wurden hier im Blog nun neben Nextcloud Talk und Jitsi Meet schon drei quelloffene und datenschutzfreundlichen Videokonferenz-Systeme beleuchtet. Jedes System hat dabei seine eigene Fan-Gemeinde.
Betreibt ihr auch schon euren eigenen Videokonferenz-Server? Welches System ist hier euer Favorit? Und wäre BigBlueButton für euch hier eine gängige Alternative? Hinterlasst mir dazu doch einfach einen Kommentar!
Weiterführende Artikel
- Nextcloud Talk mit eigenem TURN-Server (coturn)
- Nextcloud Talk mit eigenem Signaling-Server (High Performance Backend)
- Jitsi Meet: Videokonferenz-System unter Ubuntu Server mit nginx
- Docker auf Ubuntu Server
Hallo Jan,
ich betreibe seit einiger Zeit eine BBB-Instanzen für ein Verein.
Die nächste Version von BBB 2.5 (noch Beta) basiert auf Ubuntu 20.04 LTS.
Da werden ich wahrscheinlich neuen Server nehmen und BBB neu installieren.
Sie haben noch kein offizielles Backup & Restore Skript aber soviel muss man auch nicht mitnehmen (greenlight-Ordner und die Präsentations-Aufnahmen)
Da ist auch ein Docker-Stack für die Statistik (https://github.com/greenstatic/bigbluebutton-exporter)
Das läuft bei mir auf dem gleich Server wie BBB und ich habe damit soweit keine Probleme.
So kann ich vor einem Update kurz schauen, ob da noch was los ist.
Da ist noch https://opentalk.eu/de (auf den letzten Chemnitzer Linux-Tagen vorgestellt)
Werde mir das bestimmt auch mal anschauen wenn das soweit alles public ist.
Gruss
Tom
Hi Tom,
ja, BBB ist – was Updates angeht – eher ein „Wegwerf-Produkt“. Ich denke auch, dass es sehr viel länger dauert, wenn man erst die Distribution und dann BBB updaten muss, anstatt den Server einfach „platt zu machen“ und hier nur das Notwendigste mitnimmt.
Das mit dem BBB-Exporter kommt bestimmt auch noch in einem Blog-Beitrag. ;-)
Gruß,
Jan
Danke für den ausführlichen Artikel. Neben der klassischen Installation bietet BBB auch eine Docker-Installation an, siehe https://github.com/bigbluebutton/docker
Ausserdem möchte ich an dieser Stelle auch noch auf die Ansible-Rolle hinweisen, welche – soweit ich weiss – auch von Senfcall verwendet wrid. Die ist hier zu finden: https://github.com/ebbba-org/ansible-role-bigbluebutton
Hallo,
ich bin über eine andere Webseite auf Sie gestoßen und habe gesehen, dass sie für BigBlueButton eine Anleitung haben.
Ich muss für meine Master These in BigBlueButton ein 2D Soundsystem implementieren. Das bedeutet, dass ich in BigBlueButton entwickeln möchte.
Leider habe ich keine IP-Adresse bzw. Vodafone meint mir eine gegeben zu haben und kann mir nicht sagen wie sie lautet.
Aus diesem Grund kann ich BigBlueButton nicht auf meinen Rechner installieren.
Alternativ gibt es die Möglichkeit docker zu verwenden. Da kann ich BigBlueButton aufrufen und sollte local funktionieren. Das Problem ist, ich weiß leider nicht wie ich darin entwickeln kann.
Ich habe habe über SSH zugriff auf das BigBlueButton-html5 Verzeichnis und habe da nur die Farbe vom body Tag verändert, allerdings hat das keine Auswirkung auf die laufende Applikation.
Könnten Sie mir weiterhelfen?
LG Dennis Semke
Hallo Dennis,
also zur Entwicklung von BBB kann ich leider nichts sagen, hier sollte der Development Guide allerdings weiter helfen.
Ich vermute aber mal, dass du einen DS-Lite-Anschluss von Vodafone bekommen hast und somit keine „echte“ IPv4-Adresse hast. Bei DS-Lite wird IPv4-Traffic über IPv6 geroutet. Damit ist der Betrieb von Webdiensten auf dem eigenen Anschluss eigentlich nicht möglich (oder nur mit extremen Aufwand). Ob du DS-Lite hast, kann dir aber vermutlich nur Vodafone sagen.
Hier würde es sich beispielsweise anbieten, einen externen Server bei einem Provider zu mieten und diesen dann für dein Vorhaben zu verwenden. Hier sollte auch ein kleinerer V-Server ausreichend sein.
Wegen Änderungen an der Konfiguration: Best practice ist hier, das immer nur über die
apply-config.sh
zu machen (wie hier beschrieben). Die meisten Einstellungen erfordern dann noch einen Neustart von BBB bzw. aller damit verbundenen Dienste.Ich hoffe, dass dir das schon mal weiter hilft.
Gruß,
Jan