#!/bin/sh

###################################################
# Bitte nehmen Sie hier einige Einstellungen vor :

DOWNLOAD_OPENERP_URL="http://openerp.com/download/stable/source/openerp-server-5.0.1-0.tar.gz"
FILENAME_OPENERP="openerp-server-5.0.1-0"	# muß der selbe datei name wie in der downloadurl sein nur ohne tar.gz und ohne der Pfadangabe
ERPUSER="erpuser"

BOOT_SCRIPT="/etc/init.d/openerp"
CONFFILE="/etc/openerp.conf"
####################################################
# Programm Start

echo "################################################################################"
echo "# Herunterladen von OpenErp"
echo "#"
sleep 2

wget "$DOWNLOAD_OPENERP_URL"

echo "################################################################################"
echo "# Installation der PostgreSQL Datenbank"
echo "#"
sleep 2

apt-get install postgresql

echo "################################################################################"
echo "# Ein Postgre Benutzer wird angelegt"
echo "# Sie werden nach einem neuen Passwort gefragt"
echo "# "
sleep 2

sudo -u postgres createuser --createdb --no-createrole --no-superuser --pwprompt "$ERPUSER"



echo "################################################################################"
echo "# Installation von benötigten Python Paketen"
echo "#"
sleep 2

apt-get install python python-psycopg2 python-reportlab \
     python-egenix-mxdatetime python-xml python-tz python-pychart \
     python-pydot python-lxml python-libxslt1 python-vobject python-imaging

echo "################################################################################"
echo "# Entpacken von open erp"
echo "#"
sleep 2

tar -xzf "$FILENAME_OPENERP.tar.gz"

echo "################################################################################"
echo "# Installieren open erp"
echo "#"
sleep 2

cd "$FILENAME_OPENERP"
python setup.py install
cd ..

echo "################################################################################"
echo "# Anlegen der Log und PID Verzeichnisse"
echo "#"
sleep 2

mkdir /var/run/openerp
chown "$ERPUSER":"$ERPUSER" /var/run/openerp
chmod 700 /var/run/openerp
mkdir /var/log/openerp
chown "$ERPUSER":"$ERPUSER" /var/log/openerp
chmod 700 /var/log/openerp

echo "################################################################################"
echo "# Anlegen des Bootscriptes"
echo "#"
sleep 2
echo '#!/bin/sh' > "$BOOT_SCRIPT"
echo 'NAME=openerp-server' >> "$BOOT_SCRIPT"
echo 'DESC="openERP server"' >> "$BOOT_SCRIPT"
echo 'DAEMON=/usr/bin/openerp-server' >> "$BOOT_SCRIPT"
echo 'OPTIONS=$OPENERP_OPTIONS' >> "$BOOT_SCRIPT"
echo 'PIDDIR=/var/run/openerp' >> "$BOOT_SCRIPT"
echo 'PIDFILE=$PIDDIR/openerp.pid' >> "$BOOT_SCRIPT"
echo 'LOGDIR=/var/log/openerp' >> "$BOOT_SCRIPT"
echo 'LOGFILE=$LOGDIR/openerp.log' >> "$BOOT_SCRIPT"
echo "CONFFILE=$CONFFILE" >> "$BOOT_SCRIPT"
echo "ERPUSER=$ERPUSER" >> "$BOOT_SCRIPT"
echo "ERPGRP=$ERPUSER" >> "$BOOT_SCRIPT"
echo '' >> "$BOOT_SCRIPT"
echo '[ -n "$OPTIONS" ] || OPTIONS="-c $CONFFILE --pidfile=$PIDFILE --logfile=$LOGFILE"' >> "$BOOT_SCRIPT"
echo '' >> "$BOOT_SCRIPT"
echo 'test -x "$DAEMON" || exit 0' >> "$BOOT_SCRIPT"
echo '' >> "$BOOT_SCRIPT"
echo '. /lib/lsb/init-functions' >> "$BOOT_SCRIPT"
echo '' >> "$BOOT_SCRIPT"
echo 'case "$1" in' >> "$BOOT_SCRIPT"
echo '	start)' >> "$BOOT_SCRIPT"
echo '		log_daemon_msg "Starting OpenERP daemon"' >> "$BOOT_SCRIPT"
echo '		install -o $ERPUSER -g $ERPGRP -m 755 -d $LOGDIR' >> "$BOOT_SCRIPT"
echo '		install -o $ERPUSER -g $ERPGRP -m 755 -d $PIDDIR' >> "$BOOT_SCRIPT"
echo '		if ! start-stop-daemon -b -c $ERPUSER -g $ERPGRP --start --quiet --oknodo --exec $DAEMON -- $OPTIONS; then' >> "$BOOT_SCRIPT"
echo '			log_end_msg 1' >> "$BOOT_SCRIPT"
echo '			exit 1' >> "$BOOT_SCRIPT"
echo '		fi' >> "$BOOT_SCRIPT"
echo '		log_end_msg 0' >> "$BOOT_SCRIPT"
echo '		exit 0' >> "$BOOT_SCRIPT"
echo '		;;' >> "$BOOT_SCRIPT"
echo '	stop)' >> "$BOOT_SCRIPT"
echo '		log_daemon_msg "Stopping OpenERP daemon"' >> "$BOOT_SCRIPT"
echo '		start-stop-daemon --stop --quiet --pidfile $PIDFILE' >> "$BOOT_SCRIPT"
echo '		sleep 1' >> "$BOOT_SCRIPT"
echo '		if [ -f $PIDFILE ] && ! ps h `cat $PIDFILE` > /dev/null' >> "$BOOT_SCRIPT"
echo '		then' >> "$BOOT_SCRIPT"
echo '		    rm -f $PIDFILE' >> "$BOOT_SCRIPT"
echo '		fi' >> "$BOOT_SCRIPT"
echo '		log_end_msg 0' >> "$BOOT_SCRIPT"
echo '		;;' >> "$BOOT_SCRIPT"
echo '	restart)' >> "$BOOT_SCRIPT"
echo '		$0 stop' >> "$BOOT_SCRIPT"
echo '		sleep 1' >> "$BOOT_SCRIPT"
echo '		$0 start' >> "$BOOT_SCRIPT"
echo '		;;' >> "$BOOT_SCRIPT"
echo '	status)' >> "$BOOT_SCRIPT"
echo '		pidofproc -p $PIDFILE $DAEMON >/dev/null' >> "$BOOT_SCRIPT"
echo '		status=$?' >> "$BOOT_SCRIPT"
echo '		if [ $status -eq 0 ]; then' >> "$BOOT_SCRIPT"
echo '			log_success_msg "OpenERP is running"' >> "$BOOT_SCRIPT"
echo '		else' >> "$BOOT_SCRIPT"
echo '			log_failure_msg "OpenERP is not running"' >> "$BOOT_SCRIPT"
echo '		fi' >> "$BOOT_SCRIPT"
echo '		exit $status' >> "$BOOT_SCRIPT"
echo '		;;' >> "$BOOT_SCRIPT"
echo '	*)' >> "$BOOT_SCRIPT"
echo '		echo ""' >> "$BOOT_SCRIPT"
echo '		echo -e "Usage: [start|stop|restart|status]"' >> "$BOOT_SCRIPT"
echo '		echo ""' >> "$BOOT_SCRIPT"
echo '		exit 1 ;;' >> "$BOOT_SCRIPT"
echo 'esac' >> "$BOOT_SCRIPT"
echo 'exit 0' >> "$BOOT_SCRIPT"

chmod 700 "$BOOT_SCRIPT"

echo "################################################################################"
echo "# Anlegen der Konfigurationsdatei"
echo "#"
sleep 2

echo '[options]' > "$CONFFILE"
echo 'admin_passwd = admin' >> "$CONFFILE"
echo 'demo = {} ' >> "$CONFFILE"
echo 'without_demo = False' >> "$CONFFILE"
echo 'port = 8069' >> "$CONFFILE"
echo 'netport = 8070' >> "$CONFFILE"
echo 'netrpc = True' >> "$CONFFILE"
echo 'xmlrpc = True' >> "$CONFFILE"
echo 'cache_timeout = 100000' >> "$CONFFILE"
echo 'netinterface = ' >> "$CONFFILE"
echo 'soap = False ' >> "$CONFFILE"
echo 'secure = False' >> "$CONFFILE"
echo 'secure_pkey_file = server.pkey' >> "$CONFFILE"
echo 'stop_after_init = False' >> "$CONFFILE"
echo 'assert_exit_level = 30' >> "$CONFFILE"
echo 'syslog = False' >> "$CONFFILE"
echo '#pidfile = /var/run/openerp/openerp.pid' >> "$CONFFILE"
echo '#log_level = 20 ' >> "$CONFFILE"
echo 'import_partial =' >> "$CONFFILE"
echo 'reportgz = False' >> "$CONFFILE"
echo 'price_accuracy = 2' >> "$CONFFILE"
echo 'debug_mode = False' >> "$CONFFILE"
echo 'secure_cert_file = server.cert' >> "$CONFFILE"
echo 'interface = ' >> "$CONFFILE"
echo '#logfile = /var/log/openerp/openerp.log' >> "$CONFFILE"
echo 'csv_internal_sep = ,' >> "$CONFFILE"
echo 'pg_path = None' >> "$CONFFILE"
echo 'translate_modules = ['all']' >> "$CONFFILE"
echo '#db_port = False' >> "$CONFFILE"
echo "db_user = $ERPUSER" >> "$CONFFILE"
echo '#db_password = False' >> "$CONFFILE"
echo '#db_name = False' >> "$CONFFILE"
echo '#db_host = False' >> "$CONFFILE"
echo '#db_maxconn = 64' >> "$CONFFILE"
echo 'email_from = False' >> "$CONFFILE"
echo 'smtp_password = False' >> "$CONFFILE"
echo 'smtp_port = 25' >> "$CONFFILE"
echo 'smtp_server = False' >> "$CONFFILE"
echo 'smtp_user = False' >> "$CONFFILE"
echo 'root_path = /usr/lib/python2.5/site-packages/openerp-server' >> "$CONFFILE"
echo 'addons_path = /usr/lib/python2.5/site-packages/openerp-server/addons' >> "$CONFFILE" 

chmod 644 "$CONFFILE"


echo "################################################################################"
echo "# Löschen der Installations Dateien"
echo "#"
rm -f -R "$FILENAME_OPENERP"

echo "################################################################################"
echo "# FERTIG ! "
echo "#"
echo "# Starten Sie den erpserver mit dem Befehl : sudo /etc/init.d/openerp start"
echo "# Stoppen Sie den erpserver mit dem Befehl : sudo /etc/init.d/openerp stop"


