BigBlueButton grundlegend anpassen

und auf dem neuesten Stand halten

Zielgruppe Zielgruppe IT-Expert:in IT-Expert:in

Nachdem du BigBlueButton auf deinem eigenen Server installiert hast, gibt es ein paar Dinge, die du anpassen solltest. Im Folgenden zeige ich dir, wie du beispielsweise die Vortragsfolien und den Begrüßungstext im Chat anpassen kannst. Auch zeige ich dir, wie einfach du Updates installierst, und am Ende folgen ein paar Speicherorte von Dateien, die dir bei der Anpassung und Fehlersuche behilflich sind.

* * *

Inhaltsverzeichnis

Updates installieren
Webserver absichern
Standard-Präsentation ändern
Begrüßungstext im öffentlichen Chat anpassen
Aufnahmefunktion serverseitig deaktivieren
TURN- und STUN-Server anpassen
Nützliche Tools und Pfade

Ich möchte BigBlueButton anpassen, habe dabei aber Schwierigkeiten

* * *

Updates installieren

Hinweis
Dieser Schritt ist wichtig und sollte in regelmäßigen Abständen durchgeführt werden.

Beispiel für die Installation von Updates

Um Updates für BigBlueButton zu installieren, kannst du die Paketverwaltung nutzen, die auf Ubuntu-Systemen standardmäßig vorhanden ist. Mit apt update rufst du alle verfügbaren Updates ab und kannst diese anschließend mit apt list --upgradable in einer Liste anzeigen lassen. Das Kommando apt upgrade installiert dann alle verfügbaren Updates. Wenn bei den verfügbaren Updates Pakete mit dem Namen bbb-* dabei sind, empfehle ich dir, den Server nach deren Installation neu zu starten. So stellst du sicher, dass alle Dienste auch nach dem Update wieder korrekt gestartet werden.

* * *

Webserver absichern

Der installierte Webserver nginx ist so eingestellt, dass er bei einem Fehler die installierte Software-Version anzeigt.

404 Fehlerseite vor der Anpassung

Das solltest in der Konfigurationsdatei abstellen, damit potentiellen Angreifern der Versionsstand nicht auf dem Silbertablett serviert wird. Öffne dazu die Datei /etc/nginx/nginx.conf und entferne in Zeile 21 die Raute vor

        server_tokens off;

Starte dann mit systemctl restart nginx den Webserver neu und schon ist die Versionsnummer auf den Fehlerseiten nicht mehr enthalten.

404 Fehlerseite nach der Anpassung
* * *

Standard-Präsentation ändern

Achtung
Diesen Schritt musst du leider nach jedem Update der BigBlueButton-Pakete erneut machen, da die Updates deine Präsentationsfolien wieder mit der Standard-Präsentation überschreiben.

Diese Präsentation lässt sich sehr einfach auswechseln.

Die Standardpräsentation liegt in den Formaten .pdf und .pptx auf dem Server. Um diese auszutauschen, ersetze einfach die beiden folgenden Dateien durch deine Eigenen:

PDF: /var/www/bigbluebutton-default/default.pdf
PPTX: /var/www/bigbluebutton-default/default.pptx

Nach einem Neustart des BigBlueButton-Servers mit dem Befehl bbb-conf --restart werden die Folien standardmäßig im nächsten Meeting angezeigt.

* * *

Begrüßungstext im öffentlichen Chat anpassen

Achtung
Diesen Schritt musst du leider nach jedem Update der BigBlueButton-Pakete erneut machen, sofern du in deinem Begrüßungstext Umlaute verwendest. Die Updates entfernen aus der Konfigurationsdatei die \ für die Unicode-Charakter, womit der Text unbrauchbar wird.

Den rot umrandeten Begrüßungstext kannst du vollständig anpassen.

Bevor du den Inhalt der Konfigurationsdatei änderst, empfehle ich dir, mit folgendem Befehl ein Backup anzulegen:

cp /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties.backup

Öffne anschließend die Datei /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties und passe die folgenden Variablen an. Du kannst hier zum Styling einfaches HTML verwenden:

#
#----------------------------------------------------
# Default welcome message to display when the participant joins the web
# conference. This is only used for the old scheduling which will be
# removed in the future. Use the API to create a conference.
#
# If the message contains characters not in ISO-8859-1 character sets
# they must be properly escaped to unicode characters. An easy way to
# do this is running the native2ascii command setting UTF8 encoding and
# passing this file's path as input and output parameters, e.g.:
#
# native2ascii -encoding UTF8 bigbluebutton.properties bigbluebutton.properties
#
defaultWelcomeMessage=Willkommen zur Konferenz <b>%%CONFNAME%%</b>!<br><br>Wenn du hier noch mehr schreiben magst, darfst du das gerne tun.
defaultWelcomeMessageFooter=Dieser Server wird mit der genialen Open-Source-Software <a href="http://docs.bigbluebutton.org/" target="_blank"><u>BigBlueButton</u></a> betrieben.

Nach einem Neustart des BigBlueButton-Servers mit dem Befehl bbb-conf --restart wird dein Begrüßungstext standardmäßig im nächsten Meeting angezeigt.

Wichtiger Hinweis bei Umlauten
Solltest du in einer der beiden Variablen Umlaute einsetzen, muss die Datei hinterher mit dem Befehl native2ascii konvertiert werden, damit diese korrekt angezeigt werden. Das Programm ist im Paket openjdk-8-jdk-headless enthalten, was du mit folgendem Befehl installierst:

apt install openjdk-8-jdk-headless

Anschließend kannst du die Datei mit folgendem Befehl konvertieren (Achtung, die ursprüngliche Datei wird dabei überschrieben):

native2ascii -encoding UTF8 /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties

Hinterher den Neustart des Servers nicht vergessen:

bbb-conf --restart
* * *

Aufnahmefunktion serverseitig deaktivieren

10.06.2020: Anmerkung von Millesimus
Unter github.com/Millesimus/bbb-privacy findest du das Bash-Script apply-config.sh, was viele der Datenschutz-Probleme von BigBlueButton korrigiert.

Leider zeichnet BigBlueButton designbedingt alle Sitzungen auf – unabhängig davon, ob das gewünscht ist oder nicht. Wenn du die Funktion sowieso nicht benötigst, solltest du sie serverseitig deaktivieren. Das spart dir nebenbei einige Ressourcen in Form von CPU-Leistung. Weitere Informationen zu diesem Thema findest du hier.

Öffne dazu die Datei /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties und passe die folgende Variable an:

disableRecordingDefault=true

Nach einem Neustart des BigBlueButton-Servers mit dem Befehl bbb-conf --restart ist die Aufzeichnungsfunktion für alle Sitzungen deaktiviert.

Info
Alle bisherigen Aufzeichnungen findest du im Ordner /var/bigbluebutton/recording/raw/ und kannst sie dir mit dem Befehl bbb-record --list anzeigen lassen. Sollte der Server schon einige Zeit laufen, kannst du alle dort hinterlegten Aufzeichnungen auf einmal löschen. Beachte, dass dabei alle Aufzeichnungen gelöscht werden, also auch die, die du explizit angefertigt hast.

bbb-record --deleteall
* * *

TURN- und STUN-Server anpassen

Damit Teilnehmer:innen hinter einer Firewall eine Verbindung zum Audio- und Videostream des Servers herstellen können, nutzt man sogenannte TURN- und STUN-Server. Diese kannst du in folgender Datei eintragen:

/usr/share/bbb-web/WEB-INF/classes/spring/turn-stun-servers.xml

Solltest du keinen eigenen Server betreiben (können), dann findest du hier eine öffentliche Liste mit STUN/TURN-Servern. Anleitungen für die Installation eines Servers findest du in den Weiterführenden Links.

Alternativ kannst du einen der folgenden beiden Servern nutzen, mit denen ich gute Erfahrungen gemacht habe:

stun:stun.freeswitch.org
stun:stun.schlund.de

Hier findest du meine Konfiguration aus der Datei turn-stun-servers.xml ohne eigenen TURN- oder STUN-Server:

<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:stun.freeswitch.org"/>
    </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="turn1" class="org.bigbluebutton.web.services.turn.TurnServer">
        Secret:
        <constructor-arg index="0" value="secret"/>
        TURN server URL, use turn: or turns:
        <constructor-arg index="1" value="turn:turn1.example.com"/>
        TTL in seconds for shared secret
        <constructor-arg index="2" value="86400"/>
    </bean-->

    <!--bean id="turn2" class="org.bigbluebutton.web.services.turn.TurnServer">
        <constructor-arg index="0" value="secret"/>
        <constructor-arg index="1" value="turns:turn2.example.com:443"/>
        <constructor-arg index="2" value="86400"/>
    </bean-->

    <bean id="stunTurnService" class="org.bigbluebutton.web.services.turn.StunTurnService">
        <property name="stunServers">
            <set>
                <ref bean="stun1" />
                <!--ref bean="stun2" /-->
            </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>
* * *

Nützliche Tools und Pfade

Zum Schluss noch ein paar nützliche Tools und Pfade für die Administration deines BigBlueButton-Servers.

BigBlueButton-Server neustarten

bbb-conf --restart

Versionsnummern aller BBB-Bestandteile auslesen

bbb-conf --version

Prüfen, ob alle Dienste gestartet sind

bbb-conf --status

Aktuelle Fehler aus den Log-Dateien ausgeben

bbb-conf --debug

Pfad zu den Log-Dateien des Servers

/var/log/bigbluebutton/

Pfad zu den Rohdaten der Aufzeichnungsfunktion

/var/bigbluebutton/recording/raw/

Pfad zu den Audio-Dateien für die Sprachausgabe

/opt/freeswitch/share/freeswitch/sounds/en/us/callie

* * *

Ich möchte BigBlueButton anpassen, habe dabei aber Schwierigkeiten

Ich unterstütze dich gerne bei der Anpassung von BigBlueButton auf deinem eigenen Server.
Schreib mir hierzu einfach über Kontakt, per Telegram oder unten in die Kommentare eine Nachricht.

* * *
* * *

Änderungshistorie

10.06.2020, 11:00 – Ergänzung von Millesimus eingefügt
09.06.2020, 23:00 – Artikel erstellt

* * *
Christian Süßenguth Christian Süßenguth @sweetgood

Hi, ich bin Inhaber der Firma SWEETGOOD. Mit dem andersGOOD Blog möchte ich auch dich für datensichere IT-Lösungen begeistern. So bringst du dein Unternehmen voran, ohne großen Konzernen deine wertvollen Daten zu liefern. Probiers mal anders!


Kommentarbereich

Die Kommentare sind für dich noch deaktiviert, da du dem Setzen von Cookies bisher nicht zugestimmt hast.
Klicke oben rechts auf "Ja, klar!" und lade die Seite neu, um die Kommentare anzuzeigen.

Seite neu laden

👾 Magst du Kekse?

Ich würde gerne Cookies setzen

Ist das OK für dich?