# =================== # # 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 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 Configure server with # -e 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 Install given version of BigBlueButton (e.g. 'focal-270') (required) # -s Configure server with # -e 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.