BigBlueButton

Eine selbstgehostete GoToWebinar-Alternative

Hinweis
Dieser Artikel gilt für BigBlueButton 2.2.x.

Aktualisierte Version verfügbar
Von diesem Blogartikel ist eine aktualisierte Version für BigBlueButton 2.6 verfügbar

In diesem Beitrag zeige ich dir, wie du die OpenSource-Webkonferenz-Software BigBlueButton auf einem eigenen Server installierst und anschließend einrichtest. Die Software ist ideal im Bildungs-Bereich und für Webinare einsetzbar. Sie stellt außerdem eine gute Alternative zu Zoom dar.

Tutorial geprüft
Das Tutorial wurde am 24.09.2020 erfolgreich geprüft und funktioniert auch mit der neuesten Version Ubuntu 16.04.7 LTS und der hier beschriebenen Vorgehensweise.

* * *

Update 10.06.2020
Zwischenzeitlich gibt es einige Anbieter, die dir BigBlueButton-Instanzen kostenfrei zur Verfügung stellen:

Und hier ein paar Angebote für das Hosting von BigBlueButton-Instanzen:

* * *

Inhaltsverzeichnis

Demo
Was du dafür brauchst
Schritt 1: Ubuntu-Server 16.04.7 als Betriebssystem installieren
Schritt 2: Erster Login und Ubuntu-Updates
Schritt 3: Installation von BigBlueButton
   Anmerkungen, bekannte Fehler und meine Erfahrungen
      Kein Videobild / keine Bildschirmfreigabe bei Teilnehmern
      Können Teilnehmer jeden Browser nutzen?
      Wie viele Teilnehmer kann ich mit dem System bedienen?
Ich möchte BigBlueButton installieren, habe dabei aber Schwierigkeiten
Weiterführende Links

* * *

Demo

Eine vollständige Demo findest du unter demo.bigbluebutton.org, allerdings musst du dich hier vorher registrieren.

Achtung: Hier ist Google reCAPTCHA vorgeschaltet!

Ich empfehle dir die Testseite unter test.bigbluebutton.org, wo du mit Eingabe eines Nickname temporär einen Meeting-Raum mit dir als Teilnehmer erstellst.

Wenn du dir lieber vorab ein Video der Anwendung ansehen möchtest (leider nur auf Englisch):
BigBlueButton overview for viewers / students
BigBlueButton overview for moderator/presenters

* * *

Was du dafür brauchst

  • einen eigenen Server / VPS bei einem Provider (z.B. netcup oder Hetzner)
    • Empfehlung: mind. 4GB RAM (besser 8GB) und 4 CPU-Kerne
    • idealerweise sollte dieser nur für BigBlueButton genutzt werden (Quelle)
  • eine öffentliche IP-Adresse (IPv4 oder IPv6)
  • eine (Sub-)Domain, unter der der Server per HTTPS erreichbar sein soll
  • ca. 60 Minuten Zeit
* * *

Schritt 1

Ubuntu-Server 16.04.7 als Betriebssystem installieren

Für das Tutorial habe ich das System in einer vmware ESXI Umgebung aufgesetzt.

Als ISO-Image, von welchem ich die virtuelle Maschine boote, verwende ich das Ubuntu Server 64bit install image: ubuntu-16.04.7-server-amd64.iso

Die virtuelle Maschine in ESXi einschalten und das erste Mal hochfahren.

Installation Schritt für Schritt

Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten. Die Beschreibung steht jeweils unterhalb der Bilder.

Sprachauswahl

Bevor der Installer startet, musst du die gewünschte Sprache auswählen. Ich fahre mit "Deutsch" fort.

Installation starten

Mit "Ubuntu-Server installieren" startest du die Installation.

Sprachauswahl bestätigen

Mit "Ja" bestätigst du, dass du den Installer auf Deutsch nutzen möchtest.

Standort

Als Standort wähle ich hier "Deutschland" aus.

Tastaturmodell erkennen

Da ich das Tastaturmodell selbst aus einer Liste auswählen möchte, wähle ich hier "Nein".

Tastatur-Sprache

Als Sprache für die Tastatur wähle ich "German".

Tastatur-Layout

Und als Layout für die Tastatur ebenfalls "German"

Vorbereiten der Installation

Nun startet der Installer mit den nötigen Vorbereitungen.

Rechnername

Als Rechnername kannst du hier eintragen, was du möchtest. Ich habe "MWBIBLBU01" gewählt

Vollständiger Name des Benutzers

Hier kannst du den vollständigen Namen des Benutzers eintragen (der Benutzername folgt im nächsten Schritt).

Benutzername

Trage nun den Benutzernamen ein, mit dem du dich am Server einloggen möchtest.

Passwort

Und das dazugehörige Passwort für den Benutzer

Passwortbestätigung

Zur Bestätigung das Passwort ein zweites Mal eingeben

Ordner verschlüsseln

Die Frage nach der Ordnerverschlüsselung bestätige ich mit "Nein".

Uhr und Zeitzone

Der Installer hat die Zeitzone bereits korrekt erkannt, daher bestätige ich mit "Ja".

LVM einrichten

Du kannst je nach Installationssituation durchaus eine der anderen Optionen wählen. Ich möchte in diesem Fall die gesamte Festplatte nutzen und LVM einrichten.

Festplatte wählen

Die Festplatte auswählen, auf der Ubuntu-Server installiert werden soll

Änderungen speichern

Die Angaben genau prüfen und mit "Ja" bestätigen, wenn sie korrekt sind.

Partitionierung

Der vorgegebene Anteil ist bereits die gesamte Festplatte, ich bestätige also mit [ENTER].

Änderungen speichern

Die Angaben wieder genau prüfen und mit "Ja" bestätigen, wenn sie korrekt sind.

Vorbereitung

Nun wird die Installation vorbereitet. Das kann eine Weile dauern.

HTTP-Proxy

Solltest du einen HTTP-Proxy für die Internetverbindung benötigen, kannst du diesen hier eintragen.

Installation startet

Nun startet die Installation. Das kann wieder eine Weile dauern.

Aktualisierungen

Hier kannst du wählen, ob du Aktualisierungen selbst einspielen möchtest, oder der Ubuntu-Server das automatisch erledigen soll.

Softwareauswahl

Bei der Softwareauswahl wähle ich mit [LEERTASTE] noch den "OpenSSH server" aus, da ich mich darüber später mit dem Server verbinden möchte.

Bootloader

Mit "Ja" bestätige ich, dass ich GRUB als Bootloader installieren möchte.

Installation abgeschlossen

Und schon ist Ubuntu-Server installiert. Bitte denke daran, die ISO-Datei wieder aus dem (virtuellen) Laufwerk zu nehmen, um die Installation nicht erneut zu starten.
Bebilderte, schrittweise Anleitung zur Installation von Ubuntu-Server 16.04.7
* * *

Schritt 2

Erster Login und Ubuntu-Updates

Nachdem die Maschine einmal neu gestartet hat, wirst du direkt mit dem Login-Screen begrüßt. Gib nun den Benutzernamen und das Passwort ein, welches du zuvor im Installations-Assistenten angegeben hast. Wenn alles richtig eingegeben wurde, erscheint folgender Begrüßungs-Bildschirm.

Updates für Ubuntu Schritt-für-Schritt

Hinweis: Starte die Bilderstrecke, indem du auf eines der Bilder klickst. Navigieren kannst du dann mit den Pfeiltasten oder durch Wischgesten.

Updates abrufen

Mit dem Befehl sudo apt update rufst du alle verfügbaren Updates vom Server ab. Gib dann das Kennwort ein, welches du auch zum Login verwendet hast.

Upgrade durchführen

Daraufhin siehst du, wie viele Aktualisierungen verfügbar sind. Mit sudo apt upgrade installierst du die verfügbaren Updates.

Sicherheitsabfrage

Bevor die Update-Installation beginnt, werden alle Pakete noch einmal angezeigt, und du musst den Vorgang mit [ENTER] bestätigen.

Updates werden installiert

Die Installation kann eine Weile dauern

Neustart

Nach dem erfolgreichen Abschluss der Installation muss das System wegen des Kernel-Updates mit reboot neugestartet werden.
Bebilderte Schritt-für-Schritt-Anleitung zur Installation von Updates
* * *

Schritt 3

Installation von BigBlueButton

Nachdem die Maschine neu gestartet ist, logge dich wieder ein. Gib daraufhin den Befehl sudo su ein, um dich als root-Benutzer einzuloggen.

Das Installations-Script von BigBlueButton funktioniert nur mit vollen Rechten, da zahlreiche Software nachinstalliert wird.

Nach dem Login mit sudo su als root-Benutzer einloggen.

Bevor wir den Installations-Befehl ausführen, noch ein paar Details zu den verwendeten Parametern.
Detaillierte Infos zum Installations-Script bbb-install.sh findest du hier:
github.com/bigbluebutton/bbb-install

Der Installations-Befehl für BigBlueButton lautet (die Domainnamen bitte anpassen):

wget -qO- https://ubuntu.bigbluebutton.org/bbb-install.sh | bash -s -- -v xenial-22 -s bbb.deinedomain.de -e admin@deinedomain.de -g
Parameter Beschreibung
-v xenial-22 Installiert die aktuelle Version 2.2.N von BigBlueButton
-s bbb.deinedomain.de Die (Sub-)Domain, unter der der Server von außen erreichbar ist
-e admin@deinedomain.de E-Mailadresse für das SSL-Zertifikat von Let's Encrypt
-g Installiert auch die Weboberfläche Greenlight

Alle Parameter: github.com/bigbluebutton/bbb-install#command-options

Die Installation dauert je nach Internetverbindung ca. 5–10 Minuten.

Abschluss der Installation

Hat alles geklappt, zeigt der Installer ggf. aufgetretene Probleme und wichtige Hinweise an.

Nach erfolgreichem Abschluss der Installation zeigt der Installer evtl. aufgetretene Fehler und wichtige Hinweise an

Du erreichst die Greenlight-Admin-Oberfläche nun direkt über die von dir an das bbb-install-Script übergebene (Sub-)Domain. Die Oberfläche sollte direkt per HTTPS erreichbar sein. Um dich einzuloggen, musst du allerdings noch ein Administrator-Konto anlegen.

Administrator-Konto anlegen

Mit dem Befehl

docker exec greenlight-v2 bundle exec rake admin:create

erstellst du das Administrator-Konto. Die Zugangsdaten für dieses Konto werden dir nach dem Absenden des Befehls in der Konsole angezeigt.

Sie lauten: admin@example.com und administrator

Ändere das Passwort direkt nach dem ersten Login in der Weboberfläche!

Mit dem Befehl docker exec greenlight-v2 bundle exec rake admin:create erstellst du das Administrator-Konto.
Wenn alles geklappt hat, erscheint nach Eingabe deiner (Sub-)Domain die Greenlight-Weboberfläche.

Wie du BigBlueButton grundlegend anpassen kannst, findest du hier. Bei Fragen oder Feedback hinterlasse mir unten gerne einen Kommentar oder schreib mir direkt eine Nachricht. Ich freue mich von dir zu hören.

* * *

Anmerkungen, bekannte Fehler und meine Erfahrungen

DEPRECATION WARNING
Die Meldung zu Node.js während der Installation kann ignoriert werden. Im nächsten Release von BigBlueButton wird das Update für Node.js mitgeliefert. Quelle: github.com/bigbluebutton/bbb-install/issues/109

bbb-install: DNS lookup for bbb.deinedomain.de resolved to WW.XX.YY.ZZ but didn't match local 192.168.5.11
Diese Meldung tritt auf, wenn du den Server (virtualisiert) hinter einer NAT-Firewall betreibst und die (Sub-)Domain auf die öffentliche IP-Adresse auflöst, diese aber dem Server nicht direkt zugewiesen ist. Sobald du in der Datei /etc/network/interfaces die öffentliche IP als weitere IP-Adresse hinzufügst, funktioniert auch das Installations-Script.
Hierzu wie in der folgenden Grafik die Kommentare vor den unteren sieben Zeilen entfernen, die IP-Adressen und ggf. den Namen der Netzwerkschnittstelle anpassen (enps192) und die Datei abspeichern.

In der Datei /etc/network/interfaces die öffentliche IP als zusätzliche IP hinzufügen

404 Not Found nach einem Serverneustart
Dieses Problem scheint direkt mit dem Greenlight-Docker-Container zusammenzuhängen. Mit dem Befehl bbb-install als Benutzer root startest du den besagten Docker-Container neu. Dann funktioniert die Greenlight-Oberfläche wieder, allerdings nur bis zum nächsten Serverneustart.

Alternativ kannst du mit folgendem Befehl (als root) den Greenlight-Container auch direkt neustarten:

cd /root/.greenlight ; docker-compose down ; docker-compose up -d

Weitere Infos: github.com/bigbluebutton/bbb-install/issues/122

Kein Videobild / keine Bildschirmfreigabe bei Teilnehmern

Dann sind entweder die Firewall-Regeln nicht korrekt gesetzt oder du musst die Angabe zum STUN-Server händisch anpassen. Geöffnet sein müssen laut Doku folgende Ports: TCP 80, TCP 443 und UDP 16384-32768. Die Einstellungen des STUN-Servers findest du in der Datei /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini als Parameter stunServerAddress und stunServerPort. Für die stunServerAddress muss zwingend eine IP-Adresse eingetragen werden, ein Hostname wird audrücklich nicht unterstützt.
Weitere Infos findest du in der Dokumentation.

Öffentliche Listen mit STUN-Servern findest du hier und hier. Ich habe bei mir mit stun.schlund.de und Port 3478 gute Erfahrungen gemacht.
Die voreingestellten STUN-Server von Google nutze ich nicht.

Um einen STUN-Server zu testen, findest du unter webrtc.github.io/samples/src/content/peerconnection/trickle-ice ein geeignetesTool.
Damit der Server mit BigBlueButton funktioniert, muss er beim Test mit dem Tool mindestens einen Eintrag vom Type srflx zurückgeben.

Können Teilnehmer jeden Browser nutzen?

Prinzipiell ja, nur Internet Explorer / Edge werden ausdrücklich nicht unterstützt. Mit Firefox, Chromium (oder Chrome) funktioniert es einwandfrei. Lediglich Safari scheint nach den Ergebnissen von HostSharing eG noch leichte Probleme zu haben. Alle gängigen Smartphone-Browser funktionieren ebenfalls.

Wie viele Teilnehmer kann ich mit dem System bedienen?

Das hängt davon ab, wie viele Teilnehmer den Audio- und Videostream aktiviert haben. Die HostSharing eG hat das vor kurzem mit realen Personen getestet. Hier findest du Ihre Test-Ergebnisse und die Erkenntnisse daraus: Zoom Alternative BigBlueButton™️ im Praxistest [30. März 2020].

Um die Lastgrenzen bezogen auf die Teilnehmeranzahl für dein System herauszufinden, kannst du deinen Server mit folgendem Script einem Lasttest unterziehen: bbb-test

Ergänzung vom 17.11.2020
Weitere Erfahrungswerte für die Entwicklung der Serverlast und der Bandbreite in Abhängigkeit der Teilnehmerzahl. Diesmal auf einem RS 2000 G9 V-Server von netcup (Preis / Monat: 15,60 €):

Nach meinen Berechnungen wäre dieser Server bei einem Meeting mit rund 40-50 Teilnehmern + aktivierten Webcams voll ausgelastet.

Meeting mit 13 Teilnehmer:innen jeweils mit aktivierter Webcam (kurzzeitig eine davon in HD), Audio und einer Bildschirmfreigabe:

Die benötigte Bandbreite liegt bei 13 aktivierten Webcams zwischen 250 MB und 350 MB. Mit jeder aktivierten Webcam steigt der Trafficbedarf im Verhältnis zur Teilnehmer-Zahl an. Außerdem sieht man gut, wieviel Traffic durch ein Reduzieren der Webcam-Qualität gespart werden kann.

Die CPU-Last verhält sich beinahe direkt proportional zur benötigten Bandbreite. Der Server ist bei rund 900mOP/s zu 100% ausgelastet. Das heißt, die CPU-Last beträgt bei dieser Teilnehmerzahl ohne Aufzeichnungsfunktion rund 25-30%.

Die verbaute SSD verzeichnet dank serverseitig deaktivierter Aufzeichnungsfunktion nur geringe Lastschwankungen.

* * *

Ergänzung vom 03.06.2020
Nach ausführlichen Tests auf meinem eigenen Server kann ich zu den Teilnehmerzahlen und der Last nun genauere Angaben machen. Dem virtualisierten BigBlueButton-Server sind folgende Ressourcen zugeteilt:

  • 4 Kerne der Host-CPU (Intel(R) Xeon(R) E-2176G CPU @ 3.70GHz)
  • 8 GB Arbeitsspeicher

Mit ca. 60 Teilnehmern und einer aktivierten Webcam bzw. Bildschirmfreigabe, verhält sich die Leistung des Servers wie folgt:

CPU-Auslastung bei rund 35%, Übertragungsraten bei rund 28 MBit/s. Der Arbeitsspeicher wird voll genutzt, allerdings würden 4 GB hier auch ausreichen. Für den Test wurde die automatische Aufzeichnungsfunktion nicht deaktiviert, d.h. hier könnte durch eine Deaktivierung auf Serverseite noch Performance gewonnen werden.

* * *

Ich möchte BigBlueButton installieren, habe dabei aber Schwierigkeiten

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

* * *

Rund um die Installation

Verschiedenes

Repositories und Tools für die Administration

Redaktionelle Artikel zu BigBlueButton

Veraltete Artikel

* * *

Änderungshistorie

25.03.2023 – Hinweis auf aktuelle Version des Artikels eingefügt
17.07.2021 – Hinweis auf aktuelle Version des Artikels eingefügt
18.05.2021 – Link zum Matrix-Austauschkanal ergänzt
06.02.2021 – Link zum Download des Ubuntu-Images korrigiert
27.11.2020 – Ergänzung der CPU-Maximalgrenze für den V-Server von netcup
17.11.2020 – Weiteren Lasttest mit einem V-Server von netcup ergänzt
24.09.2020 – Tutorial 1:1 nachempfunden und geprüft
18.06.2020 – Befehl des Install-Scripts angepasst
16.06.2020 – Kostenfreies Angebot von fairkom ergänzt
10.06.2020 – Weiterführende Links und kostenfreie BBB-Instanzen ergänzt
03.06.2020 – Infos zu Fehler 404 und dem eigenen Server-Lasttest ergänzt
10.04.2020 – Weiterführende Links zu Nextcloud-App und Hosting für BBB ergänzt
04.04.2020 – Infos zu Serverlast und der Browser-Kompatibilität ergänzt
25.03.2020 – Bilderanleitungen in eine übersichtliche Galerie eingefügt
17.03.2020 – Artikel erstellt

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

Hi, ich bin Christian und 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?