#!/bin/bash

LMSURL=http://download.v-smart.pl/lms/lms-1.11.13.tar.gz
#LMSURL=http://download.v-smart.pl/lms/lms-1.11.12.tar.gz
#LMSURL=http://download.v-smart.pl/lms/lms-1.11.11.tar.gz

clear

echo -e "\n*** This script will install your router. Press Enter ***"; read;
echo -e "*** Installing required packets. Press Enter ***"; read;

rm -f /etc/apt/sources.list
wget http://download.v-smart.pl/v-smart-2.0/sources.list --directory-prefix=/etc/apt

# installing packets
apt-get update -y && apt-get dist-upgrade -y
apt-get install mc bzip2 psmisc nmap iptraf htop sudo fping zip unzip ssh -y
apt-get install apache2 libapache2-mod-php5 php5 php5-cli php5-gd php5-mysql php5-mcrypt mysql-server mysql-client phpmyadmin php-pear php-mail l7-protocols -y
apt-get install build-essential wajig -y
apt-get install postfix dhcp3-server bind9 -y
apt-get install firmware-linux -y
apt-get autoremove -y

# removing from /usr/src/v-smart.pl and others
rm -frd /usr/src/v-smart.pl
rm -frd /var/www/*

echo -e "\n*** Enter mysql root user password: "; read MYSQLROOTPW;

echo -e "\n*** Downloading packages. Press Enter ***"; read;

# downloading packages

mkdir -p /usr/src/v-smart.pl
wget http://download.v-smart.pl/v-smart-2.1/i386/iproute_2.6.34-1_i386.deb --directory-prefix=/usr/src/v-smart.pl
wget http://download.v-smart.pl/v-smart-2.1/i386/iptables_1.4.8-1_i386.deb --directory-prefix=/usr/src/v-smart.pl
wget http://download.v-smart.pl/v-smart-2.1/i386/linux-headers-2.6.34-v-smart.pl_1_i386.deb --directory-prefix=/usr/src/v-smart.pl
wget http://download.v-smart.pl/v-smart-2.1/i386/linux-image-2.6.34-v-smart.pl_1_i386.deb --directory-prefix=/usr/src/v-smart.pl
wget http://download.v-smart.pl/v-smart-2.1/i386/ppp_2.4.3-v-smart.pl_i386.deb --directory-prefix=/usr/src/v-smart.pl
wget http://download.v-smart.pl/v-smart-2.1/i386/pppoe_3.10-v-smart.pl_i386.deb --directory-prefix=/usr/src/v-smart.pl
wget http://download.v-smart.pl/v-smart-2.1/i386/pptpd_1.3.4-v-smart.pl_i386.deb --directory-prefix=/usr/src/v-smart.pl
wget ${LMSURL} --directory-prefix=/usr/src/v-smart.pl
wget http://download.v-smart.pl/v-smart-2.1/router-vsmart-2.1-en.tar.gz --directory-prefix=/usr/src/v-smart.pl
wget http://www.speedtest.pl/app/speedmini.zip --directory-prefix=/usr/src/v-smart.pl

echo -e "\n*** Installing packages. Press Enter ***"; read;

# installing
dpkg -i /usr/src/v-smart.pl/*.deb

# unpacking
tar -xpf /usr/src/v-smart.pl/router-vsmart-2.1-en.tar.gz --directory=/
unzip /usr/src/v-smart.pl/speedmini.zip -d /var/www
mv /var/www/speedmini /var/www/speedtest

# unpacking and configuring LMS
tar -xf /usr/src/v-smart.pl/`basename ${LMSURL}` --directory=/tmp
cp -r /tmp/lms/* /var/www
rm -frd /tmp/lms
mkdir -p /etc/lms
cp /var/www/sample/lms.ini /etc/lms
chown www-data.www-data /var/www/templates_c
chmod 755 /var/www/templates_c
chown www-data.www-data /var/www/backups
chmod 755 /var/www/backups
chown www-data.www-data /var/www/documents
chmod 755 /var/www/documents
chown www-data.www-data /var/www/userpanel/templates_c
chmod 755 /var/www/userpanel/templates_c
LMSPWD=`< /dev/urandom tr -cd '[:alnum:]' | fold -w 8 | head -n 1`
mysql -uroot -p${MYSQLROOTPW} <<EOFMYSQL
    DROP DATABASE IF EXISTS lms;
    DELETE FROM mysql.user WHERE User='lms';
    CREATE DATABASE lms CHARACTER SET utf8 COLLATE utf8_general_ci;
    GRANT USAGE ON lms.* TO lms@localhost;
    GRANT ALL ON lms.* TO lms@localhost IDENTIFIED BY '${LMSPWD}';
    flush privileges;
    use lms;
    source /var/www/doc/lms.mysql;
    source /var/v-smart/misc/lms-vsmart-en.mysql;
    source /var/v-smart/misc/triggers.mysql;
    INSERT INTO nastypes SET id=1000000, name='APC';    
EOFMYSQL
sed -e "s/\[database\]/\[database\]\n\nuser = lms\npassword = ${LMSPWD}\ndatabase = lms/g" /etc/lms/lms.ini > /tmp/lms.ini
mv /tmp/lms.ini /etc/lms/lms.ini
sed -e "s/\[directories\]/\[directories\]\n\nsys_dir = \/var\/www\/\nuserpanel_dir = \/var\/www\/userpanel\//g" /etc/lms/lms.ini > /tmp/lms.ini
mv /tmp/lms.ini /etc/lms/lms.ini
sed -e "s/\[dhcp\]/\[dhcp\]\n\nconfig_file = \/etc\/dhcp\/dhcpd.conf/g" /etc/lms/lms.ini > /tmp/lms.ini
mv /tmp/lms.ini /etc/lms/lms.ini
sed -e "s/\[fping\]/\[fping\]\n\nfping_binary = \/usr\/bin\/fping/g" /etc/lms/lms.ini > /tmp/lms.ini
mv /tmp/lms.ini /etc/lms/lms.ini
sed -e "s/\[traffic-logiptables\]/\[traffic-logiptables\]\n\noutfile = \/var\/v-smart\/bin\/rc.stat\nwan_interfaces = eth0/g" /etc/lms/lms.ini > /tmp/lms.ini
mv /tmp/lms.ini /etc/lms/lms.ini

# hold packets
wajig hold iptables iproute ppp pppoe pptpd linux-image-2.6.34-v-smart.pl linux-headers-2.6.34-v-smart.pl

# corrections
rm -f /etc/rc*.d/*dhcp*
rm -f /etc/rc*.d/*bind9
rm -f /etc/rc*.d/*pptpd

echo -e "\n*** Compiling LMS daemon. Press Enter ***"; read;

# compiling
cc -o /var/v-smart/daemon/_daemon/vsmart-lmsd /var/v-smart/daemon/_source/vsmart-lmsd.c

# machine reboot
echo -e "*** That is all. Let's do reboot. Press Enter. ***"; read; reboot;
