#!/bin/bash -ex
install()
{
    DEBIAN_FRONTEND=noninteractive apt-get -y \
        -o DPkg::Options::=--force-confdef \
        -o DPkg::Options::=--force-confold \
        install $@
}

cleanup_apt()
{
    rm -r /var/cache/apt/*
    mkdir /var/cache/apt/archives
    mkdir /var/cache/apt/archives/partial
}


# Set Hostname
HOSTNAME=bacula
echo "$HOSTNAME" > /etc/hostname
sed -i "s|127.0.1.1 \(.*\)|127.0.1.1 $HOSTNAME|" /etc/hosts
hostname bacula

#Update package information
apt-get update

# Install required packages
install mysql-server zendframework php5-gd bacula-console php5-mysql webmin-bacula-backup
install bacula-server

#Download webacula web interface
cd /usr/src
wget -O webacula.tar.gz http://sourceforge.net/projects/webacula/files/webacula/5.0.2/webacula-5.0.2.tar.gz/download
tar xzf webacula.tar.gz -C /var/www/ 
mv /var/www/webacula-5.0.2/ /var/www/webacula

#Install webacula
/var/www/webacula/install/webacula_mysql_create_database.sh
/var/www/webacula/install/webacula_mysql_make_tables.sh     
ln -s /usr/share/php/Zend/ /var/www/webacula/library/
usermod -aG bacula www-data
sed -i "s/max_execution_time = 30/max_execution_time = 600/" /etc/php5/apache2/php.ini
sed -i "s|/usr/bin/sudo||" /var/www/webacula/application/config.ini
sed -i "s|/sbin/bconsole|/usr/bin/bconsole|" /var/www/webacula/application/config.ini

# Enable apache modules
a2enmod rewrite ssl
a2ensite default-ssl

# Create a password for /webacula
htpasswd -c -b /etc/apache2/webacula.users admin turnkey

# Stop mysql and apache2
service mysql stop
service apache2 stop

# Clean apt cache and sources
rm -f /usr/src/webacula.tar.gz
cleanup_apt
