From c81b7f986867db292d62a1757123723b5ef66518 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Wed, 12 Dec 2001 19:52:40 +0000 Subject: Initial revision --- webuser | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 webuser (limited to 'webuser') diff --git a/webuser b/webuser new file mode 100755 index 0000000..83f6c06 --- /dev/null +++ b/webuser @@ -0,0 +1,66 @@ +#!/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 -- cgit v1.2.3