offset=10
name=dfid08

app=confluence
version=2.8.2

#app=jira
#version=3.12.3

public=67.221.226.160
timezone=Europe/Dublin
minheap=256m
maxheap=1024m
dbpass=1ziczowFWWjc

prefix=ehsp
domain=on$app.com

### No need to look past this point ###

if [[ $app == "confluence" ]]; then
  ext=conf
  mod=proxy_ajp
  container=tomcat
else
  ext=$app
  mod=caucho
  container=resin
fi

port="500$offset"
uid=4$offset
private=127.0.0.1$offset
host=$name
user=$prefix-$name-$ext
site=$host.$domain

timezone=`echo $timezone | sed "s/\//|/"`
useradd -u $uid $user

echo -e "$private\t\tj2ee.$site" >> /etc/hosts

cd /var/www/domains/$domain
rsync -a TEMPLATE/ $host/
cd $host/ssl
mv TEMPLATE.$domain.crt $site.crt
mv TEMPLATE.$domain.key $site.key

cd /etc/httpd/vhosts.d
cp -a TEMPLATE.conf.OFF $site.conf
cp -a TEMPLATE-ssl.conf.OFF $site-ssl.conf
sed -i "s/<HOST>/$host/g; s/<DOMAIN>/$domain/g; s/<IP_ADDRESS>/$public/" $site.conf
sed -i "s/<HOST>/$host/g; s/<DOMAIN>/$domain/g; s/<IP_ADDRESS>/$public/" $site-ssl.conf
cd includes
cp -a TEMPLATE.conf.mod_$mod $site.conf.mod_$mod
ln -s $site.conf.mod_$mod $site.conf
sed -i "s/<HOST>/$host/g; s/<DOMAIN>/$domain/g;" $site.conf.mod_$mod

cd /opt/j2ee/domains/$domain
rsync -a TEMPLATE.$version/ $host/
chown -Rh $user:$user $host
cd $host/$container/conf

if [[ $container == "resin" ]]; then
  sed -i "s/<HOST>/$host/g; s/<DOMAIN>/$domain/g; s/<USER>/$user/g; s/<PASSWORD>/$dbpass/" resin.conf
elif [[ $container == "tomcat" ]]; then
  sed -i "s/<PORT>/$port/g; s/<HOST>/$host/g; s/<DOMAIN>/$domain/g; s/<USER>/$user/g; s/<PASSWORD>/$dbpass/" server.xml
  cd Catalina/localhost
  sed -i "s/<HOST>/$host/g; s/<DOMAIN>/$domain/g; s/<USER>/$user/g; s/<PASSWORD>/$dbpass/" ROOT.xml
  cd ../..
fi

if [[ $app == "confluence" ]]; then
  cd ../../webapps/atlassian-$app/deployments/current/exploded_war/WEB-INF/classes/
  sed -i "s/<HOST>/$host/g; s/<DOMAIN>/$domain/g" confluence-init.properties
  cd ../../../../..
fi

cd ../..
echo "$minheap" > service/env/MIN_HEAP
echo "$maxheap" > service/env/MAX_HEAP
echo "$host" > service/env/HOST
sed -i "s/<TIMEZONE>/$timezone/; s/|/\//" service/env/JAVA_OPTS
./fixPermissions.sh service $user

cd /service
ln -s /opt/j2ee/domains/$domain/$host/service j2ee_$site

sleep 5
svstat /service/j2ee_$site

echo "apachectl -t output:"
apachectl -t
echo "Reload Apache, confirm its state, and finish setup at http://$site/ or https://$site/"
echo "Add the following to primary.$domain DNS file on ns1.contegix.com:"
echo "+$site:$public:3600"

