#!/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