diff --git a/install_minimal/airtime-install b/install_minimal/airtime-install index 203f61dbf..e9bd99df3 100755 --- a/install_minimal/airtime-install +++ b/install_minimal/airtime-install @@ -15,7 +15,6 @@ if [[ "$DEB" = "Status: install ok installed" ]]; then exit 1 fi - #Check whether version of virtualenv is <= 1.4.8. If so exit install. BAD_VERSION="1.4.8" VERSION=$(virtualenv --version) @@ -33,19 +32,19 @@ fi echo -e "\n******************************** Install Begin *********************************" -# Absolute path to this script +# Absolute path to this script, e.g. /home/user/bin/foo.sh SCRIPT=`readlink -f $0` -# Absolute directory this script is in +# Absolute path this script is in, thus /home/user/bin SCRIPTPATH=`dirname $SCRIPT` -${SCRIPTPATH}/../python_apps/python-virtualenv/virtualenv-install.sh +python $SCRIPTPATH/../python_apps/create-pypo-user.py +$SCRIPTPATH/include/airtime-copy-files.sh + +${SCRIPTPATH}/../python_apps/python-virtualenv/virtualenv-install.sh virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" . ${virtualenv_bin}activate -echo -e "\n*** Creating Pypo User ***" -python ${SCRIPTPATH}/../python_apps/create-pypo-user.py - set +e php --php-ini ${SCRIPTPATH}/airtime-php.ini ${SCRIPTPATH}/include/airtime-install.php $@ result=$? @@ -57,35 +56,32 @@ if [ "$result" -ne "0" ]; then fi set -e -echo -e "\n*** API Client Installation ***" -python ${SCRIPTPATH}/../python_apps/api_clients/install/api_client_install.py - -echo -e "\n*** Pypo Installation ***" -python ${SCRIPTPATH}/../python_apps/pypo/install/pypo-install.py - -echo -e "\n*** Recorder Installation ***" -python ${SCRIPTPATH}/../python_apps/show-recorder/install/recorder-install.py - -echo -e "\n*** Media Monitor Installation ***" -python ${SCRIPTPATH}/../python_apps/media-monitor/install/media-monitor-install.py - -python ${SCRIPTPATH}/../python_apps/icecast2/install/icecast2-install.py +python $SCRIPTPATH/../python_apps/pypo/install/pypo-initialize.py +python $SCRIPTPATH/../python_apps/media-monitor/install/media-monitor-initialize.py +python $SCRIPTPATH/../python_apps/show-recorder/install/recorder-initialize.py # 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. + +echo "Restarting" /etc/init.d/monit restart +echo "Restarting Done" #give monit some time to boot-up before issuing commands sleep 1 set +e monit monitor airtime-media-monitor +sleep 0.5 monit monitor airtime-liquidsoap +sleep 0.5 monit monitor airtime-playout +sleep 0.5 monit monitor airtime-show-recorder +sleep 0.5 monit monitor rabbitmq-server set -e diff --git a/install_minimal/airtime-install-new b/install_minimal/airtime-install-new deleted file mode 100644 index d9be45eb4..000000000 --- a/install_minimal/airtime-install-new +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/bash -e -#-e Causes bash script to exit if any of the installers -#return with a non-zero return value. - -if [ `whoami` != 'root' ]; then - echo "Please run as root user." - exit 1 -fi - -set +e -DEB=$(dpkg -s airtime 2> /dev/null | grep Status) -set -e -if [[ "$DEB" = "Status: install ok installed" ]]; then - echo -e "\nDebian package of Airtime detected. Please use the debian package to upgrade.\n" - exit 1 -fi - -#Check whether version of virtualenv is <= 1.4.8. If so exit install. -BAD_VERSION="1.4.8" -VERSION=$(virtualenv --version) -NEWEST_VERSION=$(echo -e "$BAD_VERSION\n$VERSION\n'" | sort -t '.' -g | tail -n 1) -echo -n "Ensuring python-virtualenv version > $BAD_VERSION..." -if [[ "$NEWEST_VERSION" = "$BAD_VERSION" ]]; then - URL="http://apt.sourcefabric.org/pool/main/p/python-virtualenv/python-virtualenv_1.4.9-3_all.deb" - echo "Failed!" - echo "You have version $BAD_VERSION or older installed. Please install package at $URL first and then try installing Airtime again." - exit 1 -else - echo "Success!" -fi - - -echo -e "\n******************************** Install Begin *********************************" - -#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 -# /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` - -mkdir -p /etc/airtime -cp $SCRIPTPATH/../airtime_mvc/build/airtime.conf /etc/airtime -cp $SCRIPTPATH/../python_apps/api_clients/api_client.cfg /etc/airtime -cp $SCRIPTPATH/../python_apps/show-recorder/recorder.cfg /etc/airtime -cp $SCRIPTPATH/../python_apps/media-monitor/media-monitor.cfg /etc/airtime -cp $SCRIPTPATH/../python_apps/pypo/pypo.cfg /etc/airtime -cp $SCRIPTPATH/../python_apps/pypo/liquidsoap_scripts/liquidsoap.cfg /etc/airtime - -HOUR=$(($RANDOM%24)) -MIN=$(($RANDOM%60)) -echo "$MIN $HOUR * * * root /usr/lib/airtime/utils/phone_home_stat" > /etc/cron.d/airtime-crons - -cp $SCRIPTPATH/../python_apps/show-recorder/airtime-show-recorder-init-d /etc/init.d/airtime-show-recorder -cp $SCRIPTPATH/../python_apps/media-monitor/airtime-media-monitor-init-d /etc/init.d/airtime-media-monitor -cp $SCRIPTPATH/../python_apps/pypo/airtime-playout-init-d /etc/init.d/airtime-playout - -cp $SCRIPTPATH/../python_apps/monit/monit-airtime-generic.cfg /etc/monit/conf.d/ -#cp $SCRIPTPATH/../python_apps/monit/monit-airtime-rabbitmq-server.cfg /etc/monit/conf.d/ -cp $SCRIPTPATH/../python_apps/media-monitor/monit-airtime-media-monitor.cfg /etc/monit/conf.d/ -cp $SCRIPTPATH/../python_apps/show-recorder/monit-airtime-show-recorder.cfg /etc/monit/conf.d/ -cp $SCRIPTPATH/../python_apps/pypo/monit-airtime-liquidsoap.cfg /etc/monit/conf.d/ -cp $SCRIPTPATH/../python_apps/pypo/monit-airtime-playout.cfg /etc/monit/conf.d/ - -cp -R $SCRIPTPATH/../utils /usr/lib/airtime - -ln -s /usr/lib/airtime/utils/airtime-import/airtime-import /usr/bin/airtime-import -ln -s /usr/lib/airtime/utils/airtime-update-db-settings /usr/bin/airtime-update-db-settings -ln -s /usr/lib/airtime/utils/airtime-check-system /usr/bin/airtime-check-system -ln -s /usr/lib/airtime/utils/airtime-log /usr/bin/airtime-log - -cp -R $SCRIPTPATH/../airtime_mvc/* /usr/share/airtime/ - -mkdir -p /var/log/airtime -mkdir -p /var/tmp/airtime diff --git a/install_minimal/airtime-install-old b/install_minimal/airtime-install-old new file mode 100755 index 000000000..203f61dbf --- /dev/null +++ b/install_minimal/airtime-install-old @@ -0,0 +1,96 @@ +#!/bin/bash -e +#-e Causes bash script to exit if any of the installers +#return with a non-zero return value. + +if [ `whoami` != 'root' ]; then + echo "Please run as root user." + exit 1 +fi + +set +e +DEB=$(dpkg -s airtime 2> /dev/null | grep Status) +set -e +if [[ "$DEB" = "Status: install ok installed" ]]; then + echo -e "\nDebian package of Airtime detected. Please use the debian package to upgrade.\n" + exit 1 +fi + + +#Check whether version of virtualenv is <= 1.4.8. If so exit install. +BAD_VERSION="1.4.8" +VERSION=$(virtualenv --version) +NEWEST_VERSION=$(echo -e "$BAD_VERSION\n$VERSION\n'" | sort -t '.' -g | tail -n 1) +echo -n "Ensuring python-virtualenv version > $BAD_VERSION..." +if [[ "$NEWEST_VERSION" = "$BAD_VERSION" ]]; then + URL="http://apt.sourcefabric.org/pool/main/p/python-virtualenv/python-virtualenv_1.4.9-3_all.deb" + echo "Failed!" + echo "You have version $BAD_VERSION or older installed. Please install package at $URL first and then try installing Airtime again." + exit 1 +else + echo "Success!" +fi + + +echo -e "\n******************************** Install Begin *********************************" + +# Absolute path to this script +SCRIPT=`readlink -f $0` +# Absolute directory this script is in +SCRIPTPATH=`dirname $SCRIPT` + +${SCRIPTPATH}/../python_apps/python-virtualenv/virtualenv-install.sh + +virtualenv_bin="/usr/lib/airtime/airtime_virtualenv/bin/" +. ${virtualenv_bin}activate + +echo -e "\n*** Creating Pypo User ***" +python ${SCRIPTPATH}/../python_apps/create-pypo-user.py + +set +e +php --php-ini ${SCRIPTPATH}/airtime-php.ini ${SCRIPTPATH}/include/airtime-install.php $@ +result=$? + +if [ "$result" -ne "0" ]; then + #There was an error, exit with error code. + echo "There was an error during upgrade. Exit code $result" + exit 1 +fi +set -e + +echo -e "\n*** API Client Installation ***" +python ${SCRIPTPATH}/../python_apps/api_clients/install/api_client_install.py + +echo -e "\n*** Pypo Installation ***" +python ${SCRIPTPATH}/../python_apps/pypo/install/pypo-install.py + +echo -e "\n*** Recorder Installation ***" +python ${SCRIPTPATH}/../python_apps/show-recorder/install/recorder-install.py + +echo -e "\n*** Media Monitor Installation ***" +python ${SCRIPTPATH}/../python_apps/media-monitor/install/media-monitor-install.py + +python ${SCRIPTPATH}/../python_apps/icecast2/install/icecast2-install.py + +# 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. +/etc/init.d/monit restart + +#give monit some time to boot-up before issuing commands +sleep 1 + +set +e +monit monitor airtime-media-monitor +monit monitor airtime-liquidsoap +monit monitor airtime-playout +monit monitor airtime-show-recorder +monit monitor rabbitmq-server +set -e + +echo -e "\n*** Verifying your system environment ***" +sleep 10 +airtime-check-system + +echo -e "\n******************************* Install Complete *******************************" diff --git a/install_minimal/include/airtime-copy-files.sh b/install_minimal/include/airtime-copy-files.sh new file mode 100755 index 000000000..327dc4784 --- /dev/null +++ b/install_minimal/include/airtime-copy-files.sh @@ -0,0 +1,78 @@ +#!/bin/bash -e +#-e Causes bash script to exit if any of the installers +#return with a non-zero return value. + +if [ `whoami` != 'root' ]; 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/../../ + +mkdir -p /etc/airtime +cp $AIRTIMEROOT/airtime_mvc/build/airtime.conf /etc/airtime +cp $AIRTIMEROOT/python_apps/api_clients/api_client.cfg /etc/airtime +cp $AIRTIMEROOT/python_apps/show-recorder/recorder.cfg /etc/airtime +cp $AIRTIMEROOT/python_apps/media-monitor/media-monitor.cfg /etc/airtime +cp $AIRTIMEROOT/python_apps/pypo/pypo.cfg /etc/airtime +cp $AIRTIMEROOT/python_apps/pypo/liquidsoap_scripts/liquidsoap.cfg /etc/airtime + +HOUR=$(($RANDOM%24)) +MIN=$(($RANDOM%60)) +echo "$MIN $HOUR * * * root /usr/lib/airtime/utils/phone_home_stat" > /etc/cron.d/airtime-crons + +cp $AIRTIMEROOT/python_apps/show-recorder/airtime-show-recorder-init-d /etc/init.d/airtime-show-recorder +cp $AIRTIMEROOT/python_apps/media-monitor/airtime-media-monitor-init-d /etc/init.d/airtime-media-monitor +cp $AIRTIMEROOT/python_apps/pypo/airtime-playout-init-d /etc/init.d/airtime-playout + +cp $AIRTIMEROOT/python_apps/monit/monit-airtime-generic.cfg /etc/monit/conf.d/ +#cp $AIRTIMEROOT/python_apps/monit/monit-airtime-rabbitmq-server.cfg /etc/monit/conf.d/ +cp $AIRTIMEROOT/python_apps/media-monitor/monit-airtime-media-monitor.cfg /etc/monit/conf.d/ +cp $AIRTIMEROOT/python_apps/show-recorder/monit-airtime-show-recorder.cfg /etc/monit/conf.d/ +cp $AIRTIMEROOT/python_apps/pypo/monit-airtime-liquidsoap.cfg /etc/monit/conf.d/ +cp $AIRTIMEROOT/python_apps/pypo/monit-airtime-playout.cfg /etc/monit/conf.d/ + +python $AIRTIMEROOT/python_apps/api_clients/install/api_client_install.py +python $AIRTIMEROOT/python_apps/pypo/install/pypo-install-files.py +python $AIRTIMEROOT/python_apps/media-monitor/install/media-monitor-install-files.py +python $AIRTIMEROOT/python_apps/show-recorder/install/recorder-install-files.py + +cp -R $AIRTIMEROOT/utils /usr/lib/airtime + +#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 + +mkdir -p /usr/share/airtime +cp -R $AIRTIMEROOT/airtime_mvc/* /usr/share/airtime/ + +mkdir -p /var/log/airtime +mkdir -p /var/tmp/airtime + +#Finished copying files diff --git a/install_minimal/include/airtime-install.php b/install_minimal/include/airtime-install.php index 3565d0d52..b567de19e 100644 --- a/install_minimal/include/airtime-install.php +++ b/install_minimal/include/airtime-install.php @@ -16,9 +16,6 @@ require_once(dirname(__FILE__).'/AirtimeInstall.php'); require_once(__DIR__.'/airtime-constants.php'); - - - AirtimeInstall::ExitIfNotRoot(); require_once('Zend/Loader/Autoloader.php'); @@ -117,8 +114,8 @@ if ($overwrite) { AirtimeIni::CreateIniFiles(); } -AirtimeInstall::InstallPhpCode(); -AirtimeInstall::InstallBinaries(); +//AirtimeInstall::InstallPhpCode(); +//AirtimeInstall::InstallBinaries(); if ($overwrite) { echo "* Initializing INI files".PHP_EOL; @@ -144,10 +141,10 @@ if ($db_install) { } } -AirtimeInstall::CreateSymlinksToUtils(); +#AirtimeInstall::CreateSymlinksToUtils(); AirtimeInstall::CreateZendPhpLogFile(); -AirtimeInstall::CreateCronFile(); +#AirtimeInstall::CreateCronFile(); /* FINISHED AIRTIME PHP INSTALLER */ diff --git a/python_apps/media-monitor/install/media-monitor-initialize.py b/python_apps/media-monitor/install/media-monitor-initialize.py index 17a634207..9e908c859 100644 --- a/python_apps/media-monitor/install/media-monitor-initialize.py +++ b/python_apps/media-monitor/install/media-monitor-initialize.py @@ -11,8 +11,8 @@ try: sts = os.waitpid(p.pid, 0)[1] #Start media-monitor daemon - #p = Popen("/etc/init.d/airtime-media-monitor start-no-monit", shell=True) - p = Popen("/etc/init.d/airtime-media-monitor restart", shell=True) + p = Popen("/etc/init.d/airtime-media-monitor stop", shell=True) + p = Popen("/etc/init.d/airtime-media-monitor start-no-monit", shell=True) sts = os.waitpid(p.pid, 0)[1] except Exception, e: print e diff --git a/python_apps/media-monitor/install/media-monitor-install-files.py b/python_apps/media-monitor/install/media-monitor-install-files.py index ee001da06..1f6c4de4d 100644 --- a/python_apps/media-monitor/install/media-monitor-install-files.py +++ b/python_apps/media-monitor/install/media-monitor-install-files.py @@ -44,6 +44,7 @@ try: #create log dir create_dir(config['log_dir']) + os.system("chown -R pypo:pypo "+config["log_dir"]) #copy python files copy_dir("%s/.."%current_script_dir, config["bin_dir"]) diff --git a/python_apps/pypo/install/pypo-initialize.py b/python_apps/pypo/install/pypo-initialize.py index e1c06fc9d..57a648de2 100644 --- a/python_apps/pypo/install/pypo-initialize.py +++ b/python_apps/pypo/install/pypo-initialize.py @@ -102,8 +102,8 @@ try: #restart airtime-playout print "Waiting for processes to start..." - #p = Popen("/etc/init.d/airtime-playout start-no-monit", shell=True) - p = Popen("/etc/init.d/airtime-playout restart", shell=True) + p = Popen("/etc/init.d/airtime-playout stop", shell=True) + p = Popen("/etc/init.d/airtime-playout start-no-monit", shell=True) sts = os.waitpid(p.pid, 0)[1] except Exception, e: diff --git a/python_apps/pypo/install/pypo-install-files.py b/python_apps/pypo/install/pypo-install-files.py index 791c12f92..05b30676a 100644 --- a/python_apps/pypo/install/pypo-install-files.py +++ b/python_apps/pypo/install/pypo-install-files.py @@ -45,9 +45,11 @@ try: #create pypo log dir create_dir(config['pypo_log_dir']) + os.system("chown -R pypo:pypo "+config["pypo_log_dir"]) #create liquidsoap log dir create_dir(config['liquidsoap_log_dir']) + os.system("chown -R pypo:pypo "+config["liquidsoap_log_dir"]) #create cache, tmp, file dirs create_dir(config['cache_dir'])