Files
fusionpbx-install.sh/debian/install.sh
Mafoo 5482b1b932 Enhance-Add OS-CPU bit checking (#17)
encourage users to submit the output of lsb_release as an issue when
that test fails, this should allow contributors not in irc at the time
of the problem to see the information
Add CPU and OS bit checking which can be disabled with --no-cpu-check
2016-06-11 08:52:38 -06:00

140 lines
3.8 KiB
Bash
Executable File

#!/bin/sh
#Process command line options
ARGS=$(getopt -n 'install.sh' -o h -l help,use-switch-source,use-switch-package-all,use-switch-master,use-switch-package-unofficial-arm,no-cpu-check -- "$@")
if [ $? -ne 0 ]; then
echo "Failed parsing options."
exit 1
fi
export USE_SWITCH_SOURCE=false
export USE_SWITCH_PACKAGE_ALL=false
export USE_SWITCH_PACKAGE_UNOFFICIAL_ARM=false
export USE_SWITCH_MASTER=false
export CPU_CHECK=true
HELP=false
while true; do
case "$1" in
--use-switch-source ) export USE_SWITCH_SOURCE=true; shift ;;
--use-switch-package-all ) export USE_SWITCH_PACKAGE_ALL=true; shift ;;
--use-switch-package-unofficial-arm ) export USE_SWITCH_PACKAGE_UNOFFICIAL_ARM=true; shift ;;
--use-switch-master ) export USE_SWITCH_MASTER=true; shift ;;
--no-cpu-check ) export CPU_CHECK=false; shift ;;
-h | --help ) HELP=true; shift ;;
-- ) shift; break ;;
* ) break ;;
esac
done
if [ $HELP = true ]; then
echo "Debian installer script"
echo " --use-switch-source will use freeswitch from source rather than (default:packages)"
echo " --use-switch-package-all if using packages use the meta-all package"
echo " --use-switch-package-unofficial-arm if your system is arm and you are using packages, use the unofficial arm repo"
echo " --use-switch-master will use master branch/packages instead of (default:stable)"
echo " --no-cpu-check disable the cpu check (default:check)"
exit;
fi
if [ $CPU_CHECK = true ]; then
#check what the CPU is
OS_bits=$(uname -m)
OS_arch=$(uname -m)
CPU_bits='i686'
if [ $(grep -o -w 'lm' /proc/cpuinfo) = 'lm' ]; then
CPU_bits='x86_64'
fi
if [ $USE_SWITCH_SOURCE = false ]; then
if [ $OS_arch = 'armv7l' ]; then
if [ $USE_SWITCH_PACKAGE_UNOFFICIAL_ARM = false && OS_bits = 'i686' ]; then
echo "You are using a 32bit arm OS this is unsupported"
echo " please rerun with either --use-switch-package-unofficial-arm or --use-switch-source"
exit 3
fi
else
if [ $OS_bits = 'i686' ]; then
echo "You are using a 32bit OS this is unsupported"
if [ $CPU_bits = 'x86_64' ]; then
echo "Your CPU is 64bit you should consider reinstalling with a 64bit OS"
fi
echo " please rerun with --use-switch-source"
exit 3
fi
fi
fi
fi
# removes the cd img from the /etc/apt/sources.list file (not needed after base install)
sed -i '/cdrom:/d' /etc/apt/sources.list
#Update Debian
echo "Update Debian"
apt-get upgrade && apt-get update -y --force-yes
#move to script directory so all relative paths work
cd "$(dirname "$0")"
#IPTables
resources/iptables.sh
#FusionPBX
resources/fusionpbx.sh
#NGINX web server
resources/nginx.sh
#Fail2ban
resources/fail2ban.sh
#FreeSWITCH
if [ $USE_SWITCH_SOURCE = true ]; then
if [ $USE_SWITCH_MASTER = true ]; then
resources/switch/source-master.sh
else
resources/switch/source-release.sh
fi
resources/switch/source-permissions.sh
else
if [ $USE_SWITCH_MASTER = true ]; then
if [ $USE_SWITCH_PACKAGE_ALL = true ]; then
resources/switch/package-master-all.sh
else
resources/switch/package-master.sh
fi
else
if [ $USE_SWITCH_PACKAGE_ALL = true ]; then
resources/switch/package-all.sh
else
resources/switch/package-release.sh
fi
fi
resources/switch/package-permissions.sh
fi
#Postgres
resources/postgres.sh
#set the ip address
server_address=$(hostname -I)
#restart services
systemctl daemon-reload
systemctl try-restart freeswitch
systemctl daemon-reload
systemctl restart php5-fpm
systemctl restart nginx
systemctl restart fail2ban
#Show database password
echo "Complete the install by by going to the IP address of this server ";
echo "in your web browser or with a domain name for this server.";
echo " https://$server_address"
echo ""
echo ""
#wait for the config.php to exist and then restart the service
#resources/./finish.sh