2021-08-13 18:53:18 +08:00
|
|
|
#!/bin/bash -e
|
|
|
|
|
|
|
|
set +x
|
|
|
|
|
|
|
|
BIGBLUEBUTTON_USER=bigbluebutton
|
|
|
|
|
|
|
|
if ! id freeswitch >/dev/null 2>&1; then
|
|
|
|
echo "Error: FreeSWITCH not installed"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
if lsb_release -d | grep -q CentOS; then
|
|
|
|
DISTRO=centos
|
|
|
|
FREESWITCH=freeswitch
|
|
|
|
FREESWITCH_GROUP=daemon
|
|
|
|
else
|
|
|
|
DISTRO=ubuntu
|
|
|
|
FREESWITCH=freeswitch
|
|
|
|
FREESWITCH_GROUP=freeswitch
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
2022-02-28 03:08:25 +08:00
|
|
|
# Set the permissions to /var/bigbluebutton tomcat (and possibly other services) can write
|
2021-08-13 18:53:18 +08:00
|
|
|
#
|
|
|
|
if [ -d /var/bigbluebutton ]; then
|
|
|
|
echo -n "."
|
|
|
|
chown -R $BIGBLUEBUTTON_USER:$BIGBLUEBUTTON_USER /var/bigbluebutton
|
|
|
|
echo -n "."
|
|
|
|
|
|
|
|
chmod o+rx /var/bigbluebutton
|
|
|
|
|
|
|
|
#
|
|
|
|
# Setup for recordings XXX
|
|
|
|
#
|
|
|
|
mkdir -p /var/bigbluebutton/recording
|
|
|
|
mkdir -p /var/bigbluebutton/recording/raw
|
|
|
|
mkdir -p /var/bigbluebutton/recording/process
|
|
|
|
mkdir -p /var/bigbluebutton/recording/publish
|
|
|
|
mkdir -p /var/bigbluebutton/recording/status
|
|
|
|
mkdir -p /var/bigbluebutton/recording/status/recorded
|
|
|
|
mkdir -p /var/bigbluebutton/recording/status/archived
|
|
|
|
mkdir -p /var/bigbluebutton/recording/status/processed
|
|
|
|
mkdir -p /var/bigbluebutton/recording/status/sanity
|
|
|
|
echo -n "."
|
|
|
|
chown -R $BIGBLUEBUTTON_USER:$BIGBLUEBUTTON_USER /var/bigbluebutton/recording
|
|
|
|
|
|
|
|
mkdir -p /var/bigbluebutton/published
|
|
|
|
echo -n "."
|
|
|
|
chown -R $BIGBLUEBUTTON_USER:$BIGBLUEBUTTON_USER /var/bigbluebutton/published
|
|
|
|
|
|
|
|
mkdir -p /var/bigbluebutton/deleted
|
|
|
|
echo -n "."
|
|
|
|
chown -R $BIGBLUEBUTTON_USER:$BIGBLUEBUTTON_USER /var/bigbluebutton/deleted
|
|
|
|
|
|
|
|
mkdir -p /var/bigbluebutton/unpublished
|
|
|
|
echo -n "."
|
|
|
|
chown -R $BIGBLUEBUTTON_USER:$BIGBLUEBUTTON_USER /var/bigbluebutton/unpublished
|
|
|
|
echo
|
|
|
|
else
|
|
|
|
echo "Warning: BigBlueButton not installed"
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -f /usr/share/bbb-apps-akka/conf/application.conf ]; then
|
|
|
|
if [ "$(cat /usr/share/bbb-apps-akka/conf/application.conf | sed -n '/sharedSecret.*/{s/[^"]*"//;s/".*//;p}')" == "changeme" ]; then
|
|
|
|
SECRET=$(cat $SERVLET_DIR/WEB-INF/classes/bigbluebutton.properties | grep -v '#' | tr -d '\r' | sed -n '/securitySalt/{s/.*=//;p}')
|
|
|
|
sed -i "s/sharedSecret[ ]*=[ ]*\"[^\"]*\"/sharedSecret=\"$SECRET\"/g" \
|
|
|
|
/usr/share/bbb-apps-akka/conf/application.conf
|
|
|
|
|
|
|
|
HOST=$(cat $SERVLET_DIR/WEB-INF/classes/bigbluebutton.properties | grep -v '#' | sed -n '/^bigbluebutton.web.serverURL/{s/.*\///;p}')
|
|
|
|
sed -i "s/bbbWebAPI[ ]*=[ ]*\"[^\"]*\"/bbbWebAPI=\"http:\/\/$HOST\/bigbluebutton\/api\"/g" \
|
|
|
|
/usr/share/bbb-apps-akka/conf/application.conf
|
|
|
|
sed -i "s/bbbWebHost[ ]*=[ ]*\"[^\"]*\"/bbbWebHost=\"$HOST\"/g" \
|
|
|
|
/usr/share/bbb-apps-akka/conf/application.conf
|
|
|
|
sed -i "s/deskshareip[ ]*=[ ]*\"[^\"]*\"/deskshareip=\"$HOST\"/g" \
|
|
|
|
/usr/share/bbb-apps-akka/conf/application.conf
|
|
|
|
sed -i "s/defaultPresentationURL[ ]*=[ ]*\"[^\"]*\"/defaultPresentationURL=\"http:\/\/$HOST\/default.pdf\"/g" \
|
|
|
|
/usr/share/bbb-apps-akka/conf/application.conf
|
|
|
|
|
|
|
|
fi
|
|
|
|
fi
|
|
|
|
|
|
|
|
#
|
|
|
|
# Added to enable bbb-record-core to move files #8901
|
|
|
|
#
|
|
|
|
usermod bigbluebutton -a -G freeswitch
|
|
|
|
chmod 0775 /var/freeswitch/meetings
|
|
|
|
|
|
|
|
if ! id kurento >/dev/null 2>&1; then
|
|
|
|
useradd --home-dir "/var/lib/kurento" --system kurento
|
|
|
|
fi
|
|
|
|
usermod bigbluebutton -a -G kurento
|
|
|
|
chown kurento:kurento /var/kurento
|
|
|
|
chmod 0775 /var/kurento
|
|
|
|
|
|
|
|
if [ -d /var/kurento/recordings ]; then
|
|
|
|
chmod 0775 /var/kurento/recordings
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d /var/kurento/screenshare ]; then
|
|
|
|
chmod 0775 /var/kurento/screenshare
|
|
|
|
fi
|
|
|
|
|
2021-10-05 03:14:42 +08:00
|
|
|
# Verify mediasoup raw media directories ownership and perms
|
|
|
|
if [ -d /var/mediasoup ]; then
|
|
|
|
chown bigbluebutton:bigbluebutton /var/mediasoup
|
|
|
|
chmod 0700 /var/mediasoup
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d /var/mediasoup/recordings ]; then
|
|
|
|
chmod 0700 /var/mediasoup/recordings
|
|
|
|
fi
|
|
|
|
|
|
|
|
if [ -d /var/mediasoup/screenshare ]; then
|
|
|
|
chmod 0700 /var/mediasoup/screenshare
|
|
|
|
fi
|
|
|
|
|
2021-08-13 18:53:18 +08:00
|
|
|
sed -i 's/worker_connections 768/worker_connections 4000/g' /etc/nginx/nginx.conf
|
|
|
|
|
2022-03-27 21:09:52 +08:00
|
|
|
if grep -q "worker_rlimit_nofile" /etc/nginx/nginx.conf; then
|
2021-09-21 20:24:52 +08:00
|
|
|
num=$(grep worker_rlimit_nofile /etc/nginx/nginx.conf | grep -o '[0-9]*')
|
|
|
|
if [[ "$num" -lt 10000 ]]; then
|
|
|
|
sed -i 's/worker_rlimit_nofile [0-9 ]*;/worker_rlimit_nofile 10000;/g' /etc/nginx/nginx.conf
|
|
|
|
fi
|
|
|
|
else
|
2021-08-13 18:53:18 +08:00
|
|
|
sed -i 's/events {/worker_rlimit_nofile 10000;\n\nevents {/g' /etc/nginx/nginx.conf
|
|
|
|
fi
|
|
|
|
|
2022-04-05 04:30:49 +08:00
|
|
|
# symlink default bbb nginx config from package if it does not exist
|
|
|
|
if [ ! -e /etc/bigbluebutton/nginx/include_default.nginx ] ; then
|
|
|
|
ln -s /usr/share/bigbluebutton/include_default.nginx /etc/bigbluebutton/nginx/include_default.nginx
|
|
|
|
fi
|
|
|
|
|
2022-02-20 09:45:45 +08:00
|
|
|
# Fix permissions for logging
|
|
|
|
chown bigbluebutton:bigbluebutton /var/log/bbb-fsesl-akka
|
|
|
|
|
2021-08-13 18:53:18 +08:00
|
|
|
# Load the overrides
|
|
|
|
systemctl daemon-reload
|