#!/bin/bash

home="/home/bodo/addweb"
if test $1 
then
	echo "The user $1 will be added."
        login=$1
else
	echo "Now we will create a new user."
	echo "Please enter the login of the user:"
	echo -n "Login: "
	read login
fi
while test -d /var/www/$login
	do 
		echo "The login "$login" is already in use, please enter another login."
		echo -n "Login: "
		read login
done

wert=`useradd -g ftpuser -d /var/www/$login -s /bin/ftp -m $login`
echo "$wert"

chown $login.www-data /var/www/$login
chmod 750 /var/www/$login
if test $login = "svn"
then
	mkdir -p /var/www/$login/domain/{cgi-bin,execute,html,temp,log,session,auth,public}	
else 
        mkdir -p /var/www/$login/domain/{cgi-bin,execute,html,temp,log,session}
fi
chmod 770 /var/www/$login/domain/temp
chmod 777 /var/www/$login/domain/session
chmod 700 /var/www/$login/domain/execute
chown -R $login.ftpuser /var/www/$login/*
mkdir /var/www/$login/conf
chown root:root /var/www/$login/conf

if test -d /var/www/php-fcgid-scripts
then
	echo "The directory /var/www/php-fcgid-scripts has already been created."
else
	mkdir /var/www/php-fcgid-scripts
        chown root:root /var/www/php-fcgid-scripts	
fi
mkdir /var/www/php-fcgid-scripts/$login
chown $login:ftpuser /var/www/php-fcgid-scripts/$login
cd /var/www/php-fcgid-scripts/$login

sed -e "s/default/$login/g" $home/default-php5-fcgi-starter > /var/www/php-fcgid-scripts/$login/php-fcgid-starter

chown $login:ftpuser /var/www/php-fcgid-scripts/$login/php-fcgid-starter
chmod 755 /var/www/php-fcgid-scripts/$login/php-fcgid-starter

wert=`chattr -V +i /var/www/php-fcgid-scripts/$login/php-fcgid-starter`
echo "$wert"

wert="N"
echo -n "Please make sure that the immutable bit has been set, please confirm (Y/N): "
read wert

if test $wert = "N"
	then
		exit 1
fi
echo "$wert"

sed -e "s/default/$login/g" $home/default-vhost.conf > /etc/apache2/sites-available/$login

echo "Please enter the default domain for this vHost:"
echo -n "Domain: "
read domain

sed -e "s/domain.tld/$domain/g" /etc/apache2/sites-available/$login > /tmp/tmp-vhost
if test -e /tmp/tmp-vhost
	then
		mv /tmp/tmp-vhost /etc/apache2/sites-available/$login
else
	echo "Could not create the temporary file."
fi

cd /etc/apache2/sites-enabled
if test -e /etc/apache2/sites-available/$login
	then
		ln -s ../sites-available/$login $login
else
	echo "An error occured and we where unable to create your vHost."
fi

cd /var/www/$login/conf
sed -e "s/my-default-val/$login/g" $home/php.ini > /var/www/$login/conf/php.ini

rm -rf /var/www/$login/.a*
rm -rf /var/www/$login/.b*
rm -rf /var/www/$login/.c*
rm -rf /var/www/$login/.e*
rm -rf /var/www/$login/e*
rm -rf /var/www/$login/.z*
rm -rf /var/www/$login/.p*

echo -n "Should a passwort for ftp access be created? (Y/N): "
read ok
if test $ok = "Y"
	then
		echo "Enter the new password for this user:"
		passwd $login
fi

echo -n "Create a phpinfo file to test the php installation? (Y/N): "
read ok
if test $ok = "Y"
        then
               cd /var/www/$login/domain/html
               touch index.php
               echo "<? phpinfo(); ?>" >> /var/www/$login/domain/html/index.php
               chown $login.ftpuser /var/www/$login/domain/html/index.php
        else
               touch /var/www/$login/domain/html/index.html 
fi

echo -n "Reload apache to apply the new settings? (Y/N): "
read ok
if test $ok = "Y"
	then
		/etc/init.d/apache2 reload
fi

exit 0

