Files
bigbluebutton/README.install-22.04

204 lines
6.5 KiB
Plaintext

# ===================
#
# see:
# - https://docs.bigbluebutton.org/administration/install/
#
# ===================
FQDN_HOSTNAME="bbb.oopen.de"
ADMIN_EMAIL="ckubu-adm@oopen.de"
FQDN_HOSTNAME="bbb.aufstehen-gegen-rassismus.de"
ADMIN_EMAIL="agr@vvn-bda.de"
# ===
# 1 Pre-installation checks
# ===
# see: https://docs.bigbluebutton.org/administration/install/#pre-installation-checks
# ---
# Run script bbb-pre-install.sh
# ---
# Download Repository containing the pre installation script
#
git clone https://git.oopen.de/install/bigbluebutton /usr/local/src/
# Run the script 'bbb-pre-install.sh'
#
# The script does:
#
# - installs missing debian packages
# - checks the locale parameter and sets it to 'en_US.UTF-8' if necessary
#
# - Installs the latest version of Docker if necessary
#
/usr/local/src/bigbluebutton/bbb-pre-install.sh
# ===
# 2. Install BigBlueButton
# ===
# ---
# Install BigBlueButton (incl. Greenligth) directly
# ---
# Download and pipe downlaoded stream directly through 'bash -s'
#
# -w Install UFW firewall (recommended)
# -v <version> Install given version of BigBlueButton (e.g. 'focal-270') (required)
# -v jammy-300 installs the latest iteration of BigBlueButton 3.0.x .
# -v focal-270 installs the latest iteration of BigBlueButton 2.7.x .
# -s <hostname> Configure server with <hostname>
# -e <email> Email for Let's Encrypt certbot
# -g Install Greenlight version 3
#
wget -qO- https://raw.githubusercontent.com/bigbluebutton/bbb-install/v3.0.x-release/bbb-install.sh \
| bash -s -- -w -v jammy-300 -s ${FQDN_HOSTNAME} -e ${ADMIN_EMAIL} -g
# !! Note !!
#
# FIX installation error
#
# ...
# bbb-install: greenlight-v3 was successfully configured
# bbb-install: pulling latest greenlight-v3 services images...
# ERROR: client version 1.25 is too old. Minimum supported API version is 1.44, please upgrade your client
# to a newer version
# bbb-install: starting greenlight-v3...
# ERROR: client version 1.25 is too old. Minimum supported API version is 1.44, please upgrade your client
# to a newer version
# bbb-install: greenlight-v3 is now installed and accessible on: https://bbb.oopen.de/
# ...
#
# # Standardpfad für Greenlight v3 (vom bbb-install-Script) ist:
# cd /root/greenlight-v3
#
# docker compose pull
# docker compose up -d
cd /root/greenlight-v3
docker compose pull
docker compose up -d
# !! Note !!
#
# If the FQHN of the BigBlueButton service is part of the '/etc/hosts' file,
# then BigBlueButton will not work properly, at least not if the FQHN points
# to a 127 IP address (e.g. 127.0.1.1).
#
sed -i -E "/^[[:space:]]*127.0.1.1[[:space:]]+${FQDN_HOSTNAME}/d" /etc/hosts
if [[ -f "/etc/cloud/templates/hosts.debian.tmpl" ]] ; then
sed -i -E "/^127.0.1.1/d" /etc/cloud/templates/hosts.debian.tmpl
fi
# ---
# Install BigBlueButton (incl. Greenligth) by running script 'bbb-install.sh' lacally
# ---
mkdir -p /usr/local/src/bbb
git clone https://github.com/bigbluebutton/bbb-install.git /usr/local/src/bbb/
# run commnad 'bbb-install.sh'
#
# -w Install UFW firewall (recommended)
# -v <version> Install given version of BigBlueButton (e.g. 'focal-270') (required)
# -s <hostname> Configure server with <hostname>
# -e <email> Email for Let's Encrypt certbot
# -g Install Greenlight version 3
#
/usr/local/src/bbb/bbb-install.sh -w -v jammy-300 -s ${FQDN_HOSTNAME} -e ${ADMIN_EMAIL} -g
sed -i -E "/^[[:space:]]*127.0.1.1[[:space:]]+${FQDN_HOSTNAME}/d" /etc/hosts
if [[ -f "/etc/cloud/templates/hosts.debian.tmpl" ]] ; then
sed -i -E "/^127.0.1.1/d" /etc/cloud/templates/hosts.debian.tmpl
fi
# Installation finished
# =====================================================================================
# ===
# Globally disable recordings in BigBlueButton
# ===
# Server operators can overwrite default value for disableRecordingDefault initially
# set in /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties by overwriting
# it in /etc/bigbluebutton/bbb-web.properties -
#
# set disableRecordingDefault=false to disableRecordingDefault=true for globally disabling
# recordings.
#
# Furthermore, recording of breakout rooms should be disabled by setting
# breakoutRoomsRecord=false. In general, this is an advisable idea (independently of
# disableRecordingDefault=true, because break-out rooms might imply a certain level of
# privacy for typical users.
if ! $(grep -qE "^\s*disableRecordingDefault=" /etc/bigbluebutton/bbb-web.properties 2> /dev/null) ; then
echo "disableRecordingDefault=true" >> /etc/bigbluebutton/bbb-web.properties
else
perl -i -n -p -e"s/^disableRecordingDefault.*/disableRecordingDefault=true/" /etc/bigbluebutton/bbb-web.properties
fi
if ! $(grep -qE "^\s*breakoutRoomsRecord=" /etc/bigbluebutton/bbb-web.properties 2> /dev/null) ; then
echo "breakoutRoomsRecord=false" >> /etc/bigbluebutton/bbb-web.properties
else
perl -i -n -p -e"s/^breakoutRoomsRecord.*/breakoutRoomsRecord=false/" /etc/bigbluebutton/bbb-web.properties
fi
# ===
# Open Registration abschalten (empfohlener Weg)
# ===
# 1. Melde dich in Greenlight als Administrator an.
# ==================================================
#
# Oben rechts auf dein Profil / Namen klicken → Administrator Panel (oder „Administration“).
#
# Dort zu Site Settings / Seiten-Einstellungen gehen.
#
# Bei Registration Method einen restriktiven Modus wählen, z. B.:
#
# Join by Invitation
# -> Es gibt keine offene Anmeldung mehr.
# Nur Nutzer, die von einem Admin per Einladung (Mail-Link) eingeladen wurden, können sich registrieren.
# bigbluemeeting.com
#
# Alternativ: Approve / Decline
# -> Jeder kann sich registrieren, aber ohne Admin-Freigabe können sie sich nicht einloggen.
#
#
# Bemerkung:
# =========
# Wenn du effektiv gar keine neuen Nutzer willst, stellst du auf Join by Invitation und verschickst
# einfach keine Einladungen. Dann gibt es faktisch keine Registrierung mehr.
# 2. Sign up“-Button ist noch da?
# ===============================
#
# Der Button bleibt im UI, aber:
#
# Bei Join by Invitation funktioniert der normale Self-Sign-up ohne Invite nicht mehr - Nutzer brauchen
# einen gültigen Einladungs-Token.
#
# Wenn dich der Button optisch stört, kannst du über die GL-Customization (Texte/Frontend anpassen) den
# Text ändern oder entfernen. Das läuft über Dateien wie en.json / *.yml etc. und wird in der GL-Doku
# unter Customize Greenlight beschrieben.