# ===================
#
# Requirements:
#
# - webserver nginx is installed
# - lets encrypt certificates available for $FQDN_HOSTNAME
#
# ===================
# ---
# 1.) Run script bbb-pre-install.sh
# ---
/usr/local/src/bigbluebutton/bbb-pre-install.sh
# ---
# 2.) Install BigBlueButton
# ---
apt-get install bigbluebutton
apt-get install bbb-html5
# ---
# 3.) Run script bbb-post-install.sh
# ---
/usr/local/src/bigbluebutton/bbb-post-install.sh
# ---
# 4. post installation tasks
# ---
FQDN_HOSTNAME="bbb.oopen.de"
# Configure FreeSWITCH for using SSLAnchor link for: configure freeswitch for using ssl
#
perl -i -n -p -e "s#http://#https://#" /etc/bigbluebutton/nginx/sip.nginx
perl -i -n -p -e "s#:5066\s*;#:7443;#" /etc/bigbluebutton/nginx/sip.nginx
# Configure BigBlueButton to load session via HTTPS
#
perl -i -n -p -e "s#\s*bigbluebutton.web.serverURL=.*#bigbluebutton.web.serverURL=https://${FQDN_HOSTNAME}#" \
/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties
perl -i -n -p -e "s#^(\s*jnlpUrl\s*=.*)#\#\#!\1\njnlpUrl=https://${FQDN_HOSTNAME}/screenshare#" \
/usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties
perl -i -n -p -e "s#^(\s*jnlpFile\s*=.*)#\#\#!\1\njnlpFile=https://${FQDN_HOSTNAME}/screenshare/screenshare.jnlp#" \
/usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties
# You must also update the file /var/www/bigbluebutton/client/conf/config.xml to
# tell the BigBlueButton client to load components via HTTPS. You can do the update
# with a single command
#
if $(grep -q -E "http://" /var/www/bigbluebutton/client/conf/config.xml 2> /dev/null) ; then
sed -e 's|http://|https://|g' -i /var/www/bigbluebutton/client/conf/config.xml
fi
# Open /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml editing
# and change:
#
# kurento:
# wsUrl: ws://bbb.example.com/bbb-webrtc-sfu
#
#to
#
# kurento:
# wsUrl: wss://bbb.example.com/bbb-webrtc-sfu
#
perl -i -n -p -e "s#wsUrl:\s*ws:#wsUrl: wss:#" \
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
# Change
#
# note:
# enabled: true
# url: http://bbb.example.com/pad
# to
#
# note:
# enabled: true
# url: https://bbb.example.com/pad
perl -i -n -p -e "s#url:\s*http:#url: https:#" \
/usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml
# Next, modify the creation of recordings so they are served via HTTPS. Edit
# /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml and change the value
# for playback_protocol
#
perl -i -n -p -e "s#^(\s*playback_protocol:\s*http.*)#\#\#!\1\nplayback_protocol: https#" \
/usr/local/bigbluebutton/core/scripts/bigbluebutton.yml
if [[ -f "/var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp" ]] ; then
perl -i -n -p -e "s#^(\s*String\s+BigBlueButtonURL\s*=\s*\"http:.*)#//!\1\nString BigBlueButtonURL = \"https://${FQDN_HOSTNAME}/bigbluebutton/\";#" /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp
fi
# Restart BigBlueButon Service
#
bbb-conf --restart