103 lines
3.1 KiB
Bash
Executable File
103 lines
3.1 KiB
Bash
Executable File
#!/bin/bash -e
|
|
#
|
|
# Auto install script for airtime on Ubuntu
|
|
#
|
|
|
|
exec > >(tee install_log.txt)
|
|
exec 2>&1
|
|
|
|
if [ "$(id -u)" != "0" ]; then
|
|
echo "Please run as root user."
|
|
exit 1
|
|
fi
|
|
|
|
#Current dir
|
|
# 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`
|
|
|
|
#Prerequisite
|
|
echo "----------------------------------------------------"
|
|
echo " 1. Install Packages"
|
|
echo "----------------------------------------------------"
|
|
|
|
dist=`lsb_release -is`
|
|
|
|
if [ "$dist" = "Debian" ]; then
|
|
grep "deb http://www.debian-multimedia.org squeeze main non-free" /etc/apt/sources.list
|
|
if [ "$?" -ne "0" ]; then
|
|
echo "deb http://www.debian-multimedia.org squeeze main non-free" >> /etc/apt/sources.list
|
|
fi
|
|
fi
|
|
|
|
apt-get update
|
|
|
|
# Updated package list
|
|
apt-get -y install tar gzip curl apache2 php5-pgsql libapache2-mod-php5 \
|
|
php-pear php5-gd postgresql odbc-postgresql python libsoundtouch-ocaml \
|
|
libtaglib-ocaml libao-ocaml libmad-ocaml ecasound \
|
|
libesd0 libportaudio2 libsamplerate0 rabbitmq-server patch \
|
|
php5-curl mpg123 monit python-virtualenv multitail libcamomile-ocaml-data \
|
|
libpulse0 vorbis-tools lsb-release lsof sudo
|
|
|
|
#install packages with --force-yes option (this is useful in the case
|
|
#of Debian, where these packages are unauthorized)
|
|
apt-get -y --force-yes install libmp3lame-dev lame icecast2
|
|
|
|
|
|
#Debian Squeeze only has zendframework package. Newer versions of Ubuntu have zend-framework package.
|
|
#Ubuntu Lucid has both zendframework and zend-framework. Difference appears to be that zendframework is for
|
|
#1.10 and zend-framework is 1.11
|
|
if [ "$dist" = "Debian" ]; then
|
|
apt-get -y install zendframework
|
|
else
|
|
apt-get -y install libzend-framework-php
|
|
fi
|
|
|
|
# Apache Config File
|
|
echo "----------------------------------------------------"
|
|
echo "2. Apache Config File"
|
|
echo "----------------------------------------------------"
|
|
if [ ! -f /etc/apache2/sites-available/airtime ]; then
|
|
cp $SCRIPTPATH/../apache/airtime-vhost /etc/apache2/sites-available/airtime
|
|
a2dissite default
|
|
a2ensite airtime
|
|
a2enmod rewrite php5
|
|
service apache2 restart
|
|
else
|
|
echo "Apache config for Airtime already exists..."
|
|
fi
|
|
|
|
# Enable Icecast
|
|
echo "----------------------------------------------------"
|
|
echo "3. Enable Icecast"
|
|
echo "----------------------------------------------------"
|
|
cd /etc/default/
|
|
sed -i 's/ENABLE=false/ENABLE=true/g' icecast2
|
|
set +e
|
|
service icecast2 start
|
|
set -e
|
|
echo ""
|
|
|
|
# Enable Monit
|
|
echo "----------------------------------------------------"
|
|
echo "4. Enable Monit"
|
|
echo "----------------------------------------------------"
|
|
cd /etc/default/
|
|
sed -i 's/startup=0/startup=1/g' monit
|
|
|
|
grep -q "include /etc/monit/conf.d" /etc/monit/monitrc
|
|
RETVAL=$?
|
|
if [ $RETVAL -ne 0 ] ; then
|
|
mkdir -p /etc/monit/conf.d
|
|
echo "include /etc/monit/conf.d/*" >> /etc/monit/monitrc
|
|
fi
|
|
|
|
# Run Airtime Install
|
|
echo "----------------------------------------------------"
|
|
echo "5. Run Airtime Install"
|
|
echo "----------------------------------------------------"
|
|
cd $SCRIPTPATH/../../install_minimal
|
|
./airtime-install
|