#!/bin/bash
# bedoeld om een verkeerd SSLcertificaat te installeren om de site te testen
# $domain-ssl.conf wordt vervwijderd door "cert".
# zoekitem: certbot

# vraag om username als niet op commandline
echo
if test "$1" = ""; then
  read -p "Username: " user
else
  user=$1
  echo "Username: $user"
fi
if test "$user" = ""; then
  echo geen username.
  exit
fi

# vraag om domeinnaam
read -p "Domain: " domain

# test of vhost al bestaat
OUTPUT=/etc/apache2/sites-available/$domain-ssl.conf
if test -e $OUTPUT; then echo "Vhost bestaat al, gestopt!"; exit; fi

# test of username wel bestaat
if test "$(id -u $user 2>/dev/null)" = ""; then
   echo "user $user bestaat niet, ik stop"
   exit 1
fi

echo "<VirtualHost *:443>"        >> $OUTPUT
echo "       Servername $domain"              >> $OUTPUT
echo "       ServerAlias www.$domain"         >> $OUTPUT
echo "       ServerAdmin webmaster@$domain"   >> $OUTPUT
echo "       DocumentRoot /home/$user/www"    >> $OUTPUT
echo "       ErrorLog /home/$user/log/error.log" >> $OUTPUT
echo "       CustomLog /home/$user/log/access.log combined" >> $OUTPUT
echo "       ServerSignature Off"             >> $OUTPUT
echo "       <IfModule mpm_itk_module>"       >> $OUTPUT
echo "             AssignUserId $user www-data"  >> $OUTPUT
echo "       </IfModule>"                     >> $OUTPUT
echo "       <Directory /home/$user/www>"     >> $OUTPUT
echo "         AllowOverride all"             >> $OUTPUT
echo "         Require all granted"           >> $OUTPUT
echo "       </Directory>"                    >> $OUTPUT
echo "       php_value post_max_size 20M"     >> $OUTPUT
echo "       php_value upload_max_filesize 20M" >> $OUTPUT
echo ""                                         >> $OUTPUT
echo "       <Directory /usr/lib/cgi-bin>"      >> $OUTPUT
echo "         AuthType Basic"                  >> $OUTPUT
echo "         AuthName 'Toegang tot statistieken.'"   >> $OUTPUT
echo "          AuthBasicProvider external"     >> $OUTPUT
echo "          AuthExternal pwauth"            >> $OUTPUT
echo "          Require user $user"             >> $OUTPUT
echo "       </Directory>"                      >> $OUTPUT
echo "       AddExternalAuth pwauth /usr/sbin/pwauth"  >> $OUTPUT
echo "       SetExternalAuthMethod pwauth pipe"        >> $OUTPUT
echo "" >> $OUTPUT
echo "Include /etc/letsencrypt/options-ssl-apache.conf" >> $OUTPUT
echo "SSLCertificateFile /etc/letsencrypt/live/ftp.vandervlis.nl/fullchain.pem" >> $OUTPUT
echo "SSLCertificateKeyFile /etc/letsencrypt/live/ftp.vandervlis.nl/privkey.pem" >> $OUTPUT
echo ""                                         >> $OUTPUT
echo "</VirtualHost>"                           >> $OUTPUT

a2ensite $domain-ssl
/etc/init.d/apache2 reload


