#!/bin/sh
# -----------------------------------------------------------------------------
#  Module activation script
#  Note: should be started as root !
# -----------------------------------------------------------------------------
# env APL_ROLE=MASTER|NODE


chown $APL_HTTPD_USR:$APL_HTTPD_GRP "$APL_CONF/master/nodes/*" 2>/dev/null

# === APL actions ===

# Pid files
rm -f   $APL/var/pids/*
mkdir -p $APL/var/pids
chown $APL_USR:$APL_HTTPD_GRP $APL/var/pids
chmod 750 $APL/var/pids


# Support Files
mkdir -p $APL/var/sf
mkdir -p $APL/var/sf/master
mkdir -p $APL/var/sf/node
mkdir -p $APL/var/sf/tmp
mkdir -p $APL/var/sf/tmp/master
mkdir -p $APL/var/sf/tmp/node
chown $APL_USR:$APL_HTTPD_GRP $APL/var/sf $APL/var/sf/{master,node,tmp} $APL/var/sf/tmp/{master,node}
chmod g+rwx $APL/var/sf $APL/var/sf/{master,node,tmp} $APL/var/sf/tmp/{master,node}


# Backup/restore
mkdir -p $APL/var/backup
mkdir -p $APL/var/backup/node
mkdir -p $APL/var/backup/master
chown $APL_USR:$APL_HTTPD_GRP $APL/var/backup $APL/var/backup/{master,node}
chmod g+rwx $APL/var/backup $APL/var/backup/{master,node}

# Probe daemon temporary files
rm -rf $APL/var/probe
mkdir -p $APL/var/probe
mkdir -p $APL/var/probe/image
mkdir -p $APL/var/probe/log
mkdir -p $APL/var/probe/queue
mkdir -p $APL/var/probe/stage
mkdir -p $APL/var/probe/avatar_queue
chown -R $APL_USR:$APL_HTTPD_GRP $APL/var/probe
chmod -R 750 $APL/var/probe
chmod 770 $APL/var/probe/queue
chmod 770 $APL/var/probe/avatar_queue
chmod 770 $APL/var/probe/stage
# All new files in probe dirs should have 'apache' group. Set SGID bit on them
chmod g+s $APL/var/probe/image $APL/var/probe/log $APL/var/probe/queue $APL/var/probe/stage

# Directory for keys and certificates
mkdir -p $APL/var/conf/.keys
chmod -R 750 $APL/var/conf/.keys
chown -R $APL_USR:$APL_HTTPD_GRP $APL/var/conf/.keys
mkdir -p $APL/var/conf/certificate
chmod -R 770 $APL/var/conf/certificate
chown -R $APL_USR:$APL_HTTPD_GRP $APL/var/conf/certificate

# Directory for SMS
mkdir -p $APL/var/sms
mkdir -p $APL/var/sms/out
chown -R $APL_USR:$APL_HTTPD_GRP $APL/var/sms/
chmod 770 $APL/var/sms/ $APL/var/sms/out

# Node UNI
mkdir -p     $APL/var/conf/node
chown $APL_USR:$APL_HTTPD_GRP $APL/var/conf/node
chmod 770 $APL/var/conf/node
[ -f $APL/var/conf/node/conf ] || {
  echo UNI=`$APL/conf/bin/uni-gen` >$APL/var/conf/node/conf
}
chown $APL_USR:$APL_HTTPD_GRP $APL/var/conf/node/conf
chmod 640 $APL/var/conf/node/conf


# Master Node-registry
mkdir -p     $APL/var/conf/master/nodes
chown $APL_USR:$APL_HTTPD_GRP $APL/var/conf/master $APL/var/conf/master/nodes
chmod  g+rx  $APL/var/conf/master
chmod  g+rwx $APL/var/conf/master/nodes
if [ "$APL_ROLE" = MASTER ]; then
  echo > $APL/var/conf/master/s_master
  chmod  640 $APL/var/conf/master/s_master
  chown  $APL_USR:$APL_HTTPD_GRP $APL/var/conf/master/s_master
else
  rm -f $APL/var/conf/master/s_master
fi

# Avatar configuration
mkdir $APL_VAR/conf/av
mkdir $APL_VAR/conf/av/deleted
chown $APL_USR:$APL_HTTPD_GRP $APL_VAR/conf/av $APL_VAR/conf/av/deleted
chmod 750 $APL_VAR/conf/av $APL_VAR/conf/av/deleted

# configure cron for auto backup creation
su $APL_USR -c "$APL/conf/bin/config_auto_backup.pl"

# VAE activate
su $APL_USR -lc $APL/conf/bin/conf_sync_vae_dirs.pl

# Generate private key
KEY_LENGTH=512
[ -f $APL/var/conf/.keys/privatekey.pem ] || su $APL_USR -c "openssl genrsa -out $APL/var/conf/.keys/privatekey.pem ${KEY_LENGTH}"


cp $APL/conf/etc/va-conf-apache.inc $HTTPD_DIRS

exit 0
