#!/bin/sh

if [ $# != 1 ]; then
	echo
	echo usage: deploy_iws path
	echo
	echo path - directory where to deploy Servertec Internet Server.
	exit 1
fi

if [ -d "/etc/opt/$1" ]; then
	echo
	echo Directory already exists: /etc/opt/$1
	exit 2
fi

if [ -d "/var/log/$1" ]; then
	echo
	echo Directory already exists: /var/log/$1
	exit 2
fi

if [ -d "/opt/$1" ]; then
	echo
	echo Directory already exists: /opt/$1
	exit 2
fi

if [ -d "/var/opt/$1" ]; then
	echo
	echo Directory already exists: /var/opt/$1
	exit 2
fi

if [ -d "/var/tmp/$1" ]; then
	echo
	echo Directory already exists: /var/tmp/$1
	exit 2
fi

__IWS_DIR__=/iws
__JAVA_EXE__=java

if [ ! -f "$__IWS_DIR__/bin/linux/deploy_iws" ]; then
	echo
	echo Servertec Internet Server installation was not found: $__IWS_DIR__
	exit 3
fi

mkdir -p /etc/opt/$1/config
mkdir -p /var/log/$1/logs
mkdir -p /opt/$1/bin
mkdir -p /opt/$1/classes
mkdir -p /var/opt/$1/wwwroot
mkdir -p /var/opt/$1/cgi-bin
mkdir -p /var/opt/$1/wwwroot/images
mkdir -p /var/opt/$1/databases
mkdir -p /var/opt/$1/docs
mkdir -p /var/opt/$1/docs/images
mkdir -p /var/opt/$1/templates
mkdir -p /var/opt/$1/admin
mkdir -p /var/tmp/$1/contexts
mkdir -p /var/tmp/$1/archives

chmod -R g+w /etc/opt/$1
chmod -R g+w /var/log/$1
chmod -R g+w /var/opt/$1
chmod -R g+w /var/tmp/$1

cp $__IWS_DIR__/deploy/config/* /etc/opt/$1/config/.
cp $__IWS_DIR__/bin/linux/* /opt/$1/bin/.
cp $__IWS_DIR__/classes/* /opt/$1/classes/.
cp $__IWS_DIR__/deploy/wwwroot/* /var/opt/$1/wwwroot/.
cp $__IWS_DIR__/deploy/wwwroot/images/* /var/opt/$1/wwwroot/images/.
cp $__IWS_DIR__/deploy/databases/* /var/opt/$1/databases/.
cp $__IWS_DIR__/deploy/docs/* /var/opt/$1/docs/.
cp $__IWS_DIR__/deploy/docs/images/* /var/opt/$1/docs/images/.
cp $__IWS_DIR__/templates/* /var/opt/$1/templates/.
cp $__IWS_DIR__/admin/* /var/opt/$1/admin/.
cp $__IWS_DIR__/deploy/archives/* /var/tmp/$1/archives/.

$__JAVA_EXE__ -classpath $__IWS_DIR__/classes:$CLASSPATH set_ini /etc/opt/$1/config/hosts.ini "*=/var/opt/$1/wwwroot"
$__JAVA_EXE__ -classpath $__IWS_DIR__/classes:$CLASSPATH set_ini /etc/opt/$1/config/iws.ini "contextdir=/var/tmp/$1/contexts"
$__JAVA_EXE__ -classpath $__IWS_DIR__/classes:$CLASSPATH set_ini /etc/opt/$1/config/iws.ini "templatesdir=/var/opt/$1/templates"
$__JAVA_EXE__ -classpath $__IWS_DIR__/classes:$CLASSPATH set_ini /etc/opt/$1/config/logger.ini "service=stec.iws.FileLogger?basedir=/var/log/$1/logs&access_log_template=default&log_rollover_interval=weekly&interval=0&show_root_cause=y"
$__JAVA_EXE__ -classpath $__IWS_DIR__/classes:$CLASSPATH set_ini /etc/opt/$1/config/servlets.ini "#CgiServlet=stec.iws.CgiServlet?bindir=/var/opt/$1/cgi-bin&exec=/bin/sh"
$__JAVA_EXE__ -classpath $__IWS_DIR__/classes:$CLASSPATH set_ini /etc/opt/$1/config/servlets.ini "AdminServlet=stec.iws.admin.AdminServlet?tempdir=/var/tmp/$1/temp&archivesdir=/var/tmp/$1/archives&templatesdir=/var/opt/$1/admin&monitordir=/var/log/$1/logs"
$__JAVA_EXE__ -classpath $__IWS_DIR__/classes:$CLASSPATH set_ini /etc/opt/$1/config/keystore.ini "keystore_file=/etc/opt/$1/config/keystore.db"
$__JAVA_EXE__ -classpath $__IWS_DIR__/classes:$CLASSPATH set_ini /etc/opt/$1/config/aliases.ini "/docs=file:/var/opt/$1/docs"

exit 0
