More work on simple installer
This commit is contained in:
parent
f9d52c6c00
commit
51627e6270
|
@ -0,0 +1,111 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
#-e Causes bash script to exit if any of the installers
|
||||||
|
#return with a non-zero return value.
|
||||||
|
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
echo "Please run as root user."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
#copy files to
|
||||||
|
## /etc/airtime
|
||||||
|
#+ /etc/apache2/sites-available/airtime
|
||||||
|
#+ /etc/apache2/sites-enabled/airtime
|
||||||
|
## /etc/cron.d/
|
||||||
|
## /etc/init.d/
|
||||||
|
## /etc/monit/conf.d/
|
||||||
|
# /usr/lib/airtime/airtime_virtualenv
|
||||||
|
## /usr/lib/airtime/api_clients
|
||||||
|
## /usr/lib/airtime/media-monitor
|
||||||
|
# /srv/airtime/stor
|
||||||
|
## /usr/lib/airtime/pypo
|
||||||
|
## /usr/lib/airtime/show-recorder
|
||||||
|
## /usr/lib/airtime/utils
|
||||||
|
## /usr/bin/airtime-*
|
||||||
|
## /usr/share/airtime
|
||||||
|
## /var/log/airtime
|
||||||
|
## /var/tmp/airtime
|
||||||
|
|
||||||
|
# Absolute path to this script, e.g. /home/user/bin/foo.sh
|
||||||
|
SCRIPT=`readlink -f $0`
|
||||||
|
# Absolute path this script is in, thus /home/user/bin
|
||||||
|
SCRIPTPATH=`dirname $SCRIPT`
|
||||||
|
|
||||||
|
AIRTIMEROOT=$SCRIPTPATH/../../
|
||||||
|
|
||||||
|
echo "* Creating /etc/airtime"
|
||||||
|
mkdir -p /etc/airtime
|
||||||
|
if [ ! -e /etc/airtime/airtime.conf ]; then
|
||||||
|
#config file airtime.conf exists, but Airtime is not installed
|
||||||
|
cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime
|
||||||
|
fi
|
||||||
|
|
||||||
|
#if [ -e /etc/airtime/airtime.conf -a "$DO_UPGRADE" -eq "0" ]; then
|
||||||
|
#config file airtime.conf exists, but Airtime is not installed
|
||||||
|
# mv /etc/airtime/airtime.conf airtime.conf.bak
|
||||||
|
# cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime
|
||||||
|
#fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "* Creating /etc/monit/conf.d/monit-airtime-generic.cfg"
|
||||||
|
mkdir -p /etc/monit/conf.d/
|
||||||
|
if [ ! -e /etc/monit/conf.d/monit-airtime-generic.cfg ]; then
|
||||||
|
rm -f /etc/monit/conf.d/*airtime*
|
||||||
|
cp $AIRTIMEROOT/python_apps/monit/monit-airtime-generic.cfg /etc/monit/conf.d/
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
echo "* Creating /etc/cron.d/airtime-crons"
|
||||||
|
HOUR=$(($RANDOM%24))
|
||||||
|
MIN=$(($RANDOM%60))
|
||||||
|
echo "$MIN $HOUR * * * root /usr/lib/airtime/utils/phone_home_stat" > /etc/cron.d/airtime-crons
|
||||||
|
|
||||||
|
echo "* Creating /usr/lib/airtime"
|
||||||
|
if [ "$python_service" -eq "0" ]; then
|
||||||
|
python $AIRTIMEROOT/python_apps/api_clients/install/api_client_install.py
|
||||||
|
|
||||||
|
if [ "$mediamonitor" = "t" ]; then
|
||||||
|
python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-copy-files.py
|
||||||
|
fi
|
||||||
|
if [ "$pypo" = "t" ]; then
|
||||||
|
python $AIRTIMEROOT/python_apps/pypo/install/pypo-copy-files.py
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
cp -R $AIRTIMEROOT/utils /usr/lib/airtime
|
||||||
|
cp -R $AIRTIMEROOT/python_apps/std_err_override /usr/lib/airtime
|
||||||
|
|
||||||
|
echo "* Creating symbolic links in /usr/bin"
|
||||||
|
#create symbolic links
|
||||||
|
ln -sf /usr/lib/airtime/utils/airtime-import/airtime-import /usr/bin/airtime-import
|
||||||
|
ln -sf /usr/lib/airtime/utils/airtime-update-db-settings /usr/bin/airtime-update-db-settings
|
||||||
|
ln -sf /usr/lib/airtime/utils/airtime-check-system /usr/bin/airtime-check-system
|
||||||
|
ln -sf /usr/lib/airtime/utils/airtime-log /usr/bin/airtime-log
|
||||||
|
ln -sf /usr/lib/airtime/utils/airtime-test-soundcard /usr/bin/airtime-test-soundcard
|
||||||
|
ln -sf /usr/lib/airtime/utils/airtime-test-stream /usr/bin/airtime-test-stream
|
||||||
|
ln -sf /usr/lib/airtime/utils/airtime-silan /usr/bin/airtime-silan
|
||||||
|
|
||||||
|
echo "* Creating /var/log/airtime"
|
||||||
|
mkdir -p /var/log/airtime
|
||||||
|
chmod a+x /var/log/airtime
|
||||||
|
chown www-data:www-data /var/log/airtime/
|
||||||
|
chown pypo:pypo /var/log/airtime/pypo
|
||||||
|
chown pypo:pypo /var/log/airtime/pypo-liquidsoap
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$web" = "t" ]; then
|
||||||
|
echo "* Creating /usr/share/airtime"
|
||||||
|
rm -rf "/usr/share/airtime"
|
||||||
|
mkdir -p /usr/share/airtime
|
||||||
|
cp -R $AIRTIMEROOT/airtime_mvc/* /usr/share/airtime/
|
||||||
|
rm -f /etc/logrotate.d/airtime-php
|
||||||
|
cp $AIRTIMEROOT/airtime_mvc/build/airtime-php.logrotate /etc/logrotate.d/airtime-php
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "* Creating /var/log/airtime"
|
||||||
|
mkdir -p /var/log/airtime
|
||||||
|
|
||||||
|
echo "* Creating /var/tmp/airtime"
|
||||||
|
mkdir -p /var/tmp/airtime
|
||||||
|
|
||||||
|
#Finished copying files
|
|
@ -0,0 +1,67 @@
|
||||||
|
#!/bin/bash -e
|
||||||
|
#-e Causes bash script to exit if any of the installers
|
||||||
|
#return with a non-zero return value.
|
||||||
|
|
||||||
|
if [[ $EUID -ne 0 ]]; then
|
||||||
|
echo "Please run as root user."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
set +e
|
||||||
|
dist=`lsb_release -is`
|
||||||
|
echo "Generating locales"
|
||||||
|
for i in `ls /usr/share/airtime/locale | grep ".._.."`; do
|
||||||
|
if [ "$dist" = "Debian" ]; then
|
||||||
|
grep -qi "^$i" /etc/locale.gen
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "$i.UTF-8 UTF-8" >> /etc/locale.gen
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
locale-gen "$i.utf8"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ "$dist" = "Debian" ]; then
|
||||||
|
/usr/sbin/locale-gen
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Absolute path to this script, e.g. /home/user/bin/foo.sh
|
||||||
|
SCRIPT=`readlink -f $0`
|
||||||
|
# Absolute path this script is in, thus /home/user/bin
|
||||||
|
SCRIPTPATH=`dirname $SCRIPT`
|
||||||
|
|
||||||
|
AIRTIMEROOT=$SCRIPTPATH/../../
|
||||||
|
|
||||||
|
if [ "$mediamonitor" = "t" ]; then
|
||||||
|
python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-initialize.py
|
||||||
|
fi
|
||||||
|
if [ "$pypo" = "t" ]; then
|
||||||
|
python $AIRTIMEROOT/python_apps/pypo/install/pypo-initialize.py
|
||||||
|
fi
|
||||||
|
|
||||||
|
chmod 600 /etc/monit/conf.d/monit-airtime-generic.cfg
|
||||||
|
chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg
|
||||||
|
chmod 600 /etc/monit/conf.d/monit-airtime-media-monitor.cfg
|
||||||
|
chmod 600 /etc/monit/conf.d/monit-airtime-playout.cfg
|
||||||
|
chmod 600 /etc/monit/conf.d/monit-airtime-liquidsoap.cfg
|
||||||
|
|
||||||
|
# Start monit if it is not running, or restart if it is.
|
||||||
|
# Need to ensure monit is running before Airtime daemons are run. This is
|
||||||
|
# so we can ensure they can register with monit to monitor them when they start.
|
||||||
|
# If monit is already running, this step is still useful as we need monit to
|
||||||
|
# reload its config files.
|
||||||
|
invoke-rc.d monit restart
|
||||||
|
|
||||||
|
#give monit some time to boot-up before issuing commands
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
set +e
|
||||||
|
if [ "$mediamonitor" = "t" ]; then
|
||||||
|
monit monitor airtime-media-monitor
|
||||||
|
fi
|
||||||
|
if [ "$pypo" = "t" ]; then
|
||||||
|
monit monitor airtime-playout
|
||||||
|
monit monitor airtime-liquidsoap
|
||||||
|
fi
|
||||||
|
set -e
|
|
@ -131,7 +131,9 @@ chown -R www-data:www-data /var/log/airtime
|
||||||
|
|
||||||
apt-get -y --force-yes install postgresql php5-pgsql php5-mysql
|
apt-get -y --force-yes install postgresql php5-pgsql php5-mysql
|
||||||
|
|
||||||
# TODO copy files over to /usr/share/airtime
|
# Copy files to /usr/share/airtime
|
||||||
|
export airtime_service_start='t'
|
||||||
|
airtime/airtime-copy-files.sh $@
|
||||||
|
|
||||||
echo -e "\n-----------------------------------------------------"
|
echo -e "\n-----------------------------------------------------"
|
||||||
echo " * Basic Setup DONE! * "
|
echo " * Basic Setup DONE! * "
|
||||||
|
|
Loading…
Reference in New Issue