#!/bin/bash
set -e
ACTION=$1
USER=$2
WEBSITE=$3
USERROOT=/home
WEBROOT=/var/www
LOGROOT=/var/log/apache
WEBALIZER_OPTIONS="-q"
function webdir() { echo $1/VIRTUAL/$2; }
function userwebdir() { echo $1/$2/web_$3; }
#function logdir() { echo ${LOGROOT}/${WEBSITE}; }
#function logfiles() { $(ls -r $LOGDIR/*-access*.gz) $(ls -r $LOGDIR/access*.??.gz) $(ls -r $LOGDIR/access*.?.gz) $(ls -r $LOGDIR/access*.?); }
function logfiles() { ls $1/$2/????.??.??; }
function host() { cat $1/VIRTUAL/$2/hostname || exit 1; }
function domain() { cat $1/VIRTUAL/$2/domainname || exit 1; }
function thishost() { cat /etc/mailhost; }
# The above can be overridden in /etc/local/www
. /etc/local/www || exit 1
function apache_virtualhost() {
echo "\
ServerName $WEBSITE
ServerAdmin $USER@$(thishost)
DocumentRoot $(userwebdir ${USERROOT} ${USERID} ${WEBSITE})
user $USER
group $USER
" > /etc/apache/virtual/$WEBSITE
}
test "x$WEBSITE" = "x" && $ACTION=""
case "$ACTION" in
add)
echo "Adding web user $USER: "
adduser $USER || exit 1
mkdir $(userwebdir ${USERROOT} ${USERID} ${WEBSITE})
user-init $USER
$(apache_virtualhost)
;;
attach)
echo "Attaching website to existing user $USER: "
mkdir $(userwebdir ${USERROOT} ${USERID} ${WEBSITE})
user-init $USER
$(apache_virtualhost)
;;
*)
echo "Usage:"
echo "Adding a new user:"
echo " $(basename $0) add "
echo
echo "Attaching a website to an existing user:"
echo " $(basename $0) attach "
exit 1
;;
esac
exit 0