From be2491b093b1f0ca430bede679ecbb670041e483 Mon Sep 17 00:00:00 2001 From: cassio Date: Tue, 2 Jul 2013 09:46:45 +0400 Subject: restructuring of boca's git --- tools/etc/icpc/installboca.sh | 190 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 190 insertions(+) create mode 100755 tools/etc/icpc/installboca.sh (limited to 'tools/etc/icpc/installboca.sh') diff --git a/tools/etc/icpc/installboca.sh b/tools/etc/icpc/installboca.sh new file mode 100755 index 0000000..55d8d18 --- /dev/null +++ b/tools/etc/icpc/installboca.sh @@ -0,0 +1,190 @@ +#!/bin/bash +if [ "`id -u`" != "0" ]; then + echo "Script must run as root" +fi + +di=`date +%s` +echo "===================================================" +echo "=================== obtaining BOCA ===============" +echo "===================================================" + +wget -O /tmp/.boca.tmp "http://www.ime.usp.br/~cassio/boca/boca.date.txt" +echo ">>>>>>>>>>" +echo ">>>>>>>>>> Downloading boca release `cat /tmp/.boca.tmp`" +echo ">>>>>>>>>>" + +if [ "$1" == "" ]; then +wget -O /tmp/.boca.tmp "http://www.ime.usp.br/~cassio/boca/bocaver.txt" +bocaver=`cat /tmp/.boca.tmp` +else +bocaver=$1 +fi + +if [ "$2" == "" ]; then +basedir=/var/www +else +if [ -d "$2" ]; then +basedir=$2 +else +echo "Directory $2 does not exist" +exit 1 +fi +fi + +OK=y +read -p "I will install boca at $basedir is it correct (otherwise, run this script as: $0 $bocaver to choose the place) [Y/n]? " OK +if [ "$OK" == "y" -o "$OK" == "Y" ]; then +echo "Install directory is $basedir" +else +echo "Aborted" +exit 1 +fi + +echo "Looking for BOCA version $bocaver from http://www.ime.usp.br/~cassio/boca/" +cd $basedir +rm -f boca-$bocaver.tgz +wget -O boca-$bocaver.tgz "http://www.ime.usp.br/~cassio/boca/download.php?filename=boca-$bocaver.tgz" +if [ "$?" != "0" -o ! -f boca-$bocaver.tgz ]; then + echo "ERROR downloading BOCA package version $bocaver. Aborting *****************" + exit 1 +fi +grep -qi "bad parameters" boca-$bocaver.tgz +if [ "$?" == "0" ]; then + echo "ERROR downloading BOCA package version $bocaver. Aborting *****************" + exit 1 +fi +echo "===========================================================" +echo "====================== BACKUPING OLD BOCA ===============" +echo "===========================================================" +if [ -d boca-$bocaver ]; then + mv boca-$bocaver boca-$bocaver.$di + echo "OLD BOCA FOLDER for version $bocaver saved as boca-$bocaver.$di" +fi + +echo "bocadir=$basedir/boca" > /etc/boca.conf +chmod 644 /etc/boca.conf + +echo "=====================================================" +echo "=================== EXTRACTING BOCA ===============" +echo "=====================================================" + +OK=x +conffile=boca/src/private/conf.php +if [ ! -f $conffile ]; then +conffile=boca-$bocaver.$di/src/private/conf.php +fi +if [ -f $conffile ]; then + echo "OLD CONFIG FILE EXISTS" + OK=x + while [ "$OK" != "y" -a "$OK" != "n" ]; do + OK=x + read -p "Do you want to keep the old private/conf.php file [y/n] (note that the old file might be incompatible with this version)? " OK + done + if [ "$OK" == "n" ]; then + echo "You probably need to update the new file boca-$bocaver/src/private/conf.php with the correct passwords - PLEASE CHECK IT - NOT DONE AUTOMATICALLY" + fi +else + echo "OLD Config file not found -- you must set up the new private/conf.php file properly" +fi + +apacheuser= +[ -r /etc/icpc/apacheuser ] && apacheuser=`cat /etc/icpc/apacheuser | sed 's/ \t\n//g'` +[ "$apacheuser" == "" ] && apacheuser=www-data +id -u $apacheuser >/dev/null 2>/dev/null +if [ $? != 0 ]; then + echo "User $apacheuser not found -- error to set permissions with chown/chmod" + apacheuser=root +fi + +tar xzf boca-$bocaver.tgz +chown -R root.$apacheuser boca-$bocaver/ +chmod -R g+rx,u+rwx boca-$bocaver/ + +chmod 600 boca-$bocaver/src/private/*.php +[ -f boca-$bocaver.$di/src/private/remotescores/otherservers ] && cp -f boca-$bocaver.$di/src/private/remotescores/otherservers boca-$bocaver/src/private/remotescores/otherservers +if [ "$OK" == "y" ]; then + cp -f $conffile boca-$bocaver/src/private/conf.php +fi +chmod 700 boca-$bocaver/tools/*.sh + +cat > boca-$bocaver/src/.htaccess < boca-$bocaver/tools/.htaccess < /etc/apache2/conf.d/boca < + AllowOverride Options AuthConfig Limit + Order Allow,Deny + Allow from all + AddDefaultCharset utf-8 + + + AllowOverride Options AuthConfig Limit + Deny from all + + + AllowOverride Options AuthConfig Limit + Deny from all + +Alias /boca $basedir/boca/src +EOF -- cgit v1.2.3