///////////////////////////////////////////////////////////////////////////////
#INCLUDING stringent.sh
stringent.sh copyright michael potter 2008
stringent.sh is intended to reduce the problems associated with
using bash by turning on bash options that make errors more
apparent. This will not eliminate problems and I am sure there
is some case where some problem will be made worse.
USE AT YOUR OWN RISK.
set -o errexit # errexit first
- set -o errexit
set -o noclobber
- set -o noclobber
set -o nounset
- set -o nounset
set -o pipefail # if you fail on this line, get a newer version of bash.
- set -o pipefail
function traperr
{
declare -i i;
declare -i nestlevel;
declare Message=${1:-""}
nestlevel=${#FUNCNAME[@]}
if (( $nestlevel <= 2 ))
then
echo “ERROR: ${BASH_SOURCE[1]}:${BASH_LINENO[0]} $Message” >&2
else
echo “ERROR: ${FUNCNAME[1]}(${BASH_SOURCE[1]}:~${BASH_LINENO[0]}) $Message” >&2
for (( i = 2 ; i < $nestlevel ; i++ ))
do
echo " ${FUNCNAME[$i]}(${BASH_SOURCE[$i]}:~${BASH_LINENO[($i-1)]})" >&2
done
fi
if BASH_SUBSHELL is 0, then script will exit anyway.
if (( $BASH_SUBSHELL >= 3 ))
then
kill $$
fi
echo -e “Some firstboot error occured, and the system is not properly setup.\nCheck to see if you have internet access and re-run /etc/pbx_first_boot.sh\nPress ctrl-alt-f1 to continue” >> /dev/tty8
exit 1
}
function traperrsimple
{
Use this function if the above function fails
echo “ERROR: ${BASH_SOURCE[0]} ${LINENO}” >&2
if BASH_SUBSHELL is 0, then script will exit anyway.
if (( $BASH_SUBSHELL >= 1 ))
then
kill $$
fi
}
set -o errtrace
- set -o errtrace
trap traperr ERR
- trap traperr ERR
function errexiton
{
set -o errexit
trap traperr ERR
}
function errexitoff
{
set +o errexit
trap ‘’ ERR
}
#END INCLUDE
test for internet and send back to freepbx
log_info “Testing for internet access”
- log_info ‘Testing for internet access’
- echo ‘Testing for internet access’
INTERFACE=$(ip route show | awk ’ /^default/ { print $5 }’)
ip route show | awk ’ /^default/ { print $5 }’)
ip route show | awk ’ /^default/ { print $5 }’
++ ip route show
++ awk ’ /^default/ { print $5 }’
- INTERFACE=eth0
MACADDR=$(ip -o link show ${INTERFACE} | awk ‘/link/ {print $13}’)
ip -o link show ${INTERFACE} | awk ‘/link/ {print $13}’)
ip -o link show ${INTERFACE} | awk ‘/link/ {print $13}’
++ ip -o link show eth0
++ awk ‘/link/ {print $13}’
- MACADDR=00:10:b5:a6:52:33
MACHASH=$(echo -en ${MACADDR} | md5sum - | awk ‘/-/ {print $1}’)
echo -en ${MACADDR} | md5sum - | awk ‘/-/ {print $1}’)
echo -en ${MACADDR} | md5sum - | awk ‘/-/ {print $1}’
++ echo -en 00:10:b5:a6:52:33
++ md5sum -
++ awk ‘/-/ {print $1}’
- MACHASH=1110560438faa78cda42d450ce20072b
ARCH=$(uname -m)
uname -m)
uname -m
++ uname -m
- ARCH=i686
FREEPBXVERS=$(head -n 1 /etc/schmooze/pbx-version)
head -n 1 /etc/schmooze/pbx-version)
head -n 1 /etc/schmooze/pbx-version
++ head -n 1 /etc/schmooze/pbx-version
- FREEPBXVERS=2.210.62-4
INSTALLTYPE=$(cat /installed-version | sed -e ‘s/.kickstart-([^.])./\1/’)
cat /installed-version | sed -e 's/.kickstart-([^.])./\1/’)
cat /installed-version | sed -e ‘s/.kickstart-([^.])./\1/’
++ cat /installed-version
++ sed -e 's/.kickstart-([^.])./\1/’
- INSTALLTYPE=raid-asterisk8
UARETURN=$(curl -s -m 30 -A “FreePBX Firstboot FreePBX-${FREEPBXVERS} ${ARCH} ${INSTALLTYPE}” --data mac=${MACADDR} --data mhash=${MACHASH} http://kickstart.freepbxdistro.org/install-log/)
curl -s -m 30 -A “FreePBX Firstboot FreePBX-${FREEPBXVERS} ${ARCH} ${INSTALLTYPE}” --data mac=${MACADDR} --data mhash=${MACHASH} http://kickstart.freepbxdistro.org/install-log/)
curl -s -m 30 -A “FreePBX Firstboot FreePBX-${FREEPBXVERS} ${ARCH} ${INSTALLTYPE}” --data mac=${MACADDR} --data mhash=${MACHASH} http://kickstart.freepbxdistro.org/install-log/
++ curl -s -m 30 -A ‘FreePBX Firstboot FreePBX-2.210.62-4 i686 raid-asterisk8’ --data mac=00:10:b5:a6:52:33 --data mhash=1110560438faa78cda42d450ce20072b http://kickstart.freepbxdistro.org/install-log/
- UARETURN=’{“status”:“passed”,“data”:{“ua”:“FreePBX Firstboot FreePBX-2.210.62-4 i686 raid-asterisk8”,“ipaddr”:“69.17.231.182”,“test”:0,“mac”:“00:10:b5:a6:52:33”,“mhash”:“1110560438faa78cda42d450ce20072b”}}’
echo ${UARETURN} | grep ‘passed’
- grep passed
- echo ‘{“status”:“passed”,“data”:{“ua”:"FreePBX’ Firstboot FreePBX-2.210.62-4 i686 ‘raid-asterisk8",“ipaddr”:“69.17.231.182”,“test”:0,“mac”:“00:10:b5:a6:52:33”,“mhash”:“1110560438faa78cda42d450ce20072b”}}’
{“status”:“passed”,“data”:{“ua”:“FreePBX Firstboot FreePBX-2.210.62-4 i686 raid-asterisk8”,“ipaddr”:“69.17.231.182”,“test”:0,“mac”:“00:10:b5:a6:52:33”,“mhash”:“1110560438faa78cda42d450ce20072b”}}
known good return{“status”:“passed”,“data”:{“ua”:“FreePBX Firstboot FreePBX-1.810.210.57 i386 raid”,“ipaddr”:“98.92.113.190”,“mac”:“00:13:e8:dc:ba:47”,“mhash”:“b95057354699ec012de93ac1b833ffd4”,“test”:1}}
errexitoff
- errexitoff
- set +o errexit
- trap ‘’ ERR
Setup logger
remove logger.conf so FreePBX 2.10 can symlink to it
log_info “Cleaning up logging configuration”
- log_info ‘Cleaning up logging configuration’
- echo 'Cleaning up logging configuration’
rm -rf /etc/asterisk/logger.conf
- rm -rf /etc/asterisk/logger.conf
Install FreePBX RPM
log_info “Please wait while we install FreePBX GUI”
- log_info ‘Please wait while we install FreePBX GUI’
- echo 'Please wait while we install FreePBX GUI’
log_info " This can take anywhere from 5-10 minutes"
- log_info ’ This can take anywhere from 5-10 minutes’
- echo ’ This can take anywhere from 5-10 minutes’
/usr/bin/yum -q -y install freepbx-2.10.0* freepbxdistro-header-2.10.0*
- /usr/bin/yum -q -y install ‘freepbx-2.10.0*’ ‘freepbxdistro-header-2.10.0*’
/usr/lib/yum-plugins/kmod.py:25: DeprecationWarning: the sets module is deprecated
from sets import Set, ImmutableSet
Package freepbx-2.10.0-99.noarch already installed and latest version
Package freepbxdistro-header-2.10.0-5.noarch already installed and latest version
Enable modules that in 2.10 are not being enabled from the RPM
log_info " … Enabling Asterisk modules"
- log_info ’ … Enabling Asterisk modules’
- echo ’ … Enabling Asterisk modules’
sudo -u asterisk /var/lib/asterisk/bin/module_admin enable fw_ari
- sudo -u asterisk /var/lib/asterisk/bin/module_admin enable fw_ari
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin enable framework
- sudo -u asterisk /var/lib/asterisk/bin/module_admin enable framework
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin disable userpaneltab
- sudo -u asterisk /var/lib/asterisk/bin/module_admin disable userpaneltab
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin disable fw_fop
- sudo -u asterisk /var/lib/asterisk/bin/module_admin disable fw_fop
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
- sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo: /var/lib/asterisk/bin/retrieve_conf: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
- sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
sudo: /var/lib/asterisk/bin/module_admin: command not found
pull in all freepbx modules and load them
log_info " … Loading all FreePBX modules"
- log_info ’ … Loading all FreePBX modules’
- echo ’ … Loading all FreePBX modules’
which amportal
chown
which amportal
++ which amportal
which: no amportal in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
- chown
chown: missing operand
Try `chown --help’ for more information.
sudo -u asterisk /var/lib/asterisk/bin/module_admin installlocal
- sudo -u asterisk /var/lib/asterisk/bin/module_admin installlocal
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin upgradeall
- sudo -u asterisk /var/lib/asterisk/bin/module_admin upgradeall
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin uninstall backup
- sudo -u asterisk /var/lib/asterisk/bin/module_admin uninstall backup
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin install backup
- sudo -u asterisk /var/lib/asterisk/bin/module_admin install backup
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin installlocal
- sudo -u asterisk /var/lib/asterisk/bin/module_admin installlocal
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin upgradeall
- sudo -u asterisk /var/lib/asterisk/bin/module_admin upgradeall
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
- sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo: /var/lib/asterisk/bin/retrieve_conf: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
- sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin download sysadmin
- sudo -u asterisk /var/lib/asterisk/bin/module_admin download sysadmin
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin install sysadmin
- sudo -u asterisk /var/lib/asterisk/bin/module_admin install sysadmin
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin install sysadmin
- sudo -u asterisk /var/lib/asterisk/bin/module_admin install sysadmin
sudo: /var/lib/asterisk/bin/module_admin: command not found
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
- sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo: /var/lib/asterisk/bin/retrieve_conf: command not found
sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
- sudo -u asterisk /var/lib/asterisk/bin/module_admin reload
sudo: /var/lib/asterisk/bin/module_admin: command not found
errexiton
- errexiton
- set -o errexit
- trap traperr ERR
Sysadmin RPM for Sysadmin Module Moved to Firstboot or we can create the incrontab
/usr/bin/yum -q -y install sysadmin-*
- /usr/bin/yum -q -y install ‘sysadmin-*’
/usr/lib/yum-plugins/kmod.py:25: DeprecationWarning: the sets module is deprecated
from sets import Set, ImmutableSet
Package sysadmin-2.6.1-118_centos6.noarch already installed and latest version
Install dahdi.conf file
/usr/bin/yum -q -y install schmooze-dahdi-*
- /usr/bin/yum -q -y install ‘schmooze-dahdi-*’
/usr/lib/yum-plugins/kmod.py:25: DeprecationWarning: the sets module is deprecated
from sets import Set, ImmutableSet
Package schmooze-dahdi-1.0.0-2.noarch already installed and latest version
Install wanpipe for Sangoma Cards
/usr/bin/yum -q -y install wanpipe-*
- /usr/bin/yum -q -y install ‘wanpipe-*’
/usr/lib/yum-plugins/kmod.py:25: DeprecationWarning: the sets module is deprecated
from sets import Set, ImmutableSet
Package wanpipe-3.5.28.6-kernel.2.6.32.220.13.1.el6.dahdi.2.6.1.rel.32.i686 already installed and latest version
Install iSymphony
/usr/bin/yum -q -y install iSymphonyServer-fpbx-*
- /usr/bin/yum -q -y install ‘iSymphonyServer-fpbx-*’
/usr/lib/yum-plugins/kmod.py:25: DeprecationWarning: the sets module is deprecated
from sets import Set, ImmutableSet
Package iSymphonyServer-fpbx-2.7.1_3989-1.noarch already installed and latest version
sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
- sudo -u asterisk /var/lib/asterisk/bin/retrieve_conf
sudo: /var/lib/asterisk/bin/retrieve_conf: command not found
traperr
++ traperr
++ declare -i i
++ declare -i nestlevel
++ declare Message=
++ nestlevel=2
++ (( 2 <= 2 ))
++ echo 'ERROR: pbx_first_boot.sh:158 '
ERROR: pbx_first_boot.sh:158
++ (( 0 >= 3 ))
++ echo -e ‘Some firstboot error occured, and the system is not properly setup.\nCheck to see if you have internet access and re-run /etc/pbx_first_boot.sh\nPress ctrl-alt-f1 to continue’
++ exit 1
//////////////////////////////////////////////////////////////////////////////