a56bcfc56d
- clean tabs - use different master sites URL for different files - remove unused options - add freeswitch user option - bump portrevision 2. Update bbb-conf script: - add freeswitch user - check installed packages - add start / stop options - verify host names with getent 3. Update rc script for openoffice: - set and use HOME env 4. Update pkg-message: - add note about hostname resolution - add start note 5. Clean pkg-plist PR: ports/153923 Submitted by: Alex Deiter <alex.deiter@gmail.com> (maintainer) Feature safe: yes
523 lines
13 KiB
Bash
523 lines
13 KiB
Bash
#!/bin/sh -e
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# Script variables
|
|
SCRIPT="$(basename $0)"
|
|
BACKUP=".$(date "+%Y.%m.%d_%H:%M:%S")"
|
|
|
|
# System path
|
|
PREFIX="%%PREFIX%%"
|
|
RED5_HOME="%%RED5_HOME%%"
|
|
RED5_LOGS="%%RED5_LOGS%%"
|
|
RED5_USER="%%RED5_USER%%"
|
|
RED5_GROUP="%%RED5_GROUP%%"
|
|
TOMCAT_HOME="%%TOMCAT_HOME%%"
|
|
TOMCAT_LOGS="%%TOMCAT_LOGS%%"
|
|
TOMCAT_USER="%%TOMCAT_USER%%"
|
|
TOMCAT_GROUP="%%TOMCAT_GROUP%%"
|
|
FREESWITCH_USER="%%FREESWITCH_USER%%"
|
|
FREESWITCH_GROUP="%%FREESWITCH_GROUP%%"
|
|
WWWROOT="%%WWWROOT%%"
|
|
WWWDIR="%%WWWDIR%%"
|
|
ASTERISK_ETC="$PREFIX/etc/asterisk"
|
|
FREESWITCH_ETC="$PREFIX/etc/freeswitch"
|
|
NGINX_ETC="$PREFIX/etc/nginx"
|
|
|
|
# System commands
|
|
INSTALL_CMD="install -B $BACKUP"
|
|
|
|
# BBB security salt
|
|
BBB_SALT=""
|
|
|
|
# BBB common
|
|
BBB_SHAREDIR="%%DATADIR%%"
|
|
BBB_PRESENTATIONDIR="/var/spool/%%PORTNAME%%"
|
|
BBB_SRV_LIST=""
|
|
BBB_INSTALL_CONF="$BBB_PRESENTATIONDIR/conf.txt"
|
|
|
|
# BBB JDBC properties
|
|
BBB_DATABASE_TYPE="mysql"
|
|
BBB_DATABASE_HOST=""
|
|
BBB_DATABASE_NAME="%%PORTNAME%%"
|
|
BBB_DATABASE_URL=""
|
|
BBB_DATABASE_DRIVER="com.mysql.jdbc.Driver"
|
|
BBB_DATABASE_USERNAME="%%PORTNAME%%"
|
|
BBB_DATABASE_PASSWORD=""
|
|
|
|
# Conference module and type
|
|
BBB_CONFERENCE_MODULE=""
|
|
BBB_CONFERENCE_TYPE=""
|
|
|
|
# FreeSWITCH Event Socket Library (ESL)
|
|
BBB_ESL_HOST=""
|
|
BBB_ESL_PORT="8021"
|
|
BBB_ESL_PASSWORD=""
|
|
|
|
# Asterisk Management Interface (AMI)
|
|
BBB_AMI_HOST=""
|
|
BBB_AMI_PORT="5038"
|
|
BBB_AMI_USERNAME="bbb"
|
|
BBB_AMI_PASSWORD=""
|
|
|
|
# SIP
|
|
BBB_SIP_HOST=""
|
|
BBB_SIP_PORT="5070"
|
|
BBB_SIP_USERNAME="bbbuser"
|
|
BBB_SIP_PASSWORD=""
|
|
|
|
# All vars list
|
|
BBB_VAR_LIST="PREFIX WWWROOT WWWDIR \
|
|
RED5_HOME RED5_LOGS RED5_USER RED5_GROUP \
|
|
TOMCAT_HOME TOMCAT_LOGS TOMCAT_USER TOMCAT_GROUP \
|
|
ASTERISK_ETC NGINX_ETC BBB_HOSTNAME BBB_IP_ADDRESS BBB_SALT \
|
|
BBB_SHAREDIR BBB_PRESENTATIONDIR BBB_SRV_LIST BBB_INSTALL_CONF \
|
|
BBB_DATABASE_TYPE BBB_DATABASE_HOST BBB_DATABASE_NAME BBB_DATABASE_URL \
|
|
BBB_DATABASE_DRIVER BBB_DATABASE_USERNAME BBB_DATABASE_PASSWORD \
|
|
BBB_CONFERENCE_MODULE BBB_CONFERENCE_TYPE \
|
|
BBB_NO_KONFERENCE BBB_NO_MEETME \
|
|
BBB_ESL_HOST BBB_ESL_PORT BBB_ESL_PASSWORD \
|
|
BBB_AMI_HOST BBB_AMI_PORT BBB_AMI_USERNAME BBB_AMI_PASSWORD \
|
|
BBB_SIP_HOST BBB_SIP_PORT BBB_SIP_USERNAME BBB_SIP_PASSWORD"
|
|
|
|
bbb_usage() {
|
|
cat <<-EOF
|
|
|
|
$1
|
|
|
|
Install initial configuration:
|
|
$SCRIPT install -h <hostname|ip address> -c <konference|meetme|freeswitch>
|
|
|
|
Start all BigBlueButton services:
|
|
$SCRIPT start
|
|
|
|
Stop all BigBlueButton services:
|
|
$SCRIPT stop
|
|
|
|
Restart all bbb services:
|
|
$SCRIPT restart
|
|
|
|
EOF
|
|
|
|
exit 1
|
|
}
|
|
|
|
bbb_random() {
|
|
openssl rand -base64 48 | sed -E 's|[^A-Za-z0-9]||g' | cut -c 1-$1
|
|
}
|
|
|
|
bbb_install() {
|
|
CHECK_PKGS="swftools ImageMagick mysql-server activemq nginx tomcat"
|
|
CHECK_PKGS="$CHECK_PKGS red5"
|
|
CHECK_DIRS="RED5_HOME TOMCAT_HOME WWWROOT WWWDIR NGINX_ETC BBB_SHAREDIR"
|
|
|
|
case "$BBB_CONFERENCE_MODULE" in
|
|
konference|meetme)
|
|
CHECK_PKGS="$CHECK_PKGS asterisk"
|
|
CHECK_DIRS="$CHECK_DIRS ASTERISK_ETC"
|
|
;;
|
|
freeswitch)
|
|
CHECK_PKGS="$CHECK_PKGS freeswitch"
|
|
CHECK_DIRS="$CHECK_DIRS FREESWITCH_ETC"
|
|
;;
|
|
esac
|
|
|
|
for pkg in $CHECK_PKGS; do
|
|
echo -n "Check package $pkg: "
|
|
pkg_info -E ${pkg}\* || usage "$SCRIPT required $pkg package"
|
|
done
|
|
|
|
for var in $CHECK_DIRS; do
|
|
eval val=\$$var
|
|
echo -n "Check $var = '$val': "
|
|
if [ -n "$val" -a -d "$val" ]; then
|
|
echo "ok"
|
|
else
|
|
echo "not found"
|
|
exit 2
|
|
fi
|
|
done
|
|
|
|
BBB_SALT="$(bbb_random 32)"
|
|
BBB_DATABASE_PASSWORD="$(bbb_random 16)"
|
|
BBB_ESL_PASSWORD="$(bbb_random 16)"
|
|
BBB_AMI_PASSWORD="$(bbb_random 16)"
|
|
BBB_SIP_PASSWORD="$(bbb_random 16)"
|
|
BBB_IP_ADDRESS="$(getent hosts "$BBB_HOSTNAME" | awk '{print $1}')"
|
|
BBB_DATABASE_HOST="$BBB_IP_ADDRESS"
|
|
BBB_DATABASE_URL="jdbc:$BBB_DATABASE_TYPE://$BBB_DATABASE_HOST/$BBB_DATABASE_NAME"
|
|
BBB_ESL_HOST="$BBB_IP_ADDRESS"
|
|
BBB_AMI_HOST="$BBB_IP_ADDRESS"
|
|
BBB_SIP_HOST="$BBB_IP_ADDRESS"
|
|
|
|
for var in $BBB_VAR_LIST; do
|
|
eval val=\$$var
|
|
BBB_REPLACE="$BBB_REPLACE -e s|%%$var%%|$val|g"
|
|
done
|
|
|
|
$INSTALL_CMD -d -m 0777 $BBB_PRESENTATIONDIR
|
|
mkdir -p /etc/rc.conf.d
|
|
|
|
echo "Configure activemq: rc.conf"
|
|
BBB_SRV_LIST="activemq"
|
|
cat >/etc/rc.conf.d/activemq <<-EOF
|
|
activemq_enable="YES"
|
|
EOF
|
|
|
|
echo -n "Configure $BBB_DATABASE_TYPE: drop/create/grant"
|
|
(/usr/local/etc/rc.d/mysql-server onestatus || /usr/local/etc/rc.d/mysql-server onestart) >/dev/null 2>&1
|
|
mysql -u root >/dev/null <<-EOF
|
|
drop database if exists $BBB_DATABASE_NAME;
|
|
create database $BBB_DATABASE_NAME;
|
|
grant all on $BBB_DATABASE_NAME.* to '$BBB_DATABASE_USERNAME'@'$BBB_DATABASE_HOST' identified by '$BBB_DATABASE_PASSWORD';
|
|
commit;
|
|
EOF
|
|
|
|
echo " rc.conf"
|
|
BBB_SRV_LIST="$BBB_SRV_LIST mysql-server"
|
|
cat >/etc/rc.conf.d/mysql <<-EOF
|
|
mysql_enable="YES"
|
|
EOF
|
|
|
|
/usr/local/etc/rc.d/mysql-server stop >/dev/null 2>&1
|
|
|
|
echo -n "Configure $BBB_CONFERENCE_TYPE:"
|
|
case "$BBB_CONFERENCE_MODULE" in
|
|
konference|meetme)
|
|
cd $ASTERISK_ETC
|
|
for i in extensions sip; do
|
|
echo -n " bbb_$i.conf"
|
|
$INSTALL_CMD -m 0600 $BBB_SHAREDIR/asterisk/bbb_$i.conf-dist bbb_$i.conf
|
|
sed -i '' $BBB_REPLACE bbb_$i.conf
|
|
done
|
|
|
|
for i in $(jot - 3000 3029); do
|
|
cat <<-EOF
|
|
[$i]
|
|
type=friend
|
|
username=$i
|
|
insecure=very
|
|
qualify=yes
|
|
nat=yes
|
|
host=dynamic
|
|
canreinvite=no
|
|
context=bbb-voip
|
|
disallow=all
|
|
allow=ulaw
|
|
|
|
EOF
|
|
done >>bbb_sip.conf
|
|
|
|
echo -n " extensions.conf"
|
|
$INSTALL_CMD -m 0600 extensions.conf-dist extensions.conf
|
|
cat >>extensions.conf <<-EOF
|
|
#include "bbb_extensions.conf"
|
|
EOF
|
|
|
|
echo -n " sip.conf"
|
|
$INSTALL_CMD -m 0600 sip.conf-dist sip.conf
|
|
cat >>sip.conf <<-EOF
|
|
#include "bbb_sip.conf"
|
|
EOF
|
|
|
|
echo -n " modules.conf"
|
|
$INSTALL_CMD -m 0600 modules.conf-dist modules.conf
|
|
case "$BBB_CONFERENCE_MODULE" in
|
|
konference)
|
|
cat >>modules.conf <<-EOF
|
|
noload => codec_dahdi.so
|
|
noload => app_meetme.so
|
|
load => app_konference.so
|
|
EOF
|
|
;;
|
|
meetme)
|
|
$INSTALL_CMD $PREFIX/etc/zaptel.conf.sample \
|
|
$PREFIX/etc/zaptel.conf
|
|
cat >>modules.conf <<-EOF
|
|
noload => codec_dahdi.so
|
|
load => app_meetme.so
|
|
noload => app_konference.so
|
|
EOF
|
|
|
|
BBB_SRV_LIST="$BBB_SRV_LIST zaptel"
|
|
cat >/etc/rc.conf.d/zaptel <<-EOF
|
|
zaptel_enable="YES"
|
|
zaptel_kmod_load="zaptel.ko ztdummy.ko"
|
|
EOF
|
|
;;
|
|
esac
|
|
|
|
echo -n " manager.conf"
|
|
$INSTALL_CMD -m 0600 manager.conf-dist manager.conf
|
|
sed -i '' 's|^enabled.*$|enabled = yes|' manager.conf
|
|
cat >>manager.conf <<-EOF
|
|
[$BBB_AMI_USERNAME]
|
|
secret = $BBB_AMI_PASSWORD
|
|
permit = 0.0.0.0/0.0.0.0
|
|
read = system,call,log,verbose,command,agent,user
|
|
write = system,call,log,verbose,command,agent,user
|
|
EOF
|
|
|
|
echo " rc.conf"
|
|
BBB_SRV_LIST="$BBB_SRV_LIST asterisk"
|
|
cat >/etc/rc.conf.d/asterisk <<-EOF
|
|
asterisk_enable="YES"
|
|
EOF
|
|
;;
|
|
freeswitch)
|
|
cd $FREESWITCH_ETC
|
|
echo -n " backup"
|
|
mv conf conf$BACKUP
|
|
|
|
echo -n " extract"
|
|
(cd $BBB_SHAREDIR/freeswitch && tar cf - conf) | tar xf -
|
|
chown -R $FREESWITCH_USER:$FREESWITCH_GROUP conf
|
|
cd conf
|
|
|
|
echo -n " event_socket.conf.xml"
|
|
$INSTALL_CMD -m 0600 -o $FREESWITCH_USER -g $FREESWITCH_GROUP \
|
|
autoload_configs/event_socket.conf.xml-dist \
|
|
autoload_configs/event_socket.conf.xml
|
|
sed -i '' $BBB_REPLACE autoload_configs/event_socket.conf.xml
|
|
|
|
echo -n " acl.conf.xml"
|
|
$INSTALL_CMD -m 0600 -o $FREESWITCH_USER -g $FREESWITCH_GROUP \
|
|
autoload_configs/acl.conf.xml-dist \
|
|
autoload_configs/acl.conf.xml
|
|
sed -i '' $BBB_REPLACE autoload_configs/acl.conf.xml
|
|
|
|
echo -n " $BBB_SIP_USERNAME.xml"
|
|
$INSTALL_CMD -m 0600 -o $FREESWITCH_USER -g $FREESWITCH_GROUP \
|
|
directory/default/bbbuser.xml-dist \
|
|
directory/default/$BBB_SIP_USERNAME.xml
|
|
sed -i '' $BBB_REPLACE directory/default/$BBB_SIP_USERNAME.xml
|
|
|
|
echo " rc.conf"
|
|
BBB_SRV_LIST="$BBB_SRV_LIST freeswitch"
|
|
cat >/etc/rc.conf.d/freeswitch <<-EOF
|
|
freeswitch_enable="YES"
|
|
freeswitch_flags="-ncwait -waste -nonat"
|
|
EOF
|
|
;;
|
|
esac
|
|
|
|
echo "Configure openoffice: rc.conf"
|
|
BBB_SRV_LIST="$BBB_SRV_LIST openoffice"
|
|
cat >/etc/rc.conf.d/openoffice <<-EOF
|
|
openoffice_enable="YES"
|
|
EOF
|
|
|
|
echo -n "Configure tomcat:"
|
|
chown -R $TOMCAT_USER:$TOMCAT_GROUP $TOMCAT_LOGS
|
|
cd $TOMCAT_HOME/webapps/bigbluebutton
|
|
|
|
echo -n " bbb_api_conf.jsp"
|
|
$INSTALL_CMD -m 0600 -o $TOMCAT_USER -g $TOMCAT_GROUP \
|
|
demo/bbb_api_conf.jsp-dist \
|
|
demo/bbb_api_conf.jsp
|
|
|
|
echo -n " bigbluebutton.properties"
|
|
$INSTALL_CMD -m 0600 -o $TOMCAT_USER -g $TOMCAT_GROUP \
|
|
WEB-INF/classes/bigbluebutton.properties-dist \
|
|
WEB-INF/classes/bigbluebutton.properties
|
|
|
|
echo -n " log4j.properties"
|
|
$INSTALL_CMD -m 0600 -o $TOMCAT_USER -g $TOMCAT_GROUP \
|
|
WEB-INF/classes/log4j.properties-dist \
|
|
WEB-INF/classes/log4j.properties
|
|
sed -i '' $BBB_REPLACE demo/bbb_api_conf.jsp \
|
|
WEB-INF/classes/bigbluebutton.properties \
|
|
WEB-INF/classes/log4j.properties
|
|
|
|
echo " rc.conf"
|
|
BBB_SRV_LIST="$BBB_SRV_LIST tomcat6"
|
|
cat >/etc/rc.conf.d/tomcat60 <<-EOF
|
|
tomcat60_enable="YES"
|
|
tomcat60_stop_timeout="30"
|
|
EOF
|
|
|
|
echo -n "Configure red5:"
|
|
if grep -q '127\.0\.0\.1' $RED5_HOME/conf/red5.properties; then
|
|
echo -n " red5.properties"
|
|
sed -i $BACKUP 's|127\.0\.0\.1|0.0.0.0|g' $RED5_HOME/conf/red5.properties
|
|
fi
|
|
|
|
cd $RED5_HOME/webapps/bigbluebutton/WEB-INF
|
|
echo -n " red5-web.xml"
|
|
$INSTALL_CMD -m 0600 -o $RED5_USER -g $RED5_GROUP \
|
|
red5-web.xml-dist \
|
|
red5-web.xml
|
|
sed -i '' $BBB_REPLACE red5-web.xml
|
|
|
|
echo -n " bigbluebutton.properties"
|
|
$INSTALL_CMD -m 0600 -o $RED5_USER -g $RED5_GROUP \
|
|
bigbluebutton.properties-dist \
|
|
bigbluebutton.properties
|
|
sed -i '' $BBB_REPLACE bigbluebutton.properties
|
|
|
|
cd $RED5_HOME/webapps/sip/WEB-INF
|
|
echo -n " bigbluebutton-sip.properties"
|
|
$INSTALL_CMD -m 0600 -o $RED5_USER -g $RED5_GROUP \
|
|
bigbluebutton-sip.properties-dist \
|
|
bigbluebutton-sip.properties
|
|
sed -i '' $BBB_REPLACE bigbluebutton-sip.properties
|
|
|
|
echo " rc.conf"
|
|
BBB_SRV_LIST="$BBB_SRV_LIST red5"
|
|
RED5_RMI_PORT=$(awk -F= '/^jmx.rmi.port.registry/{print $2}' $RED5_HOME/conf/red5.properties)
|
|
RED5_RMI_USER=$(awk '/^[^#].+readwrite$/{print $1}' $RED5_HOME/conf/access.properties | head -1)
|
|
RED5_RMI_PASSWD=$(awk '/^'$RED5_RMI_USER'[\ \t]+/{print $2}' $RED5_HOME/conf/password.properties)
|
|
|
|
cat >/etc/rc.conf.d/red5 <<-EOF
|
|
red5_enable="YES"
|
|
red5_stop_timeout="30"
|
|
red5_stop_class_opts="$RED5_RMI_PORT $RED5_RMI_USER $RED5_RMI_PASSWD"
|
|
EOF
|
|
|
|
echo -n "Configure nginx:"
|
|
cd $NGINX_ETC
|
|
mkdir -p sites-available sites-enabled
|
|
|
|
echo -n " nginx.conf"
|
|
$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx.conf-dist nginx.conf
|
|
|
|
echo -n " bigbluebutton.conf"
|
|
$INSTALL_CMD $BBB_SHAREDIR/nginx/nginx-bigbluebutton.conf-dist \
|
|
sites-available/bigbluebutton.conf
|
|
sed -i '' $BBB_REPLACE nginx.conf sites-available/bigbluebutton.conf
|
|
cd sites-enabled
|
|
rm -f bigbluebutton.conf
|
|
ln -s ../sites-available/bigbluebutton.conf \
|
|
bigbluebutton.conf
|
|
cd $WWWDIR/client/conf
|
|
|
|
echo -n " config.xml"
|
|
$INSTALL_CMD config.xml-dist config.xml
|
|
sed -i '' $BBB_REPLACE config.xml
|
|
|
|
echo " rc.conf"
|
|
BBB_SRV_LIST="$BBB_SRV_LIST nginx"
|
|
cat >/etc/rc.conf.d/nginx <<-EOF
|
|
nginx_enable="YES"
|
|
EOF
|
|
|
|
echo -n "Save config:"
|
|
$INSTALL_CMD -m 0600 /dev/null $BBB_INSTALL_CONF
|
|
cat >$BBB_INSTALL_CONF <<-EOF
|
|
#
|
|
# ${BACKUP#.}
|
|
#
|
|
EOF
|
|
|
|
for var in $BBB_VAR_LIST; do
|
|
eval val=\$$var
|
|
cat >>$BBB_INSTALL_CONF <<-EOF
|
|
$var="$val"
|
|
EOF
|
|
done
|
|
echo " $BBB_INSTALL_CONF"
|
|
}
|
|
|
|
bbb_start() {
|
|
for i in $BBB_SRV_LIST; do
|
|
$PREFIX/etc/rc.d/$i start || true
|
|
done
|
|
}
|
|
|
|
bbb_stop() {
|
|
for i in $BBB_SRV_LIST; do
|
|
REVERSE_SRV_LIST="$i $REVERSE_SRV_LIST"
|
|
done
|
|
|
|
for i in $REVERSE_SRV_LIST; do
|
|
$PREFIX/etc/rc.d/$i stop || true
|
|
done
|
|
}
|
|
|
|
bbb_restart() {
|
|
bbb_stop
|
|
bbb_start
|
|
}
|
|
|
|
if [ "`/usr/bin/id -u`" != "0" ]; then
|
|
bbb_usage "$SCRIPT must be run as root"
|
|
fi
|
|
|
|
if [ $# -eq 0 ]; then
|
|
bbb_usage "$SCRIPT <install|start|stop|restart> [options]"
|
|
fi
|
|
|
|
BBB_ACTION="$1"
|
|
shift
|
|
|
|
while getopts :h:c: OPT; do
|
|
case "$OPT" in
|
|
h)
|
|
BBB_HOSTNAME="$OPTARG"
|
|
;;
|
|
c)
|
|
BBB_CONFERENCE_MODULE="$OPTARG"
|
|
;;
|
|
*)
|
|
bbb_usage "Error: '$OPTARG' is not a valid option"
|
|
;;
|
|
esac
|
|
done
|
|
|
|
case "$BBB_ACTION" in
|
|
install)
|
|
if [ -z "$BBB_HOSTNAME" ]; then
|
|
bbb_usage "Error: 'install' action required '-h' option"
|
|
else
|
|
if ! getent hosts "$BBB_HOSTNAME" >/dev/null 2>&1; then
|
|
bbb_usage "Error: hostname '$BBB_HOSTNAME' not found by getent command"
|
|
fi
|
|
fi
|
|
|
|
if [ -z "$BBB_CONFERENCE_MODULE" ]; then
|
|
bbb_usage "Error: 'install' action required '-c' option"
|
|
else
|
|
case "$BBB_CONFERENCE_MODULE" in
|
|
konference)
|
|
test -f $PREFIX/lib/asterisk/modules/app_konference.so || bbb_usage "Error: app_konference.so not found. Please reinstall %%PORTNAME%% with KONFERENCE option"
|
|
BBB_CONFERENCE_TYPE="asterisk"
|
|
BBB_NO_KONFERENCE=""
|
|
BBB_NO_MEETME=";"
|
|
;;
|
|
meetme)
|
|
test -f $PREFIX/lib/asterisk/modules/app_meetme.so || bbb_usage "Error: app_meetme.so not found. Please reinstall %%PORTNAME%% with MEETME option"
|
|
BBB_CONFERENCE_TYPE="asterisk"
|
|
BBB_NO_KONFERENCE=";"
|
|
BBB_NO_MEETME=""
|
|
;;
|
|
freeswitch)
|
|
test -f $PREFIX/bin/freeswitch || bbb_usage "Error: freeswitch not found. Please reinstall %%PORTNAME%% with FREESWITCH option"
|
|
BBB_CONFERENCE_TYPE="freeswitch"
|
|
;;
|
|
*)
|
|
bbb_usage "Error: unknown conference module '$BBB_CONFERENCE_TYPE'"
|
|
;;
|
|
esac
|
|
fi
|
|
bbb_install
|
|
;;
|
|
start|stop|restart)
|
|
if [ -n "$BBB_HOSTNAME" -o -n "$BBB_CONFERENCE_MODULE" ]; then
|
|
bbb_usage "Error: '$BBB_ACTION' action do not allow any options"
|
|
fi
|
|
|
|
if [ -s "$BBB_INSTALL_CONF" ]; then
|
|
. $BBB_INSTALL_CONF
|
|
else
|
|
bbb_usage "Error: '$BBB_ACTION' action allow only after install"
|
|
fi
|
|
|
|
eval bbb_$BBB_ACTION
|
|
;;
|
|
*)
|
|
bbb_usage "Error: '$BBB_ACTION' is not valid action"
|
|
;;
|
|
esac
|
|
|
|
exit 0
|