diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1377554 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.swp diff --git a/README.install b/README.install index cd09ca5..4d25971 100644 --- a/README.install +++ b/README.install @@ -24,86 +24,16 @@ apt-get install bbb-html5 # --- -# 3.) Run script bbb-post-install.sh +# 3.) Optional: install Demo API +# --- + +apt-get install bbb-demo + + +# --- +# 4.) 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 diff --git a/bbb-post-install.sh b/bbb-post-install.sh index fa453d9..3302bd1 100755 --- a/bbb-post-install.sh +++ b/bbb-post-install.sh @@ -216,6 +216,17 @@ fi # Configure FreeSWITCH for using SSL +# +# At file /etc/bigbluebutton/nginx/sip.nginx +# +# change: +# +# proxy_pass http://203.0.113.1:5066; +# +# to +# proxy_pass https://203.0.113.1:7443; +# ^ ^^^^ +# if $terminal ; then echo "" echo -e " \033[1mConfigure FreeSWITCH for using SSL\033[m" @@ -251,12 +262,24 @@ fi blank_line # Configure BigBlueButton to load session via HTTPS +# if $terminal ; then echo "" echo -e " \033[1mConfigure BigBlueButton to load session via HTTPS\033[m" echo "" fi +# file '/usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties' +# +# change: +# +# bigbluebutton.web.serverURL=http://${FQDN_HOSTNAME} +# +# to: +# +# bigbluebutton.web.serverURL=https://${FQDN_HOSTNAME} +# ^ +# echononl "Setup 'bigbluebutton.web.serverURL' (bigbluebutton.properties)" if $(grep -q -E "^\s*bigbluebutton.web.serverURL\s*=\s*http:" /usr/share/bbb-web/WEB-INF/classes/bigbluebutton.properties 2> /dev/null) ; then perl -i -n -p -e "s#^(\s*bigbluebutton.web.serverURL=.*)#\#\#!\1\nbigbluebutton.web.serverURL=https://${FQDN_HOSTNAME}#" \ @@ -271,6 +294,17 @@ else echo_skipped fi +# file: /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties +# +# change: +# +# JnlpUrl=https://${FQDN_HOSTNAME}/screenshare +# +# to: +# +# JnlpUrl=https://${FQDN_HOSTNAME}/screenshare +# ^ +# echononl "Setup 'jnlpUrl' (screenshare.properties)" if $(grep -q -E "^\s*jnlpUrl\s*=\s*http:" /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties 2> /dev/null) ; then perl -i -n -p -e "s#^(\s*jnlpUrl\s*=.*)#\#\#!\1\njnlpUrl=https://${FQDN_HOSTNAME}/screenshare#" \ @@ -285,6 +319,17 @@ else echo_skipped fi +# file: /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties +# +# change: +# +# jnlpFile=https://${FQDN_HOSTNAME}/screenshare/screenshare.jnlp +# +# to: +# +# jnlpFile=https://${FQDN_HOSTNAME}/screenshare/screenshare.jnlp +# ^ +# echononl "Setup 'jnlpFile' (screenshare.properties)" if $(grep -q -E "^\s*jnlpFile\s*=\s*http:" /usr/share/red5/webapps/screenshare/WEB-INF/screenshare.properties 2> /dev/null) ; then perl -i -n -p -e "s#^(\s*jnlpFile\s*=.*)#\#\#!\1\njnlpFile=https://${FQDN_HOSTNAME}/screenshare/screenshare.jnlp#" \ @@ -299,6 +344,10 @@ else echo_skipped fi +# 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 +# echononl "Change all 'http://' to 'https:/' (/var/www/bigbluebutton/client/conf/config.xml).." 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 > "$log_file" 2>&1 @@ -323,7 +372,18 @@ if $terminal ; then echo "" fi - +# file: /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml +# +# Change: +# +# kurento: +# wsUrl: ws://bbb.example.com/bbb-webrtc-sfu +# +#to +# +# kurento: +# wsUrl: wss://bbb.example.com/bbb-webrtc-sfu +# echononl "Change 'wsUrl: ws://' to 'wsUrl: wss://'.." if $(grep -q -E "wsUrl:\s*ws:" /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml 2> /dev/null) ; then perl -i -n -p -e "s#wsUrl:\s*ws:#wsUrl: wss:#" \ @@ -338,6 +398,19 @@ else echo_skipped fi +# file: /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 +# echononl "Change 'url: http://' to 'url: https://'.." if $(grep -q -E "^\s*url: http:" /usr/share/meteor/bundle/programs/server/assets/app/config/settings.yml 2> /dev/null) ; then perl -i -n -p -e "s#^(\s*url:\s*)http:#\1https:#" \ @@ -364,6 +437,16 @@ if $terminal ; then echo "" fi +# file: /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml +# +# Change: +# +# playback_protocol: http +# +# to: +# +# playback_protocol: https +# echononl "Change 'playback_protocol' to use https.." if $(grep -q -E "^\s*playback_protocol:\s*http\s*$" /usr/local/bigbluebutton/core/scripts/bigbluebutton.yml > "$log_file" 2>&1) ; then perl -i -n -p -e "s#^(\s*playback_protocol:\s*http.*)#\#\#!\1\nplayback_protocol: https#" \ @@ -392,6 +475,17 @@ if [[ -f "/var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp" ]] ; then echo "" fi + # file: /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp + # + # Change: + # + # String BigBlueButtonURL = "http://${FQDN_HOSTNAME}/bigbluebutton/"; + # + # To: + # + # String BigBlueButtonURL = "https://${FQDN_HOSTNAME}/bigbluebutton/"; + # ^ + # echononl "Change 'BigBlueButtonURL' to use SSL Protocil.." if $(grep -q -E "^\s*String\s+BigBlueButtonURL\s*=\s*\"http:" /var/lib/tomcat7/webapps/demo/bbb_api_conf.jsp 2> /dev/null) ; 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 > "$log_file" 2>&1