#!/bin/bash
HOSTNAME=""
SHOST=""
LOC=jsj
JSJSHARE="/usr/share/jsjinstalltools"
. /usr/share/jsjinstalltools/GetVersion
while [ $1"_" != _ ]; do
  case $1 in
	"-h")	HOSTNAME=$2; shift; shift;;
	"-s")	SHOST="s"; shift;;
	"-l")	LOC=$2; shift; shift;;
	*)	echo "call: $0 -h <hostname>";
		echo "         -l <location:jsj>";
		echo "         -s";
		exit 1;;
  esac
done
if [ -z $HOSTNAME ]; then
  echo call: $0 -h hostname
  exit 1
fi
case $LOC in
  jsj)          DOMAIN=botter.cc;;
  hsbhv)        DOMAIN=hs-bremerhaven.de;;
  hsb)          DOMAIN=fbw.hs-bremen.de;;
  bb)		DOMAIN=bremische-buergerschaft.de;;
  *)            echo Variante $VAR nicht vorgesehen, bitte prüfen!; exit;;
esac
echo $HOSTNAME
zypper -n in -l apache2 apache2-manual apache2-mod_php8 apache2-prefork apache2-utils phpMyAdmin
NEWHOSTS=$HOSTNAME
if [ ${SHOST}_ = s_ ]; then
  NEWHOSTS="$NEWHOSTS ${SHOST}${HOSTNAME}"
fi
for h in $NEWHOSTS; do
  mkdir -p /srv/www/$h/htdocs /srv/www/$h/cgi-bin
done
chmod 775 /srv/www/$HOSTNAME/*
chgrp www /srv/www/$HOSTNAME/*
if [ ${SHOST}_ = s_ ]; then
  if [ -f $JSJSHARE/nagiosok.html ]; then
    cp $JSJSHARE/nagiosok.html /srv/www/$SHOST$HOSTNAME/htdocs
  else
    echo no file nagiosok.html
    exit 1
  fi
fi
if [ ${VERSION_ID/./} -lt 130 ]; then
  TEMPFILE=$(mktemp /tmp/apache_listen.XXXXXXXXXX)
  sed -e 's/^#\(NameVirtualHost \*:80.*$\)/\1/' < /etc/apache2/listen.conf > $TEMPFILE
  mv $TEMPFILE /etc/apache2/listen.conf
  chmod 644 /etc/apache2/listen.conf
fi
if [ -f $JSJSHARE/vhost.conf -a -f $JSJSHARE/vhost-ssl.conf ]; then
  sed -e "s/HOSTNAME/$HOSTNAME/" -e "s/DOMAINNAME/$DOMAIN/" < $JSJSHARE/vhost-ssl.conf > /etc/apache2/vhosts.d/$HOSTNAME.conf
  cp $JSJSHARE/dhparam.pem /etc/ssl/
  cp $JSJSHARE/000-ssl-stapling.conf /etc/apache2/vhosts.d/
  if [ ${SHOST}_ = s_ ]; then
    sed -e "s/HOSTNAME/$SHOST$HOSTNAME/" -e "s/DOMAINNAME/$DOMAIN/" < $JSJSHARE/vhost.conf > /etc/apache2/vhosts.d/$SHOST$HOSTNAME.conf
  fi
  if [ ${VERSION_ID%%.*} -ge 13 ]; then
    sed -i -e '/^ *Order .*allow/ i\ \ \ \ \ \ \ \ Require all granted' \
           -e '/^ *Order .*allow/ d' \
           -e '/^ *\(Allow\|Deny\) from/ d' /etc/apache2/vhosts.d/$HOSTNAME.conf /etc/apache2/vhosts.d/$SHOST$HOSTNAME.conf
  fi
  /usr/sbin/a2enmod headers rewrite
else
  echo no file vhost.conf and vhost-ssl.conf
  exit 1
fi
if [ ${VERSION_ID/./} -ge 120 ]; then
  systemctl restart apache2.service
  systemctl enable apache2.service
else 
  rcapache2 restart
  insserv apache2
fi
sed -i -e 's/\/access_log/\/*access_log/' \
       -e 's/\/error_log/\/*error_log/' \
       -e 's/\/var\/log\/apache2\/\*-access_log //' \
       -e 's/\/var\/log\/apache2\/\*-error_log //' \
       -e '/maxage/ s/[0-9]+$/7/' \
       -e '/rotate/ s/[0-9]+$/7/' \
       -e '/rotate/ a\    daily' /etc/logrotate.d/apache2
