@@ -278,54 +278,43 @@ main() {
278278 check_cpus
279279 check_ipv6
280280
281- need_pkg wget curl gpg-agent dirmngr apparmor-utils
281+
282+ if [ " $DISTRO " != " noble" ]; then
283+ err " This version of BigBlueButton requires Ubuntu 24.04"
284+ exit 0
285+ fi
282286
283287 # need_pkg xmlstarlet
284288 get_IP " $HOST "
285289
286- if [ " $DISTRO " == " noble" ]; then
287- need_pkg ca-certificates
288-
289- need_pkg yq
290- yq --version
291290
292- # need_ppa libreoffice-ubuntu-ppa-noble.list ppa:libreoffice/ppa 1378B444 # Latest version of libreoffice
291+ need_pkg wget curl gpg-agent dirmngr apparmor-utils ca-certificates yq ruby apt-transport-https haveged openjdk-17-jre dnsutils
292+ # need_ppa libreoffice-ubuntu-ppa-noble.list ppa:libreoffice/ppa 1378B444 # Latest version of libreoffice
293+ # need_ppa bigbluebutton-ubuntu-support-noble.list ppa:bigbluebutton/support 2E1B01D0E95B94BC # Needed for libopusenc0
294+ # need_ppa martin-uni-mainz-ubuntu-coturn-noble.list ppa:martin-uni-mainz/coturn 4B77C2225D3BBDB3 # Coturn
293295
294- # need_ppa bigbluebutton-ubuntu-support-noble.list ppa:bigbluebutton/support 2E1B01D0E95B94BC # Needed for libopusenc0
295- # need_ppa martin-uni-mainz-ubuntu-coturn-noble.list ppa:martin-uni-mainz/coturn 4B77C2225D3BBDB3 # Coturn
296-
297- if [ -f /etc/apt/sources.list.d/nodesource.list ] && grep -q 18 /etc/apt/sources.list.d/nodesource.list; then
298- # Node 18 might be installed, previously used in BigBlueButton
299- # Remove the repository config. This will cause the repository to get
300- # re-added using the current nodejs version, and nodejs will be upgraded.
301- sudo rm -r /etc/apt/sources.list.d/nodesource.list
302- fi
303- if [ ! -f /etc/apt/sources.list.d/nodesource.list ]; then
304- sudo mkdir -p /etc/apt/keyrings
305- if [ -f /etc/apt/keyrings/nodesource.gpg ]; then
306- rm /etc/apt/keyrings/nodesource.gpg
307- fi
308- curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
309- NODE_MAJOR=22
310- echo " deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR .x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
296+ if [ ! -f /etc/apt/sources.list.d/nodesource.list ]; then
297+ sudo mkdir -p /etc/apt/keyrings
298+ if [ -f /etc/apt/keyrings/nodesource.gpg ]; then
299+ rm /etc/apt/keyrings/nodesource.gpg
311300 fi
301+ curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
302+ NODE_MAJOR=22
303+ echo " deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR .x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
304+ fi
312305
313- touch /root/.rnd
314- install_docker # needed for bbb-libreoffice-docker
315- need_pkg ruby
306+ touch /root/.rnd
307+ install_docker # needed for bbb-libreoffice-docker
316308
317- BBB_WEB_ETC_CONFIG=/etc/bigbluebutton/bbb-web.properties # Override file for local settings
309+ BBB_WEB_ETC_CONFIG=/etc/bigbluebutton/bbb-web.properties # Override file for local settings
318310
319- need_pkg openjdk-17-jre
320- update-java-alternatives -s java-1.17.0-openjdk-amd64
321- fi
311+ update-java-alternatives -s java-1.17.0-openjdk-amd64
322312
323313 apt-get update
324314 apt-get -y -o Dpkg::Options::=" --force-confdef" -o Dpkg::Options::=" --force-confnew" dist-upgrade
325315
326- need_pkg apt-transport-https haveged
327316 need_pkg bigbluebutton
328- need_pkg bbb-html5
317+ # need_pkg bbb-html5
329318
330319 if [ -f /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties ]; then
331320 SERVLET_DIR=/usr/share/bbb-web
@@ -693,19 +682,17 @@ need_ppa() {
693682check_version () {
694683 # TODO adapt the new packaging OR this portion of bbb-install
695684 # if ! echo "$1" | grep -Eq "noble-40"; then err "This script can only install BigBlueButton 4.0 and is meant to be run on Ubuntu 24.04 (noble) server."; fi
696- # DISTRO=${1%%-*}
685+ DISTRO=${1%% -* }
697686 # if ! wget -qS --spider "https://$PACKAGE_REPOSITORY/$1/dists/bigbluebutton-$DISTRO/Release.gpg" > /dev/null 2>&1; then
698687 # err "Unable to locate packages for $1 at $PACKAGE_REPOSITORY."
699688 # fi
700689 check_root
701- need_pkg curl apt-transport-https
702690 curl -fsSL " http://$PACKAGE_REPOSITORY /public.gpg" | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/bbb-repo.gpg
703691 echo " deb http://$PACKAGE_REPOSITORY / $VERSION main" | sudo tee /etc/apt/sources.list.d/bbb.list
704692}
705693
706694check_host () {
707695 if [ -z " $PROVIDED_CERTIFICATE " ] && [ -z " $HOST " ]; then
708- need_pkg dnsutils apt-transport-https
709696 DIG_IP=$( dig +short " $1 " | grep ' ^[.0-9]*$' | tail -n1)
710697 if [ -z " $DIG_IP " ]; then err " Unable to resolve $1 to an IP address using DNS lookup." ; fi
711698 get_IP " $1 "
@@ -1758,15 +1745,11 @@ fi
17581745
17591746 # shellcheck disable=SC1091
17601747 eval " $( source /etc/bigbluebutton/bigbluebutton-release && declare -p BIGBLUEBUTTON_RELEASE) "
1761- if [[ $BIGBLUEBUTTON_RELEASE == 2.2.* ]] && [[ ${BIGBLUEBUTTON_RELEASE#* .* .} -lt 29 ]]; then
1762- sed -i " s/proxy_pass .*/proxy_pass https:\/\/$IP :7443;/g" /usr/share/bigbluebutton/nginx/sip.nginx
1763- else
1764- # Use nginx as proxy for WSS -> WS (see https://github.com/bigbluebutton/bigbluebutton/issues/9667)
1765- touch /etc/bigbluebutton/bbb-html5.yml
1766- yq -y -i ' .public.media.sipjsHackViaWs = true' /etc/bigbluebutton/bbb-html5.yml
1767- sed -i " s/proxy_pass .*/proxy_pass http:\/\/$IP :5066;/g" /usr/share/bigbluebutton/nginx/sip.nginx
1768- xmlstarlet edit --inplace --update ' //param[@name="ws-binding"]/@value' --value " $IP :5066" /opt/freeswitch/conf/sip_profiles/external.xml
1769- fi
1748+ # Use nginx as proxy for WSS -> WS (see https://github.com/bigbluebutton/bigbluebutton/issues/9667)
1749+ touch /etc/bigbluebutton/bbb-html5.yml
1750+ yq -y -i ' .public.media.sipjsHackViaWs = true' /etc/bigbluebutton/bbb-html5.yml
1751+ sed -i " s/proxy_pass .*/proxy_pass http:\/\/$IP :5066;/g" /usr/share/bigbluebutton/nginx/sip.nginx
1752+ xmlstarlet edit --inplace --update ' //param[@name="ws-binding"]/@value' --value " $IP :5066" /opt/freeswitch/conf/sip_profiles/external.xml
17701753
17711754 sed -i ' s/^bigbluebutton.web.serverURL=http:/bigbluebutton.web.serverURL=https:/g' " $SERVLET_DIR /WEB-INF/classes/bigbluebutton.properties"
17721755 if [ -f " $BBB_WEB_ETC_CONFIG " ]; then
0 commit comments