Hier zeige ich euch, wie ihr das Tool BigBlueButton (BBB) in wenigen Minuten auf eurem Server installieren könnt. Diese Installation wird OHNE Traefik durchgeführt. Dies bedeutet, dass später viele Ports wie 80 oder 443 belegt sind und keine weiteren Webdienste mehr auf dem Server betrieben werden können.
Datum | Änderungen |
---|---|
24.04.2020 | Erstellung dieser Anleitung |
14.01.2021 | Links zu Docker eingefügt. Kapitel für Benutzer anzulegen erweitert. |
31.05.2023 | komplette Überarbeitung der Anleitung an aktuelle Version 2.6 von BigBlueButton |
1. Installation mittels Docker und Traefik
Wer Big Blue Button lieber mittels Docker und Traefik betreiben möchte, für den habe ich hier eine Anleitung geschrieben. Dies hat den Vorteil, dass ihr noch weitere Dienste auf euren Server installieren könnt.
2. Systemanforderungen
- Diese Anleitung lässt sich nur unter Ubuntu 20.04 64bit installieren.
- 16 GB of memory with swap enabled
- 8 CPU cores, with high single-thread performance
- 500 GB of free disk space (or more) for recordings, or 50GB if session recording is disabled on the server.
- TCP ports 80 and 443 are accessible
- UDP ports 16384 – 32768 are accessible
- 250 Mbits/sec bandwidth (symmetrical) or more
- TCP port 80 and 443 are not in use by another web server or reverse proxy
- A hostname (such as bbb.example.com) for setup of a SSL certificate
- IPV4 and IPV6 address
Alle Anforderungen findet ihr hier direkt beim Hersteller. Dort findet ihr auch den Grund, warum nur genau diese Ubuntu Version unterstützt wird: Sometimes we get asked “Why are you only supporting Ubuntu 20.04 64-bit?”. The answer is based on choosing quality over quantity.
3. Voraussetzungen
Grundlage dieser Anleitung bildet die offizielle Anleitung des Herstellers.
3.1 Korrekte Sprache installiert
Hier müssen wir sicherstellen, dass das englische Sprachpaket installiert ist. Dazu gebt ihr folgendes ein:
apt-get update apt-get install -y language-pack-en update-locale LANG=en_US.UTF-8
Anschließend kontrollieren wir dies mit folgendem Befehl:
cat /etc/default/locale LANG=en_US.UTF-8
3.2 Arbeitsspeicher kontrollieren
Nun kontrollieren wir, dass wir mindestens 16GB Arbeitsspeicher in unserem Server haben. Dazu gebt ihr folgendes ein:
free-h gesamt benutzt frei gemns. Puffer/Cache verfügbar Speicher: 23Gi 5,9Gi 14Gi 49Mi 2,6Gi 17Gi Swap: 0B 0B 0B
Wir haben also genug Speicher in unserem Server.
3.3 Ubuntu Version überprüfen
Diese Anleitung (Grundlage ist die offizielle Anleitung des Herstellers) ist nur für Ubunt 20.04 64 bit geeignet. Daher kontrollieren wir dies.
cat /etc/lsb-release
Dies sollte bei euch auch so aussehen.
DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.6 LTS"
3.4 Anzahl Prozessorkerne überprüfen
Gebt dazu diesen Befehl ein:
grep -c ^processor /proc/cpuinfo 8
Hier solltet ihr auch mindestens 8 Kerne haben laut Hersteller.
3.5 Firewall Ports überprüfen
Damit BigBlueButton später funktioniert, müssen die Ports 80 und 443 geöffnet sein. Gebt dazu folgendes ein:
ufw status
Wenn ihr diese Ausgabe seht, dann ist die Firewall deaktiviert. Somit sind ALLE Ports des Servers offen, was ein Sicherheitsrisiko birgt.
ufw status Status: inactive
Dies könnt ihr ändern, indem ihr folgendes eingebt:
ufw allow 80 ufw allow 443 ufw allow 22 ufw enable
Jetzt wurden die 3 Ports geöffnet und die UFW Firewall aktiviert. Nun könnt ihr den Status erneut überprüfen:
ufw status Status: active To Action From -- ------ ---- 80 ALLOW Anywhere 443 ALLOW Anywhere 22 ALLOW Anywhere 80 (v6) ALLOW Anywhere (v6) 443 (v6) ALLOW Anywhere (v6) 22 (v6) ALLOW Anywhere (v6)
4. Installationsskript starten
Nun starten wir das Installationsskript. Wichtig ist, dass ihr den Parameter entsprechend eure Webseite noch anpassen müsst:
wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.6.sh | bash -s -- -v focal-260 -s bbb.example.com -e notice@example.com -g -w Bei mir: wget -qO- https://ubuntu.bigbluebutton.org/bbb-install-2.6.sh | bash -s -- -v focal-260 -s eurewebseite.de -e mail@euredomain.de -g -w Hier wird also BBB direkt auf die Domain "eurewebseite.de" installiert. Dies könnt ihr nach belieben anpassen. Denkt daran, dass ihr jeweils einen DNS Eintrag auf die Domain setzen müsst.
Dieser Vorgang dauert nun einige Minuten. Ihr solltet dann folgendes sehen:
bbb-install: greenlight-v3 is now installed and accessible on: https://euredomain.de/ bbb-install: To create Greenlight administrator account, see: https://docs.bigbluebutton.org/greenlight/v3/install#creating-an-admin-account BigBlueButton Server 2.6.8 (1235) Kernel version: 5.4.0-149-generic Distribution: Ubuntu 20.04.6 LTS (64-bit) Memory: 24096 MB CPU cores: 8 /etc/bigbluebutton/bbb-web.properties (override for bbb-web) /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties (bbb-web) bigbluebutton.web.serverURL: https://euredomain.de defaultGuestPolicy: ALWAYS_ACCEPT defaultMeetingLayout: CUSTOM_LAYOUT /etc/nginx/sites-available/bigbluebutton (nginx) server_name: euredomain.de port: 80, [::]:80127.0.0.1:82 http2 proxy_protocol, [::1]:82 http2127.0.0.1:81 proxy_protocol, [::1]:81 /opt/freeswitch/etc/freeswitch/vars.xml (FreeSWITCH) local_ip_v4: 202.61.252.xxx external_rtp_ip: 202.61.252.xxx external_sip_ip: 202.61.252.xxx /opt/freeswitch/etc/freeswitch/sip_profiles/external.xml (FreeSWITCH) ext-rtp-ip: $${local_ip_v4} ext-sip-ip: $${local_ip_v4} ws-binding: 202.61.252.xx:5066 wss-binding: 202.61.252.xx:7443 UDP port ranges FreeSWITCH: 16384-24576 kurento: 24577-32768 bbb-webrtc-sfu: 24577-32768 /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml (record and playback) playback_host: euredomain.de playback_protocol: https ffmpeg: 4.2.7-0ubuntu0.1 /usr/share/bigbluebutton/nginx/sip.nginx (sip.nginx) proxy_pass: 202.61.252.xxx protocol: http /usr/local/bigbluebutton/bbb-webrtc-sfu/config/default.yml (bbb-webrtc-sfu) /etc/bigbluebutton/bbb-webrtc-sfu/production.yml (bbb-webrtc-sfu - override) mediasoup.webrtc.*.announcedIp: 202.61.252.xx mediasoup.plainRtp.*.announcedIp: 202.61.252.xx kurento.ip: 202.61.252.xx kurento.url: ws://127.0.0.1:8888/kurento freeswitch.sip_ip: 202.61.252.xx recordScreenSharing: true recordWebcams: true codec_video_main: VP8 codec_video_content: VP8 /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml (HTML5 client) /etc/bigbluebutton/bbb-html5.yml (HTML5 client config override) build: 623 kurentoUrl: wss://euredomain.de/bbb-webrtc-sfu defaultFullAudioBridge: sipjs defaultListenOnlyBridge: fullaudio sipjsHackViaWs: true # Potential problems described below
5. Status überprüfen
Nun überprüfen wir, ob alles korrekt läuft. Dazu gebt ihr folgendes ein:
bbb-conf --status nginx —————————————————► [✔ - active] freeswitch ————————————► [✔ - active] redis-server ——————————► [✔ - active] bbb-apps-akka —————————► [✔ - active] bbb-fsesl-akka ————————► [✔ - active] mongod ————————————————► [✔ - active] bbb-html5 —————————————► [✔ - active] bbb-webrtc-sfu ————————► [✔ - active] kurento-media-server ——► [✔ - active] bbb-html5-backend@1 ———► [✔ - active] bbb-html5-backend@2 ———► [✔ - active] bbb-html5-frontend@1 ——► [✔ - active] bbb-html5-frontend@2 ——► [✔ - active] etherpad ——————————————► [✔ - active] bbb-web ———————————————► [✔ - active] bbb-pads ——————————————► [✔ - active] bbb-export-annotations ► [✔ - active] bbb-rap-caption-inbox —► [✔ - active] bbb-rap-resque-worker —► [✔ - active] bbb-rap-starter ———————► [✔ - active]
6. BigBlueButton starten
Nun könnt ihr auf eure Homepage gehen, welche ihr im Schritt 4 angegeben habt und solltet folgendes sehen:
7. Admin anlegen
Nun legen wir uns noch einen Administrator an. Dazu gebt ihr folgendes ein. Passt die Werte einfach entsprechend an:
docker exec -it greenlight-v3 bundle exec rake admin:create['name','email','password'] Bei mir: docker exec -it greenlight-v3 bundle exec rake admin:create['Christian','meine@email.de','superSicher123!']
Ihr solltet dann folgende Ausgabe bekommen:
User account was created successfully! Name: Christian Email: meine@email.de Password: superSicher123! Role: Administrator
Wenn ihr folgendes seht, dann ist euer Passwort nicht sicher genug und ihr müsst es “sicherer machen”.
Unable to create user: 'Christian' Failed to pass the following validations: ["Password is invalid"]
8. Quelle
https://docs.bigbluebutton.org/administration/install/
Hallo,
wenn ich command docker exec greenlight-v2 bundle exec rake user:create[“name”,”email”,”password”,”user”] nutzen möchte, es gibt ein Fehler wie “PG::ConnectionBad: fe_sendauth: no password supplied”
Idee ?
Hallo und vielen Dank für die Anleitung!
ich habe folgendes Problem. Neuerdings kann ich keine Präsentationen mehr hochladen.
Egal welche Datei ich versuche, es kommt beim Uploadversuch immer die Meldung “Ups, da ist etwas schiefgelaufen”. Ich vermute, dass dies seit einem Update so ist und dadurch in irgendwelchen Configs etwas verstellt worden ist. Hat jemand einen Tipp für mich wo ich ansetzen kann? Uploadsperre oder filter?
Danke vorab!
Soweit so gut. Das Skript ist durchgelaufen, der Server gibt Antwort.
Vielen Dank dafür 🙂
Nun suche ich den Benutzernamen und Kennwort zum anmelden :/
Hast du einen Tipp für mich?
Danke, inzwischen läuft bigbluebutton, aber ich kann greenlight nicht installieren, weil docker nicht funktioniert. Hast du hier eine Idee?
root@h2886390:~# systemctl status docker
● docker.service – Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: failed (Result: start-limit-hit) since Mi 2020-05-13 10:08:50 CEST; 21s ago
Docs: https://docs.docker.com
Process: 5822 ExecStart=/usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock (code=exited, status=1/FAILURE)
Main PID: 5822 (code=exited, status=1/FAILURE)
Kannst du mir einen Tip geben, was da schief läuft.
Restarting BigBlueButton 2.2.9 …
Stopping BigBlueButton
Starting BigBlueButton
Job for freeswitch.service failed because the control process exited with error code. See “systemctl status freeswitch.service” and “journalctl -xe” for details.
# Potential problems described below
grep: /opt/freeswitch/var/log/freeswitch/freeswitch.log: No such file or directory
#
# Error: Unable to connect to the FreeSWITCH Event Socket Layer on port 8021
#
…………………
# Error: Could not detect FreeSWITCH listening on port 5060
# Error: FreeSWITCH failed to start with SETSCHEDULER error, see
#
# http://docs.bigbluebutton.org/2.2/troubleshooting.html#freeswitch-fails-to-start-with-a-setscheduler-error
#
root@h2886390:~# systemctl status freeswitch.service
● freeswitch.service – freeswitch
Loaded: loaded (/lib/systemd/system/freeswitch.service; enabled; vendor preset: enabled)
Active: failed (Result: start-limit-hit) since Di 2020-05-12 22:45:43 CEST; 1min 4s ago
Process: 14413 ExecStart=/opt/freeswitch/bin/freeswitch -u freeswitch -g daemon -ncwait $DAEMON_OPTS (code=exited, status=214/SETSCHEDULER)