BigBlueButton
Eine selbstgehostete GoToWebinar-Alternative
- Christian Süßenguth
- 17.03.2020, aktualisiert am
- Blog
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
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.
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.
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.
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
Abschluss der Installation
Hat alles geklappt, zeigt der Installer ggf. aufgetretene Probleme 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!
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.
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 €):
- 4 dedizierte Kerne (AMD EPYC™ 7702)
- 16 GB Arbeitsspeicher
- 320 GB SSD
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.
Weiterführende Links
Rund um die Installation
- Offizielle Dokumentation [englisch]
- Schritt für Schritt Installation [englisch]
- Bug-Tracker BigBlueButton
- Bug-Tracker Script bbb-install.sh
Verschiedenes
- Hosting und Installationshilfe für BigBlueButton
- Zoom Alternative BigBlueButton™️ im Praxistest [30. März 2020]
- STUN/TURN-Server testen
- Diskussion zu einer Nextcloud-BigBlueButton-App [23. März 2020]
Repositories und Tools für die Administration
- senfcall.de Open Source Tools
- DigitalSouveraeneSchule BigBlueButton Tools
- BigBlueButton™ API implementation for Python
- Ansible playbook zur Installation von BBB auf den LFB Maschinen.
- Scalable load balancer for BigBlueButton.
Redaktionelle Artikel zu BigBlueButton
- Wie sicher ist Online-Unterricht mit BigBlueButton? [27. Mai 2020]
- Big Blue Button: Wie CCC-Urgesteine gegen Teams und Zoom kämpfen [19. Mai 2020]
- Videokonferenzen müssen keine Datenschleudern sein [15. Mai 2020]
- Jitsi und Big Blue Button Open-Source-Angebote für Videokonferenzen [09. Mai 2020]
- BigBlueButton – Mein Favorit [08. Mai 2020]
- datenschutz-schule.info: Datenschutzcheck zu BigBlueButton [Mai 2020]
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
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