BigBlueButton: Installation und Grundkonfiguration

BigBlueButton Logo

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.

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 18.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.4) setzt zwingend Ubuntu 18.04 LTS voraus. Auch wenn dies nicht die aktuellste Ausgabe von Ubuntu Server ist, ist eine Installation unter Ubuntu Server 20.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 18.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 wird von BigBlueButton aber ein Installations-Skript bereit gestellt, welches alle benötigten Schritte automatisch ausführt.

Die Installation mit diesem Skript wird über folgenden Befehl gestartet:

wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v bionic-24 -s bbb.meinedomain.de -e mail@meinedomain.de  -w -g

Die Parameter bedeuten hier folgendes:

  • -v bionic-24: Gibt die zu installierende Version von BigBlueButton an. Mit bionic-24 wird die aktuellste 2.4er Version für Ubuntu 18.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.

BigBlueButton: Installation
BigBlueButton: Installation

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.

BigBlueButton: Überprüfen der Konfiguration
BigBlueButton: Überprüfen der Konfiguration

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:

BigBlueButton: Neustart
BigBlueButton: Neustart

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","my@email.com","!meiNp4ssw0rD$","admin"]

Die Parameter dieses Befehls sind der Benutzername, die E-Mail-Adresse des Benutzers, das Passwort und die Gruppe zu der der Nutzer hinzugefügt werden soll.

Nun kann die URL zur eigenen BigBlueButton-Instanz aufgerufen werden:

BigBlueButton mit Greenlight
BigBlueButton mit Greenlight

Mit einem Klick auf Einloggen kann man sich nun mit dem soeben erzeugten Account anmelden und schon ist die BBB-Instanz einsatzbereit.

Man landet hier zunächst mal im automatisch angelegten „Home Room“:

BigBlueButton: Der "Home Room"
BigBlueButton: Der „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.

BigBlueButton: Die erste Konferenz
BigBlueButton: Die erste Konferenz

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/learningDashboardEnabled=.*/learningDashboardEnabled=false/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 (hier muss noch der Username anpasst werden, unter dem Greenlight bzw. BigBlueButton installiert wurde):

nano /home/<user>/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:

Greenlight: Organisationseinstellungen
Greenlight: Organisationseinstellungen

Hier sind v.a. die Grundeinstellungen interessant:

Greenlight: Grundeinstellungen
Greenlight: Grundeinstellungen

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.4.4 auf 2.4.5) 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.sh | bash -s -- -v bionic-24 -s bbb.meinedomain.de -e mail@meinedomain.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.3 auf 2.4) 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.3 installiert wurde (-v bionic-23), muss dieser Parameter auf die aktuelle Version angepasst werden (-v bionic-24).

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.2 hatte hier z.B. Ubuntu 16.04 LTS als Voraussetzung, ab Version 2.3 wird Ubuntu 18.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: /home/<user>/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

3 Kommentare zu „BigBlueButton: Installation und Grundkonfiguration“

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

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

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht.