BigBlueButton

Eine selbstgehostete GoToWebinar-Alternative

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.

* * *

Demo

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

Achtung:Hier ist Google Captcha 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
* * *

Inhaltsverzeichnis

Schritt 1: Ubuntu-Server 16.04.6 als Betriebssystem installieren
Schritt 2: Erster Login und Ubuntu-Updates
Schritt 3: Installation von BigBlueButton
                   Anmerkungen, bekannte Fehler und meine Erfahrungen

* * *

Schritt 1

Ubuntu-Server 16.04.6 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.6-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.

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.6
* * *

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 außerdem 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-220 -s bbb.deinedomain.de -e admin@deinedomain.de -g
Parameter Beschreibung
-v xenial-220 Installiert die aktuelle Version xenial-220 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.

Für die Funktionen von BigBlueButton folgt in Kürze ein eigener Blog-Artikel. Bei Fragen oder Feedback kannst du unten einen Kommentar hinterlassen oder mir direkt eine Nachricht schreiben. 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 root-Benutzer startest du den besagten Docker-Container neu. Dann funktioniert die Greenlight-Oberfläche wieder, allerdings nur bis zum nächsten Serverneustart. Quelle: github.com/bigbluebutton/bbb-install/issues/122

Kein Videobild / keine Bildschirmfreigabe bei Teilnehmern
Dann sind entweder die Firewall-Regeln nicht korrekt gesetzt (geöffnet sein müssen laut Doku folgende Ports: TCP 80, TCP 443 und UDP 16384-32768) oder du musst die Angabe zum STUN-Server händisch anpassen. Diese 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 Tool. Damit der Server mit BigBlueButton funktioniert, muss er beim Test mit dem Tool mindestens einen Eintrag vom Type srflx zurückgeben.

* * *
* * *

Änderungshistorie

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 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?